{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "The account's fund.at declaration. Create to join the ecosystem, delete to leave. A backfill service can enumerate all participants by scanning for this record.",
      "key": "literal:self",
      "record": {
        "properties": {
          "createdAt": {
            "description": "When this declaration was created or last updated.",
            "format": "datetime",
            "type": "string"
          },
          "entityType": {
            "description": "What kind of entity this account represents. Maps to funding.json entity.type.",
            "knownValues": [
              "individual",
              "group",
              "collective",
              "organisation",
              "other"
            ],
            "maxLength": 32,
            "type": "string"
          },
          "role": {
            "description": "The account's role relative to the projects it stewards. Maps to funding.json entity.role.",
            "knownValues": [
              "owner",
              "steward",
              "maintainer",
              "contributor",
              "sponsor",
              "other"
            ],
            "maxLength": 32,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Signaling record indicating this account participates in the fund.at funding ecosystem. Its existence is the signal — all fields are optional enrichment. Maps to funding.json entity.type and entity.role.",
  "id": "fund.at.actor.declaration",
  "lexicon": 1
}
