world.ptah.character

ptah.world

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "characterProperties": {
      "description": "Structured metadata for characters",
      "properties": {
        "abilities": {
          "maxGraphemes": 256,
          "maxLength": 2560,
          "type": "string"
        },
        "affiliation": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "age": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "role": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "species": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "A person, creature, or entity inside a world. Characters take actions, participate in events, and accumulate history.",
      "key": "tid",
      "record": {
        "properties": {
          "authorshipRecord": {
            "description": "The DID of the original author if different from creator",
            "format": "did",
            "type": "string"
          },
          "avatar": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "Avatar image for the character",
            "maxSize": 1000000,
            "type": "blob"
          },
          "canonicalStatus": {
            "description": "The canonical standing of this character",
            "knownValues": [
              "world.ptah.defs#canonicalStatusOfficial",
              "world.ptah.defs#canonicalStatusCommunity",
              "world.ptah.defs#canonicalStatusApocryphal"
            ],
            "type": "string"
          },
          "characterProperties": {
            "description": "Additional structured properties for this character",
            "ref": "#characterProperties",
            "type": "ref"
          },
          "controlType": {
            "description": "Who can act as this character — exclusive (creator only), open (anyone), or contested (multiple claimants)",
            "knownValues": [
              "exclusive",
              "open",
              "contested"
            ],
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp when this character was created",
            "format": "datetime",
            "type": "string"
          },
          "creatorDID": {
            "description": "The permanent identity of the character's creator",
            "format": "did",
            "type": "string"
          },
          "description": {
            "description": "Who this character is",
            "maxGraphemes": 1024,
            "maxLength": 10240,
            "type": "string"
          },
          "name": {
            "description": "The name of the character",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "originType": {
            "description": "The intellectual property status of this character",
            "knownValues": [
              "originalIP",
              "publicDomain",
              "collaborativeCommons"
            ],
            "type": "string"
          },
          "templateReference": {
            "description": "Reference to the template this character embodies (if any)",
            "format": "at-uri",
            "type": "string"
          },
          "worldReference": {
            "description": "Reference to the world this character inhabits",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "creatorDID",
          "worldReference",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "world.ptah.character",
  "lexicon": 1
}

Validate Record

Validate a record against world.ptah.character

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:l45z35sxxjuobp5q65a5vu22
CID
bafyreihdqaqizjjg7bvhmjr7b73ewfvz6cjr2xw426lnizfjspkcjlj7ae
Indexed At
2026-03-25 20:41 UTC
AT-URI
at://did:plc:l45z35sxxjuobp5q65a5vu22/com.atproto.lexicon.schema/world.ptah.character

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A character record in The Ptah Protocol. A person, creature, or entity that exists inside a specific world. The character is not the user — the character is the world's inhabitant.

  • A shared identity template that multiple characters can embody. The type, not the instance. Defines what something fundamentally is before any specific character performs it.

  • A role record in The Ptah Protocol. The template that sits between the World and the Character. A shared identity that multiple Character instances can embody. Hamlet is a Role — each performance of Hamlet is a Charac…

  • A character joining a world.

  • EXPERIMENTAL (unstable): schema may change without notice.

Lexicon Garden

@