Skip to main content

Query Attestations (EAS)

Live

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 42161 https://arbitrum.easscan.org/graphql
  • Celo 42220 https://celo.easscan.org/graphql
  • Sepolia 11155111 https://sepolia.easscan.org/graphql

Evaluator journey map

  1. 3
  2. 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

  1. Always pin chain and schema IDs together.
  2. Filter revoked attestations unless you need full history.
  3. 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