Coinbase Verifications are the largest source of on-chain KYC credentials. Over 20 million users have completed Coinbase identity verification, and those credentials are stored on Base as EAS (Ethereum Attestation Service) attestations. InsumerAPI now verifies these attestations with a single API call, using pre-configured compliance templates that abstract away schema IDs, attester addresses, and indexer contracts.

What are EAS attestations?

EAS (Ethereum Attestation Service) is an open protocol for making on-chain statements about anything. An attestation is a signed record that says: a specific address (the attester) is asserting a specific claim (the schema) about a specific recipient (the wallet). Attestations are stored on-chain and can be verified by anyone.

Each attestation references a schema that defines the structure of the credential. The attester is the entity making the assertion. The recipient is the wallet the claim is about. Attestations can also carry an expiry time and a revocation flag, which allows issuers to invalidate credentials after they are issued.

EAS is currently deployed on six chains: Ethereum mainnet, Base, Optimism, Arbitrum, Polygon, and Avalanche. Any entity can publish a schema and issue attestations. What matters for trust is the attester address.

Coinbase Verifications on Base

Coinbase issues KYC attestations on Base using EAS. When a user completes identity verification through Coinbase, Coinbase's attester address issues an attestation to that user's linked wallet. The attestation is on-chain, publicly verifiable, and does not require contacting Coinbase to confirm.

Coinbase publishes three schemas on Base:

Coinbase maintains its own indexer contract on Base that tracks these attestations. Querying the indexer is significantly more efficient than scanning EAS directly. These three schemas collectively represent the largest deployed source of on-chain identity credentials for EVM wallets.

Compliance templates

Verifying an EAS attestation directly requires knowing the schema ID, the attester address, the indexer contract address, and the chain ID. For Coinbase Verifications, these are fixed and publicly documented, but they still add friction to every integration.

InsumerAPI ships with three pre-configured compliance templates that pre-fill all of these parameters:

To list all available templates and their underlying parameters, call the discovery endpoint:

GET /v1/compliance/templates

The response returns each template name, a description, the resolved schema ID, attester address, indexer contract, and chain ID. This lets you inspect exactly what each template maps to before using it.

One API call

To verify that a wallet holds a valid Coinbase KYC credential, pass the template name in a standard POST /v1/attest request:

POST /v1/attest
X-API-Key: your_api_key

{
  "wallet": "0x1234...abcd",
  "conditions": [
    {
      "type": "eas_attestation",
      "template": "coinbase_verified_account",
      "label": "Coinbase KYC verified"
    }
  ]
}

The response is a standard InsumerAPI attestation with ECDSA signature:

{
  "ok": true,
  "data": {
    "attestation": {
      "id": "ATST-B9A2D6E7F8C01234",
      "pass": true,
      "results": [
        {
          "condition": 0,
          "label": "Coinbase KYC verified",
          "type": "eas_attestation",
          "chainId": 8453,
          "met": true,
          "evaluatedCondition": {
            "type": "eas_attestation",
            "chainId": 8453,
            "schemaId": "0xf8b05c...",
            "operator": "valid"
          },
          "conditionHash": "0x7d2f...",
          "blockNumber": "0x1a2b3c",
          "blockTimestamp": "2026-02-27T10:00:00.000Z"
        }
      ],
      "passCount": 1,
      "failCount": 0,
      "attestedAt": "2026-02-27T10:00:00.000Z",
      "expiresAt": "2026-02-27T10:30:00.000Z"
    },
    "sig": "base64-ecdsa-signature",
    "kid": "insumer-attest-v1"
  },
  "meta": { "creditsRemaining": 99, "creditsCharged": 1, "version": "1.0", "timestamp": "2026-02-27T10:00:01.000Z" }
}

The result costs 1 credit ($0.04). No personal data from the Coinbase KYC process touches the API. The API reads the on-chain attestation record only. met: true means the credential exists, is valid, and passes all four checks described below.

What gets verified

For every eas_attestation condition, the API runs four checks against the on-chain record:

All four checks must pass for met: true. If any check fails, the result is met: false with no additional data about which check failed. The response does not reveal wallet holdings, personal data, or the raw contents of the attestation record.

Raw schemas for custom providers

Templates are optional. If you are working with a credential provider other than Coinbase, or a custom schema you have deployed yourself, you can pass the raw parameters directly:

{
  "type": "eas_attestation",
  "schemaId": "0xabcd...",
  "attester": "0x1234...",
  "indexer": "0x5678...",
  "chainId": 8453,
  "label": "Custom KYC credential"
}

This works with any EAS-compatible credential on any of the six supported chains: Ethereum, Base, Optimism, Arbitrum, Polygon, and Avalanche. Gitcoin Passport attestations, Worldcoin credentials, custom compliance schemas, and any other EAS-based credential issued by a known attester can be verified the same way.

The same four checks (recipient, revocation, expiry, attester) apply regardless of whether you use a template or raw parameters.

Use cases

EAS attestation verification is most useful when you need to confirm a real-world identity property about a wallet without handling personal data yourself:

Agent SDK support

All four agent SDKs support the eas_attestation condition type and the compliance templates endpoint:

Full SDK documentation and code examples are at /developers/compliance.

Getting started

Three steps to verify your first Coinbase attestation:

  1. Get a free API key at /developers/#pricing. Instant provisioning, no credit card required.
  2. List available compliance templates with GET /v1/compliance/templates to see the full set of pre-configured schemas.
  3. Call POST /v1/attest with your wallet address and template: "coinbase_verified_account". Receive a signed result in under a second.

Verify KYC credentials. Reveal nothing else.

Try compliance gating now

Get a free API key and verify your first Coinbase attestation in under a minute. No credit card required.

Get Your Free API Key