Attestations

Overview

Attestations are statements made by an issuer about a subject. The subject can be an EVM address, or a DID, or an IPFS hash, or even another attestation.
Examples of attestations could include:
  • Owner of address 0xbabe1999… has completed a course on Solidity
  • Contract at address 0x666bea5f… is a malicious erc-20 token
  • Owner of address 0xd00daa… is a human being (i.e. not a bot)
  • Owner of address 0xdeadbeef… is a member of DimSumDAO
  • Attestation 0x1435 is a valid/invalid attestation
  • Attestation 0x2877 is a "like" for content stored at 0xa1b2c3d4…
  • Owner of address 0x1facedf00dba11… attended event 0xf00dba11…
Attestations are created through things called "portals" that make sure the attestations are consistent with the logic of a specific domain.
Attestations are created following "schemas", which describe the structure of the attestation data, i.e. the various fields and their respective data types.
Attestations can be linked together to form complex graphs of attestations. Anyone can create a link between attestations, and attestations themselves can have attestations. This allows for deriving complex reputation scores, which grow more factual the more data in the registry, resulting in a hyper-scale signal-to-noise ratio.

Attestation Metadata

Attestations have various metadata recorded besides the raw attestation data itself. A description of this metadata is listed in the table below:
Property
Datatype
Description
attestationId
bytes32
The unique identifier of the attestation
schemaId
bytes32
The identifier of the schema this attestation adheres to
replacedBy
uint256
The attestation ID that replaces this attestation
attester
address
The address issuing the attestation to the subject
portal
address
The address of the portal that created the attestation
attestedDate
uint64
The date the attestation is issued
expirationDate
uint64
The expiration date of the attestation
revocationDate
uint64
The date when the attestation was revoked
version
uint16
Version of the registry when the attestation was created
revoked
bool
Whether the attestation is revoked or not
subject
bytes
The ID of the attestee e.g. an EVM address, DID, URL etc.
attestationData
bytes
The raw attestation data
When reading attestations directly from the registry, you need the attestation ID. The attestation data that is returned from the registry in an array of bytes, which can be decoded using the schema string, which can be retrieved with the schema ID in the attestation metadata.
The next section describes schemas, what they are, and how they are used.