equipment.rpg.item

rpg.actor

{
  "id": "equipment.rpg.item",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "item",
          "title",
          "give",
          "provider",
          "acceptedAt"
        ],
        "properties": {
          "give": {
            "type": "string",
            "format": "at-uri",
            "description": "AT URI of the equipment.rpg.give record on the provider's PDS."
          },
          "icon": {
            "type": "blob",
            "accept": [
              "image/png"
            ],
            "description": "Small standalone icon for the item (e.g. 64x64 PNG). Used in inventory displays and profile panels."
          },
          "item": {
            "type": "string",
            "maxLength": 50,
            "description": "Item identifier matching the give record (e.g. 'popcorn', 'theatre_shirt')."
          },
          "kind": {
            "type": "string",
            "maxLength": 20,
            "description": "Item kind. 'layer' for sprite-generator wearables, 'inventory' for non-wearable items like keys or potions. Defaults to 'layer' if omitted."
          },
          "asset": {
            "type": "blob",
            "accept": [
              "image/png"
            ],
            "description": "The item's sprite layer artwork (144x192 PNG). Required for 'layer' items, optional for 'inventory' items."
          },
          "stats": {
            "type": "object",
            "description": "Item properties copied from the give record at acceptance time."
          },
          "title": {
            "type": "string",
            "maxLength": 100,
            "description": "Display name for the item."
          },
          "context": {
            "type": "string",
            "maxLength": 200,
            "description": "Origin description copied from the give record."
          },
          "assetCid": {
            "type": "string",
            "maxLength": 200,
            "description": "CID of the canonical asset or icon blob. Must match the give record's assetCid for verification."
          },
          "category": {
            "type": "string",
            "maxLength": 30,
            "description": "Generator layer category for 'layer' items (e.g. 'tops', 'righthand'). Ignored for 'inventory' items."
          },
          "provider": {
            "type": "string",
            "format": "did",
            "description": "DID of the provider who gave this item."
          },
          "acceptedAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the player accepted this item."
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "description": "Flavour text or description."
          }
        }
      },
      "description": "An item in the player's inventory. Self-contained with all data needed for rendering and display. The give URI and assetCid enable verification against the provider's attestation. Each record is one item."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A player's owned item, accepted from a provider's give record. Lives on the player's PDS."
}

Validate Record

Validate a record against equipment.rpg.item

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:kwgllf365cwmxbnxitx4pjdj
CID
bafyreie44w7flzo6qdfm6ufhzo7icqedy64pjcdlyaxb2e3rwvskuv5tve
Indexed At
2026-04-06 03:50 UTC
AT-URI
at://did:plc:kwgllf365cwmxbnxitx4pjdj/com.atproto.lexicon.schema/equipment.rpg.item

Lexicon Garden

@