
Circle
liveThe settlement dollar, chain-abstracted.
USDC, Gateway unified balances, gasless Nanopayments and CCTP burn-and-mint, all live on this product today.
A verified on-chain identity and a bounded wallet for every AI agent.

Paste a wallet address or token id. We read the chain, not a database, and answer in a second.
Why now
The hard part is no longer making agents capable. It is letting them prove who they are and move money on their own, without handing over the keys to everything. That is the layer A-Identity builds.
Verify, then pay
An agent asks. We read its on-chain identity, its reputation and the limits you set, and answer before a single cent moves. Clean counterparties settle at machine speed. The rest stop here.
Settlement ledger
verify → pay · usdc
Research agentData API
KYA attested, reputation 720
$0.004
Settled · USDC on Arc
Your agentInference API
Auto-approved, under $5
$0.05
Settled · USDC on Arc
Scraper botYour agent
Sybil cluster flagged
$18.40
Refused · never funded
Translator #4471Verifier agent
Escrow release on delivery
$2.00
Settled · USDC on Arc
Your agentCompute vendor
Inside the daily cap
$1.20
Settled · Gateway + CCTP
Unknown agentYour agent
No on-chain identity
$240.00
Refused · never funded
The same verify-then-pay flow is available as an SDK and an MCP server. Put it in your own project.
What every agent gets
Two things an agent does not have today, and the one rule that ties them together.
KYA Verification Log
A verifiable identity
An ERC-8004 passport and a Know Your Agent check, so anyone can confirm who an agent is before trusting it with money or work.
Spend Policy
A wallet with limits
Spend caps, payee allowlists and a freeze switch, enforced on-chain. An agent can pay on its own, but never past the line you draw.
Risk Verdict
Verify-first payments
Before any transfer, a live check on the counterparty returns allow, warn, or deny. Unknown or flagged agents get denied, not funded.
The console
Caps, allowlists, session keys and a freeze switch, enforced outside the model and mirrored on-chain. This is the actual surface, not a mockup of one. Go on, pull the levers.
Designed for safety
An agent that can move money is only as safe as what stops it. Here is exactly what stops it, and how to check that we are telling the truth.
There is no endpoint that accepts a private key, a recovery phrase or brokerage credentials, because we never want to be the reason someone loses them. Funds stay in your own wallet or account.
A cap you set is checked by the server before anything moves, again by your on-chain vault (an over-limit payment reverts on Arc, whoever signs it), and again by Circle at the wallet layer. Any one of them can refuse.
Anything above the auto-approve line waits for a person. The agent can work at machine speed inside the line you drew and cannot argue its way past it, because the rules are checked outside the model.
This endpoint runs the real policy engine on request and answers 503 if it is not enforcing. You do not have to take our word for whether the guardrails are up.
What we are careful to say
A-Identity runs as a trust oracle on OKX.AI, selling per-call checks that settle in real stablecoins on X Layer mainnet. Every number here is on-chain.
Every settlement, on-chain
USD₮0 · X Layer mainnet
Traction
Agents ask, the oracle answers, and the counters below are exactly what the engine has counted so far. Zeros included, because a number you cannot reproduce is worth less than one you can.
Counters live from /api/traction. The motion is illustrative; the boundary is not.
A-Identity does not reinvent settlement. It runs on Circle and OKX, live today.
one chain-agnostic core, one adapter per chain
The stack
Everything an agent needs to be trusted with money, each piece open and each one live today. Click through for the reference.
Getting started
Humans get three steps. Agents get a command to paste. Pick whichever you are.
Create your on-chain agent identity via ERC-8004. One signature, no gas, no signup.
Prove the agent controls its wallet. No personal data exposed, attested on-chain.
Set the limits, assign the wallet. The agent pays and gets paid inside the line you drew.
For agents
This page is written to be read by machines as well as people. Ask an assistant about us, paste one instruction into your own agent, or read the files directly.
Each link opens the assistant with the question and this site's URL already in the box, so the answer comes from our own words.
It connects our MCP server and runs one real verification, so the first thing your agent does with us is check somebody.
Add A-Identity to my tools: connect the MCP server at https://a-identity.xyz/mcp, then verify agent 849980 and tell me its reputation score and verdict before I pay anything.
Before you let anything move money on your behalf.
No. We never hold a key, never move a dollar, and never place the order. Your agent asks whether an action is inside the limits you set, we answer allow, ask a human or no, and the account stays exactly where it was. That is not a promise we are asking you to trust, it is the shape of the product: there is no endpoint that accepts your brokerage credentials, because we never want to be the reason someone loses them.
The limits are not a prompt, so there is nothing to argue with. They are checked outside the model, and on every path that moves money rather than only on orders: a recurring buy, an account setting, money wired out, a cancelled protective position. That last part is where naive guardrails leak, because an agent blocked from buying can simply schedule the buy instead. A refusal cannot be overwritten, and attempts to overwrite one are counted rather than quietly rejected. Trading on borrowed money is not a setting we offer at all.
Nothing of ours can break a trade, because we are not in the execution path. When our own package cannot get a verdict it refuses to act rather than guessing, which is the safe direction to fail in. And you do not have to take our word for whether the engine is up: this endpoint runs the real engine on request and answers 503 if it is not enforcing. A monitor checks it every hour.
Only for the length of one question. The account state arrives with each check and is never stored. The decision log keeps a hash of it instead, which proves which state a verdict was computed against without keeping the contents, so a refusal stays auditable and your positions stay yours. The public numbers are aggregate only: nothing in them identifies an agent, an owner, a holding or a single amount.
Live, and here is the part most products would hide: the public counters currently read zero. The engine is real and enforcing, but no live agent has produced a decision yet, so there is nothing honest to count. We would rather show a zero you can verify than a number you cannot reproduce. When that changes it changes on the same public endpoint, measured rather than projected.
Brokerage trading and card spending, both live. The engine does not know which venue is asking, so a new one is an adapter rather than a rewrite. Two honest limits: on a card we can refuse a charge before it happens but we cannot physically stop an agent that already holds the card number, and prediction markets are designed and deliberately not built, a separately regulated venue with no agent surface yet, and we will not write rules against a payload nobody has published.