Menu

AI Agent Wallet Auth API

One API call reads token balances, NFT ownership, or on-chain credentials across 33 blockchains. Returns an ECDSA-signed credential. No RPC management. No ABI encoding. No Web3 libraries.

Why AI agents need on-chain verification

AI agents that interact with wallets need to answer simple questions. Does this wallet hold a specific token? Does it own a particular NFT? Has it completed a compliance attestation? These are boolean questions, but getting answers today requires managing RPC connections, ABI encoding, and chain-specific quirks across dozens of networks.

Raw balance APIs also expose too much. If a commerce agent only needs to know whether a customer holds 100 USDC, it shouldn't learn they hold 47,000. Privacy-preserving verification returns a signed yes or no—nothing more.

Then there's the infrastructure. 33 blockchains means 32 sets of RPC endpoints, rate limits, and failure modes. EVM chains use different RPC providers. Solana uses a completely different protocol. XRPL uses yet another. Nobody building an AI agent wants to maintain all of that.

How the on-chain attestation API works

1

Send conditions

POST to /v1/attest with a wallet address and one or more conditions (token balance, NFT, EAS, Farcaster).

2

We check on-chain

The API queries the relevant blockchain directly. No indexer dependency. No stale data.

3

Receive signed result

Get an ECDSA P-256 signed attestation with a boolean result. Verify it with our JWKS endpoint.

Your Agent
POST /v1/attest
Chain Router
33 blockchains
On-Chain Read
Balance / NFT / EAS
ECDSA Sign
P-256 signature
Signed Boolean
true + sig + kid
curl — POST /v1/attest
curl -X POST https://api.insumermodel.com/v1/attest \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "conditions": [{
      "type": "token_balance",
      "contractAddress": "0xA0b8...eB48",
      "chainId": 1,
      "threshold": 1000,
      "decimals": 6
    }]
  }'
Response
{
  "ok": true,
  "data": {
    "attestation": {
      "id": "ATST-7F2A9E3B1C8D4056",
      "pass": true,
      "results": [{
        "type": "token_balance",
        "met": true,
        "chainId": 1
      }]
    },
    "sig": "MEUCIQDx...base64...",
    "kid": "insumer-attest-v1"
  }
}

Token balances, NFTs, EAS, Farcaster, and World Chain

💰

Token Balances

ERC-20, SPL, and XRPL trust line tokens. Check if a wallet meets a threshold without revealing the actual balance.

🖼

NFT Ownership

ERC-721, ERC-1155, Solana NFTs, and XRPL NFTokens. Verify ownership of a specific collection or individual token.

EAS Attestations

Ethereum Attestation Service credentials on Base, Arbitrum, and Optimism. Check schema-based attestations.

📣

Farcaster Identity

Verify whether a wallet has a registered Farcaster ID using the IdRegistry contract on Optimism. Returns a boolean for social identity gating.

🌍

World Chain

Verify WLD token holdings and on-chain activity on World Chain (chainId 480). Identity-adjacent verification for the proof-of-personhood ecosystem.

All verification types return the same signed boolean format. Full documentation →

Cross-chain verification across 33 blockchains

Every chain uses the same POST /v1/attest interface. Pass a chainId and the API handles routing, RPC selection, and error recovery.

EVM — 26 chains

Ethereum, BNB Chain, Base, Avalanche, Polygon, Arbitrum, Optimism, Chiliz, Soneium, Plume, World Chain, Sonic, Gnosis, Mantle, Scroll, Linea, ZKsync, Blast, Celo, Moonbeam, opBNB, Unichain, Ink, Sei, Berachain, ApeChain. Lowest latency, real-time reads.

Additional EVM — 4 chains

Taiko, Ronin, Moonriver, Viction.

Solana — 1 chain

SPL token balances, Metaplex NFTs, and compressed NFTs. Native integration, not bridged.

XRPL — 1 chain

Native XRP, trust line tokens (RLUSD, USDC), and NFTokens. Try the live XRPL demo →

ECDSA signatures and Merkle proofs

Every attestation is signed with ECDSA P-256. The signing key is published at /.well-known/jwks.json and via the GET /v1/jwks endpoint (24-hour cache). Any party can verify a signature independently using the insumer-verify npm package or any ECDSA library.

For higher assurance, add proof: "merkle" to your attestation request. This returns an EIP-1186 Merkle storage proof anchored to a specific block hash, making the attestation independently verifiable against the blockchain state trie. Merkle proofs are available on 26 of 30 EVM chains. Verification docs →

The attestation format aligns with emerging standards including KCP RFC-0004 (attestation_url) and the ERC-8004 proposed standard for on-chain attestation URLs, ensuring forward compatibility as the ecosystem formalizes credential exchange between AI agents.

Wallet trust profiles for agent decisions

A single attestation answers one question. A trust profile answers many. POST /v1/trust runs 26 to 29 checks across stablecoins, governance tokens, NFTs, and staking positions to produce a multi-dimensional wallet trust fact profile. Each dimension is scored independently, and the entire profile is ECDSA-signed.

Four base dimensions—stablecoins, governance, NFTs, and staking—extend to six when Solana and XRPL wallets are included. Batch up to 10 wallets in a single call with POST /v1/trust/batch for 5–8x faster throughput with shared block fetches.

Trust profiles are the input layer for agent-to-agent trust decisions, credit scoring, and compliance workflows. Trust profile documentation →

Condition-based commerce via ACP & UCP

Attestations alone prove facts. Commerce protocols turn those facts into actions. The Agent Commerce Protocol (ACP) lets AI agents request discount codes on behalf of users by submitting a wallet attestation. The User Commerce Protocol (UCP) does the same for direct user interactions.

Both protocols call POST /v1/acp/discount or POST /v1/ucp/discount with a wallet and merchant ID. The API verifies token holdings, checks merchant-defined tiers, and returns a discount code. The merchant never sees the wallet balance—only that the condition was met.

This is condition-based commerce without the merchant needing any blockchain infrastructure. Commerce documentation →

On-chain verification use cases

Every use case below runs through the same POST /v1/attest endpoint. The API handles the chain-specific logic.

AI Agent Wallet Risk

Before an AI agent transacts with another agent or wallet, it calls POST /v1/trust to evaluate stablecoin holdings, governance participation, and staking positions. The trust profile becomes the decision input for whether to proceed.

Token-Gated Commerce

A merchant configures token tiers. When a customer (or their AI agent) presents a wallet, the API checks holdings and returns a discount code. The merchant never sees the wallet balance—only the tier the customer qualifies for.

XRPL Trust Line Verification

Verify RLUSD, USDC, or native XRP holdings on the XRP Ledger. The API reads trust lines and account balances directly from XRPL nodes. Try the live demo →

Multi-Chain Attestation

Check conditions across multiple chains in a single API call. A verification that checks USDC on Ethereum, an NFT on Base, and a token on Solana is one request, not three. Results are signed together.

Credential Gating

Use EAS attestations on Base, Arbitrum, or Optimism to gate access to services. Verify that a wallet holds a specific schema-based credential without querying the attestation service directly.

World Chain Identity Signals

Verify WLD token holdings on World Chain to add proof-of-personhood-adjacent signals to agent trust decisions. An agent holding WLD on chainId 480 has likely interacted with the Worldcoin identity ecosystem.

Developer Platform Onboarding

AI agents buy their own API key by sending USDC to the platform wallet and calling POST /v1/keys/buy with the transaction hash—no email or prior authentication needed. The sender wallet becomes the key’s identity. Alternatively, agents can use the free key creation endpoint for 10 starter credits. Onboarding docs →

Self-Sustaining Loop

When credits run low, the agent calls POST /v1/credits/buy with a USDC transaction hash. Credits are added instantly. No human approval, no subscription renewal, no dashboard. The agent discovers, acquires access, operates, refuels, and continues indefinitely. That closed loop is what makes it autonomous infrastructure, not just an API. Full lifecycle →

MCP, LangChain, GPT, and REST

MCP Server

Claude Desktop, Cursor, Windsurf. Install via npx.

npm →

LangChain

Python toolkit for LangChain agents. pip install.

PyPI →

OpenAI GPT

Custom GPT with 26 actions. Import the spec.

Setup guide →

REST API

26 endpoints. Any language, any framework.

OpenAPI spec →

Explore how all 26 endpoints connect in the API Topology →

Case studies

Coinbase x402 Ecosystem

DJD Agent Score: AI agent wallet trust on Base

DJD Agent Score uses the Insumer trust profile endpoint to evaluate AI agent wallets on Base. When one agent needs to decide whether to transact with another, it calls POST /v1/trust to get a signed multi-dimensional wallet assessment—stablecoin holdings, governance participation, NFT ownership, and staking positions.

The architecture targets the Coinbase x402 payment protocol, where agents pay for services with USDC and need trust signals before committing funds.

Read the architecture pattern →

ERC-8183 Agentic Commerce

AsterPay KYA: Know Your Agent trust scoring

AsterPay wired InsumerAPI into their KYA Hook for ERC-8183 agentic commerce. One POST /v1/attest call evaluates 4 conditions—USDC balance, Coinbase KYC, country verification, and Gitcoin Passport score—feeding into a 7-component trust score without manual review.

JWT responses are verified via ES256 signatures and JWKS. Agents with all conditions met can reach Enterprise tier (up to 85/100 points). Contracts deployed on Base Sepolia.

Read the full case study →

Independent attestation signature verification

Every API response includes a sig field (ECDSA P-256 signature) and a kid (key identifier). To verify an attestation independently:

  1. Fetch the public key from /.well-known/jwks.json or the GET /v1/jwks endpoint
  2. Match the kid in the response to the key in the JWKS
  3. Verify the signature over the attestation payload using any ECDSA library

The insumer-verify npm package wraps this in a single function call. No callback to the API is needed. The verification is self-contained and works offline.

Frequently asked questions

What does the AI Agent Verification API return?

The API returns an ECDSA P-256 signed boolean. It checks whether a wallet meets one or more conditions—token balance threshold, NFT ownership, EAS attestation, Farcaster identity—and returns true or false without exposing the actual balance or holdings.

How many blockchains does InsumerAPI support?

InsumerAPI supports 33 blockchains: 30 EVM chains (including Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, and 23 more), Solana (SPL tokens and NFTs), and XRPL (native XRP, trust line tokens like RLUSD and USDC, and NFTokens).

How do I verify an attestation signature?

Every attestation includes an ECDSA P-256 signature and a key ID (kid). Fetch the public key from /.well-known/jwks.json or GET /v1/jwks, then verify the signature using the insumer-verify npm package or any ECDSA library. No callback to the API is required.

What is a Merkle storage proof?

Adding proof: "merkle" to an attestation request returns an EIP-1186 Merkle storage proof anchored to a specific block hash. This makes the attestation independently verifiable against the blockchain state trie without trusting the API. Merkle proofs are available on 26 of 30 EVM chains and cost 2 credits instead of 1.

Why use signed attestations instead of raw RPC calls?

Raw RPC calls expose the full balance, require chain-specific ABI encoding, and produce no verifiable proof that the check was performed correctly. A signed attestation returns only a boolean (privacy-preserving), works identically across 33 chains (no per-chain code), and includes a cryptographic signature that any downstream system can verify independently.

Is the API privacy-preserving?

Yes. The API returns true or false—whether the condition was met or not. It never exposes the actual token balance, NFT inventory, or transaction history. A commerce agent learns "this wallet qualifies for 15% off," not "this wallet holds 47,000 USDC." This is privacy by design at the protocol level.

Can AI agents create their own API keys?

Yes. An AI agent can buy its own API key autonomously by sending USDC to the platform wallet and calling POST /v1/keys/buy with the transaction hash. No email or prior authentication needed—the sender wallet becomes the key’s identity. Alternatively, agents can call POST /v1/keys/create with an email for a free key with 10 credits. The entire lifecycle—key purchase, verification, and credit top-up—is programmatic with no human intervention required.

Start verifying

Free tier includes 10 credits. One attestation costs 1 credit. Get your API key and make your first call in under a minute.