Attestations and the Ethereum Attestation Service
An attestation is an onchain record in which one account (the issuer) makes a structured claim — for example, “this address is a Citizen” or “this project applied to Retro Funding Round 6.” Attestations in the Collective are built on the Ethereum Attestation Service (“EAS”), an open-source public good that is included as a predeploy in the OP Stack. Every OP Stack chain ships with two EAS contracts at fixed addresses:- The EAS contract (
0x4200000000000000000000000000000000000021), where attestations are created and stored. - The SchemaRegistry contract (
0x4200000000000000000000000000000000000020), which holds the schemas that attestations are checked against.
Schemas give attestations structure
A schema defines the structure and type of data that an attestation can carry, and each schema has a unique identifier (UID). This is what makes attestations machine-readable rather than free-form claims: an application that wants to check Citizenship looks for attestations issued against the specific Citizen schema UID, and knows exactly which fields (such as the member’s Farcaster ID and selection method) it will find there. The full catalogue of schemas the Collective uses — with their UIDs, issuers, and field-by-field descriptions — is maintained in the EAS contracts and attestation schemas reference.Trust comes from the issuer, not the statement
Anyone can issue an attestation, so an attestation on its own proves only that someone made a claim. What makes an attestation meaningful is who issued it. Citizen attestations, for example, are only valid when issued by the Optimism Foundation, and the schema’s resolver contract enforces that check onchain. Other schemas document their expected issuer addresses so that consumers can verify them — several archived schemas explicitly remind readers to verify the attester address before trusting the record. This is the core design trade-off: rather than a closed registry that must be queried and trusted wholesale, the Collective publishes individually signed claims and lets every consumer verify the issuer for themselves.How the Collective uses attestations
Citizenship
Membership in the Citizens’ House is represented by Citizen attestations, first issued in Season 6. A Citizen attestation identifies the member (by Farcaster ID), records how they were selected, and — for chain and app Citizens — references the organization or project they represent. Citizenship is recorded separately from the ability to vote in any specific Retro Funding round. To learn who is eligible and how to register, see the governance FAQ.Projects and organizations
Projects and organizations in the Collective (as registered in OP Atlas) are identified by attestations: an identifier attestation acts as the project’s unique ID, and metadata attestations — re-issued each time something changes — associate names, categories, and metadata locations with it. This is how Retro Funding knows which project an application, approval, or reward belongs to.Retro Funding and grants
The Retro Funding lifecycle is recorded as a chain of attestations: applications to a round, approval or rejection decisions, voting badges for the round’s voters, and finally the reward amount each approved project received. Token House grant approvals and governance contributions (such as serving on the Grants Council) are attested in the same way.Proof of personhood
For end-user Citizens, the Collective relies on external proof-of-personhood systems — World ID and Passport — alongside attestations such as Gitcoin Passport scores. Until Sybil-resistance mechanisms are more mature, the Optimism Foundation may suspend Citizens flagged as possible Sybils and request further verification of unique personhood.Next steps
- Look up contract addresses, schema UIDs, and field definitions in the EAS contracts and attestation schemas reference.
- Read or issue attestations via EAS scan for OP Mainnet or the EAS SDK.
- Learn how the Token House and Citizens’ House use these identities in the governance FAQ.