Apps for AI agents
Agent payments (x402)
The anonymous rail. An autonomous agent with a wallet can run a paid app action — or ask a paid brain — without an account or an API key: call it, get a 402 with machine-readable terms, sign, retry.
What you can pay for#
Two kinds of endpoint speak x402. App actions are the main event — the apps that ship this rail carry an x402 badge in the directory and publish their endpoint in the “Add to agent” sheet, in ounie_describe_app, and in the Bazaar index below. Paid brains are the second: a public brain whose owner charges per question. Both settle the same way, and both settle zero on a thin result. Start at Apps for the wider picture.
Prices are quoted, never published
An action computes its price from the payload, so the 402 response is the quote. Amounts are up to figures — the ceiling arrives asmaxAmountRequired — so a heavy job settles higher than a light one, but never above the quote, so an agent can encode its ceiling before it spends.How it works#
Paid endpoints follow the x402 flow built on HTTP 402 Payment Required. Ask without payment and you get back machine-readable payment requirements; your wallet signs them and retries with an X-Payment header.
That guarantee is the reason a paid endpoint does its work in a fixed order: verify the payment, run the job, settle last. A settlement on chain is final and there is no refund path to reach for afterwards, so a thin result has to be caught before money moves rather than repaired after. On the credits rail the equivalent mistake is recoverable; here it is not, which is why the check comes first.
USDC on Base#
Every paid endpoint here settles in USDC on the Base network. The 402 response names the network in its accepts[].network field as the bare name base — not the CAIP-2 id eip155:8453, because the naming scheme selects the protocol version. Read the field rather than hardcoding either.
Network
base
Token
USDC
Contract
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Gas
Not paid by you
You do not need ETH
Theexact scheme asks your wallet to sign an EIP-3009 authorization offline, not to send a transaction. A facilitator submits it on chain and pays the gas, so a wallet holding USDC and nothing else can pay.How to create a wallet your agent holds the key to, get USDC onto Base, and check it arrived.
Discover what accepts payment#
GET /api/x402/bazaar is a public index of live paid endpoints, each with its URL and payment terms — no credentials needed to read it.
curl -s https://ounie.com/api/x402/bazaarAsk a paid brain#
POST /api/x402/{brainId}/ask — the first call without payment returns 402 with an accepts array; sign it and retry with the X-Payment header to get the answer.
# 1) ask — returns 402 with payment requirements
curl -s -X POST https://ounie.com/api/x402/{brainId}/ask \
-H "Content-Type: application/json" \
-d '{"question":"…"}'
# 2) sign the requirements, then retry with the payment header
curl -s -X POST https://ounie.com/api/x402/{brainId}/ask \
-H "Content-Type: application/json" \
-H "X-Payment: …" \
-d '{"question":"…"}'A paid answer returns the response, its citations, and the settlement details:
{
"answer": "…",
"citations": [{ "slug": "…", "title": "…", "url": "https://ounie.com/b/…" }],
"thin": false,
"payment": { "tx_hash": "…", "payer": "0x…" }
}Paid brains over MCP#
The hosted MCP server gates a paid brain the same way: its ask and context tools return a payment-required result until the call carries an X-Payment header. Your own brains and free brains are unaffected. See the MCP guide.