← agentwallet.md

Coinbase Verifications

Identity Official
Best for: Agents needing verified human operator identity; KYC-gated DeFi; compliance-first applications
Not ideal for: Anonymous operations; non-Base chains (primarily Base); self-sovereign identity

Key Signals

Attestation Type
KYC-backed attestations
Chain
Base (EVM)
Standard
EAS-compatible
Pricing
Free for verified users

Features

KYC-Backed On-chain Attestations via EAS
Coinbase issues on-chain attestations via the Ethereum Attestation Service for users who have completed KYC on Coinbase. The attestation proves that the holder is a verified real person, bridging Web2 identity verification with on-chain credentials.
🆔
"Verified Account" and "Verified Country" Schemas
Two pre-built schemas: "cbVerifiedAccount" confirms the address belongs to a KYC-verified Coinbase user, "cbVerifiedCountry" confirms the user's verified country of residence. Smart contracts can gate access to these specific schemas.
🔵
Base-Native
Deployed primarily on Base, Coinbase's L2 network. Attestations are cheap to check (near-zero gas on Base) and integrate naturally with other Base-native DeFi protocols. Also available on Ethereum mainnet for cross-chain use cases.
💸
Free for Verified Coinbase Users
Any Coinbase user who has completed KYC can claim their on-chain verification for free. Agent operators can direct their users to claim attestations as part of onboarding, enabling KYC-gated agent features without building custom identity infrastructure.

Ratings

KYC Trust Level
4.9
Ease for End Users
4.5
Decentralization
3.0
Chain Coverage
2.8
Ratings based on documentation review, GitHub activity, and public developer reports. Not independently verified in production.

Integration

npm install @ethereum-attestation-service/eas-sdk ethers import { EAS } from '@ethereum-attestation-service/eas-sdk'; import { ethers } from 'ethers'; // Coinbase Verifications schema UIDs on Base const CB_VERIFIED_ACCOUNT = '0xf8b05c79f090979bf4a80270aba232dff11a10d9ba197aca2d398d3f941b9907'; const CB_VERIFIED_COUNTRY = '0x1801901fabd0e6189356b4fb52bb0ab855276d84f7ec140839checkpoints'; const EAS_BASE_ADDRESS = '0x4200000000000000000000000000000000000021'; const eas = new EAS(EAS_BASE_ADDRESS); const provider = new ethers.JsonRpcProvider('https://mainnet.base.org'); // Check if an agent operator's wallet has Coinbase verification async function isVerifiedCoinbaseUser(walletAddress) { const attestations = await eas.getAttestations({ schema: CB_VERIFIED_ACCOUNT, recipient: walletAddress, revoked: false, }); return attestations.length > 0; } const operatorAddress = '0xOPERATOR_WALLET'; const verified = await isVerifiedCoinbaseUser(operatorAddress); console.log(`Operator KYC verified: ${verified}`); // Gate agent features based on verification status

Alternatives

World ID
Anonymous personhood — proves unique human without KYC, preserves more privacy
EAS
Custom attestations — build your own verification schemas instead of using Coinbase's
Privy
Off-chain identity — embedded wallet + auth for user-facing apps without on-chain attestations