Live JSON:
https://info.grudge-studio.com/api/v1/ — not GitHub Pages, not api.grudge-studio.com.UUID families
| Family | Format | Owns | Catalog / mint |
|---|---|---|---|
| Account | GRUDGE_… | SSO, bag, wallet, island | Railway · id.grudge-studio.com |
| Character | RFC UUID | Play handoff only | ?characterId=&era= |
| Hero stamp | GRDG-… | Display — not PK | characters.grudge_code |
| Item instance | server grudge_uuid | Unique gear | ledger / /api/uuid/* |
| Skill definition | SKIL-XXXX-XXXX-XXXX | Catalog skill | sha1(grudge-skill:{id}) · master-weaponSkills.json |
| Icon asset | ICON-XXXX-XXXX-XXXX | PNG on R2 | sha1(grudge-asset:{r2Key}) · icon-path-index.json |
Weapon skills
SSOT: master-weaponSkills.json. Browse: WEAPON_SKILLS.html. Each skill has grudgeUuid, iconUuid, iconUrl on CDN, prefab.animationClip as {pack}/{role} on Bip001. Do not invent skill rows.
Icons
SSOT: icon-registry.json (~9,724). Resolver: grudgeSDK.resolveIconUrl(). CDN: assets.grudge-studio.com/game-assets/icons/….
APIs
| Need | Host |
|---|---|
| Definitions JSON | info.grudge-studio.com/api/v1 |
| D1 asset index | objectstore.grudge-studio.com/v1/assets |
| Binaries | assets.grudge-studio.com |
| Player / bag / heroes | Railway via same-origin /api/* + Grudge ID JWT |
Machine copies: uuid-law.json · account-game-uuid-contract.json · Markdown: API-AND-UUID-GUIDE.md · WIKI-HOME.md