Developer Docs

Build pets for OpenPets.

Package format

Use .openpet, a JSON manifest that defines pet identity, creator metadata, personality, required asset states, and fairness rules.

Required states

Every package needs icon, preview, idle, happy, hungry, sleeping, and levelUp states.

Fair marketplace

Templates can be sold. XP, level, streak, and growth history cannot be transferred or purchased.

{
  "format": "openpet",
  "version": 1,
  "template": {
    "name": "Moon Sprite",
    "species": "sprite",
    "creatorName": "Example Creator",
    "priceCents": 499,
    "rarity": "uncommon",
    "personality": "soft, curious, concise",
    "assetStates": ["icon", "preview", "idle", "happy", "hungry", "sleeping", "levelUp"]
  },
  "assets": {
    "idle": "assets/idle.riv"
  },
  "fairness": "Template only. No XP transfer."
}
  1. 1. CreateDesign identity, states, personality, and license.
  2. 2. ValidateRun openpetctl locally against your .openpet file.
  3. 3. UploadSubmit on the creator form for marketplace review.
  4. 4. SellApproved packages can be bought and downloaded by users.