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.

Try

The Celo rail is not answering right now, so nothing can be bought. Nothing was charged.

What happens when you press the button
  1. 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.
  2. 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.
  3. Your wallet asks you to sign one USDC authorization for exactly $0.005. No gas: the Celo facilitator broadcasts it and pays the fee.
  4. 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.