Check an agent before you pay on Celo
Type an agent id, pay $0.005 in USDC from your own wallet, and get ALLOW, WARN or DENY with the reasons.
Live on Celo mainnet. Your wallet signs one authorization, not a transaction: the Celo x402 facilitator broadcasts it and pays the gas. Nothing moves until you approve it in the wallet, and every payment lands on a public receipt page.
The Celo rail is not answering right now, so nothing can be bought. Nothing was charged.
What happens when you press the button
- Your browser wallet (Rabby or MetaMask) asks you to connect this site and to switch to Celo. It adds Celo first if it has never seen it.
- The page reads the price and the payee from the rail, and refuses the quote if it names another network, another token, another payee or another price.
- Your wallet asks you to sign one USDC authorization for exactly $0.005. No gas: the Celo facilitator broadcasts it and pays the fee.
- You get the verdict with its reasons, the settlement hash on Celoscan, and a line on /proof/celo.
You need a little USDC on Celo and nothing else. A phone wallet works through WalletConnect when it is configured on this deployment; a computer browser with the extension is the simplest way.
What the wallet signs
An EIP-3009 TransferWithAuthorization on Celo's native USDC: from your address, to the rail's payTo, for the quoted amount, valid for ten minutes, with a random nonce. The signing domain (name, version, chain id, token address) comes from the 402 and is checked against our chain registry. A signature is not a transaction: it moves nothing until the facilitator broadcasts it, and it cannot be reused.
For agents
The same check is an x402 call. A GET returns the 402 with the terms; a POST with an X-PAYMENT header (base64 of the x402 v2 exact payload) and a JSON body naming the agentId returns the verdict once the facilitator settles.
The terms
GET, no key, a 402 in JSON
curl -s https://a-identity.xyz/api/celo/tools/risk_check
The rail
Where it pays, what it charges
curl -s https://a-identity.xyz/api/celo/status
A buyer in one file
The script this page is a port of
cd mcp && node --env-file=.env scripts/celo-x402-buyer.mjs --url https://a-identity.xyz/api/celo/tools/risk_check --agent '#9759'
Every settlement on this rail, ours labeled as ours, is on /proof/celo. Free checks without a wallet run on Robinhood Chain and Arbitrum One.
