Query Attestations (EAS)
When to use this page
Use this guide when you need to query attestations from EAS for work submissions and work approvals.
EAS GraphQL endpoints
-
Arbitrum
42161https://arbitrum.easscan.org/graphql -
Celo
42220https://celo.easscan.org/graphql -
Sepolia
11155111https://sepolia.easscan.org/graphql
Evaluator journey map
- ✓
- ✓
- 3
- 4
Work attestations
Endpoint: https://arbitrum.easscan.org/graphql
query WorkSubmissions($schemaId: String!, $recipient: String!) {
attestations(
where: {
schemaId: { equals: $schemaId }
recipient: { equals: $recipient }
revoked: { equals: false }
}
orderBy: { timeCreated: desc }
) {
id
attester
recipient
timeCreated
decodedDataJson
}
}Variables
{
"schemaId": "<workSchemaUID from deployments/{chain}-latest.json>",
"recipient": "0xGardenAccountAddress"
}Work approval attestations
Endpoint: https://arbitrum.easscan.org/graphql
query WorkApprovals($schemaId: String!, $recipient: String!) {
attestations(
where: {
schemaId: { equals: $schemaId }
recipient: { equals: $recipient }
revoked: { equals: false }
}
orderBy: { timeCreated: desc }
) {
id
attester
recipient
refUID
timeCreated
decodedDataJson
}
}Variables
{
"schemaId": "<workApprovalSchemaUID from deployments/{chain}-latest.json>",
"recipient": "0xGardenAccountAddress"
}Query hygiene
- Always pin chain and schema IDs together.
- Filter revoked attestations unless you need full history.
- Keep work and approval datasets separate until join stage.
Pick the right EAS query
If: You need raw submission evidence
Do: Query work schema IDs first.
Then: Use IDs as candidates for approval-chain validation.
If: You need evaluator-approved outcomes
Do: Query approval schema IDs and include `refUID`.
Then: Verify each approval points to an existing work UID.
Next best action
Validate linkage quality by proving work-to-approval chains.
Verify attestation chains