A verifiable claim about any URI-addressable subject.
tid
Timestamp-based ID
Properties
aspect
string
Optional
The specific aspect being rated or assessed (e.g., quality, reliability, timeliness).
claimType
string
Required
Category of claim. Open vocabulary — common values include skill, credential, impact, endorsement, dispute, rating, review, membership, supersedes, revocation.
claimUri
string
uri
Optional
Persistent URI identity of this claim per the DIF Labs LinkedClaims spec. This is how other claims reference this one (by using this URI as their subject). May be an AT-URI if the claim originated on ATProto, or an HTTPS URL or other URI if it originated elsewhere. Must be a well-formed, persistent, dereferenceable URI.
confidence
string
Optional
Signer's confidence in this claim (0-1).
minimum: 0maximum: 1createdAt
string
datetime
Required
When this record was created.
effectiveDate
string
datetime
Optional
When the claim became/becomes true (may differ from createdAt).
embeddedProof
ref
#embeddedProof
Optional
For claims signed by external methods (MetaMask, aca-py, Digital Bazaar, etc.) before being published to ATProto. Preserves the original signer identity when the ATProto repo owner differs from the claim signer.
evidence
array
of
ref
#evidenceItem
Optional
Supporting materials provided to back up this claim — photos, videos, screenshots, documents, links. For example: source might be a Wikipedia article, evidence is the screenshot you took of it. Source might be you (first-hand), evidence is the video you recorded. Each item has a URI and optionally a content hash for integrity.
object
string
Optional
Optional object of the claim (e.g., skill name, credential type, rating category).
respondAt
string
uri
Optional
URI where endorsements, disputes, or other responses to this claim may be sent. Per the LinkedClaims spec, MAY behave like an ActivityPub inbox.
source
ref
#claimSource
Optional
Where this claim comes from — a person, a website, a document. For example: 'I saw this on Wikipedia' (source.uri = the Wikipedia URL), or 'My colleague told me' (source.uri = their DID, howKnown = SECOND_HAND). Source is not evidence — it's the origin of the information.
stars
integer
Optional
Star rating (for rating-type claims).
minimum: 1maximum: 5statement
string
Optional
Human-readable explanation of the claim.
maxLength: 10000 bytessubject
string
uri
Required
The entity this claim is about. Can be any URI: HTTPS URL, DID, AT-URI, IPFS CID, or another claim's claimUri (for claims-about-claims such as endorsements or disputes).
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"claimType",
"createdAt"
],
"properties": {
"stars": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Star rating (for rating-type claims)."
},
"aspect": {
"type": "string",
"description": "The specific aspect being rated or assessed (e.g., quality, reliability, timeliness)."
},
"object": {
"type": "string",
"description": "Optional object of the claim (e.g., skill name, credential type, rating category)."
},
"source": {
"ref": "#claimSource",
"type": "ref",
"description": "Where this claim comes from — a person, a website, a document. For example: 'I saw this on Wikipedia' (source.uri = the Wikipedia URL), or 'My colleague told me' (source.uri = their DID, howKnown = SECOND_HAND). Source is not evidence — it's the origin of the information."
},
"subject": {
"type": "string",
"format": "uri",
"description": "The entity this claim is about. Can be any URI: HTTPS URL, DID, AT-URI, IPFS CID, or another claim's claimUri (for claims-about-claims such as endorsements or disputes)."
},
"claimUri": {
"type": "string",
"format": "uri",
"description": "Persistent URI identity of this claim per the DIF Labs LinkedClaims spec. This is how other claims reference this one (by using this URI as their subject). May be an AT-URI if the claim originated on ATProto, or an HTTPS URL or other URI if it originated elsewhere. Must be a well-formed, persistent, dereferenceable URI."
},
"evidence": {
"type": "array",
"items": {
"ref": "#evidenceItem",
"type": "ref"
},
"description": "Supporting materials provided to back up this claim — photos, videos, screenshots, documents, links. For example: source might be a Wikipedia article, evidence is the screenshot you took of it. Source might be you (first-hand), evidence is the video you recorded. Each item has a URI and optionally a content hash for integrity."
},
"claimType": {
"type": "string",
"description": "Category of claim. Open vocabulary — common values include skill, credential, impact, endorsement, dispute, rating, review, membership, supersedes, revocation."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this record was created."
},
"respondAt": {
"type": "string",
"format": "uri",
"description": "URI where endorsements, disputes, or other responses to this claim may be sent. Per the LinkedClaims spec, MAY behave like an ActivityPub inbox."
},
"statement": {
"type": "string",
"maxLength": 10000,
"description": "Human-readable explanation of the claim."
},
"confidence": {
"type": "string",
"maximum": 1,
"minimum": 0,
"description": "Signer's confidence in this claim (0-1)."
},
"effectiveDate": {
"type": "string",
"format": "datetime",
"description": "When the claim became/becomes true (may differ from createdAt)."
},
"embeddedProof": {
"ref": "#embeddedProof",
"type": "ref",
"description": "For claims signed by external methods (MetaMask, aca-py, Digital Bazaar, etc.) before being published to ATProto. Preserves the original signer identity when the ATProto repo owner differs from the claim signer."
}
}
},
"description": "A verifiable claim about any URI-addressable subject."
}