For agent developers
Pay per call.
No account, no key.
x402 is an open payment protocol built on HTTP status 402 Payment Required: a paid endpoint answers a keyless request with a machine-readable payment challenge, the client signs a USDC transfer authorization for the quoted amount and retries, the payment settles on-chain and the data comes back. One request, one micro-payment — no signup, no API key, no subscription. Every paid endpoint on this API speaks x402 natively.
Finding endpoints on the Bazaar
All endpoints are listed on the Coinbase x402 Bazaar, the facilitator's discovery catalog — agents search it by intent and get the resource URL, price and input schema. The same metadata also rides on every 402 response itself: the PAYMENT-REQUIRED header carries an extensions.bazaar block with a concrete input example, JSON schema and output example, so an agent that already has the URL needs no side channel.
How a paid request completes
Send a request without a key; the response is the payment challenge:
Request (no key — nothing is charged)
curl -i "https://api.kakerapetit.dev/v2/companies/jp/7203"
Response — 402 with the payment challenge
HTTP/2 402
content-type: application/json
payment-required: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLC4uLg==
{"error":"payment_required","message":"This endpoint is paid via the x402 protocol. ..."}PAYMENT-REQUIRED, base64-decoded (abbreviated)
{
"x402Version": 2,
"accepts": [
{
"scheme": "exact",
"network": "base",
"amount": "5000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x...(seller wallet)",
"resource": "https://api.kakerapetit.dev/v2/companies/jp/7203",
"description": "Company profile and latest fundamentals for a Japanese listed company in an EDGAR-style unified schema."
}
],
"extensions": {
"bazaar": "...(input example + JSON schema + output example)"
}
}amount is in the token's atomic units — USDC has 6 decimals, so 5000 = $0.005. Sign an EIP-3009 USDC transfer authorization for that amount to payTo, retry the same request with the signed payload in the X-PAYMENT header, and the data arrives with a PAYMENT-RESPONSE header carrying the on-chain settlement. Client libraries do all of this for you:
Client libraries
Wrap fetch with a payment-capable wallet to make keyless calls — the wrapper catches the 402, signs, retries and verifies the settlement:
npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.WALLET_KEY); // holds USDC on Base
const client = new x402Client().register("eip155:8453", new ExactEvmScheme(account));
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://api.kakerapetit.dev/v2/companies/jp/7203");
console.log(await res.json()); // paid, settled, donePer-call prices
Charged per request, per endpoint. The 402 challenge always quotes the same price as this table.
| Endpoint | Price / call |
|---|---|
| GET /v2/companies/:market/:code | $0.005 |
| GET /v2/companies/:market/:code/financials | $0.01 |
| GET /v2/companies/:market/:code/governance | $0.01 |
| GET /v2/screener | $0.02 |
| GET /v2/rankings | $0.01 |
| GET /v2/calendar | $0.002 |
Using MCP instead
If your agent speaks MCP rather than raw HTTP, the same data is available as six MCP tools behind an API key (free tier available) — often a good fit for chat agents doing multi-step research. See the MCP section of the docs, or get a free key at /signup.
Notes
- Payments are real USDC on Base mainnet (
eip155:8453), settled through the Coinbase facilitator. Testnet payments are not accepted. - Prices are per call, per endpoint, exactly as listed above — no minimums, no subscription. A keyless request alone is never charged; nothing settles until you retry with a signed payment.
- The same routes also take an
X-API-Keysubscription (free and flat plans); x402 and API keys are alternative ways to reach the same endpoints. See the plans. - The
/v1endpoints listed on the Bazaar answer x402 challenges too, at the prices shown in their listings.