Try Keryx in five minutes.
Five ways to hit Keryx yourself, ordered from easiest to most technical. /ask and MCP are Keryx-sponsored (no wallet in the client). Autonomous buyers use /quickstart.ts against POST /api/call. When the local facilitator is live, paid calls produce Arcscan-verifiable USDC txs on /live.
Free sample before you pay
~15s · Zero setupHit /api/demo?toolId=crypto.price for a live upstream response with no USDC. Same shape as a paid call, minus settlement. Then prove any ledger row with POST /api/receipt/verify.
Ask something in the playground (sponsored)
~30s · Zero setupHead to /ask. Pick one of the suggested prompts — try “What's the 24h trading volume for BONK on Solana?”
Watch the small chip appear under the response: it shows the tool being called, the price, and a settlement hash when the facilitator is onchain. This path is sponsored by Keryx so you can feel the product without wiring a wallet; autonomous agents should use the quickstart instead.
Curl the paid endpoint directly
~60s · TerminalAnyone with a terminal can hit the raw x402 endpoint. This is what Keryx looks like to an AI agent with no browser.
First hit — you get a 402:
Response: HTTP 402 with a PaymentRequirements block listing the exact amount ($0.001 for this tool), the USDC contract address on Arc, and the seller wallet. An agent reads this and signs an EIP-3009 authorization against it, base64-encodes the signed payload, and retries with X-PAYMENT: <signed>. The response then carries the tool result plus a real onchain tx hash.
Don't want to write a signer? Use /quickstart.ts (wallet-equipped) or the sponsored /ask playground.
Drop Keryx into Claude Code (sponsored)
~120s · One JSON fileKeryx runs a Model Context Protocol server at https://keryxhq.xyz/api/mcp. Add it to Claude Code's MCP config once and every tool in the registry becomes something Claude can call natively, no per-tool wiring.
Edit ~/.claude/mcp.json:
Restart Claude Code. Try: “use keryx to search for what Circle Arc is” or “use keryx to rug-check this Solana mint: EPjF…Dt1v”. Claude picks the right tool from the registry and calls it. MCP is currently Keryx-sponsored (no wallet in the client); ledger rows still appear on /live. For an agent that pays itself, use /quickstart.ts.
Publish your own tool
~180s · Arc wallet + testnet USDCAny HTTP endpoint you can respond to can be listed on Keryx. For the demo below we'll list a fake tool called weather.today at $0.002 per call. The listing lives in two places: an offchain record on Keryx that shows up on /registry and an onchain record on KeryxRegistry.sol at 0x7eA3…8bA7 on Arc testnet.
Step A — offchain listing (browser).
- Open /publish.
- Click Connect wallet. Pick MetaMask (or any injected wallet). Approve.
- If your wallet is on the wrong network, a banner says so — click Switch network to jump to Arc testnet.
- Fill the form:
- Tool name: Weather Today
- Tool id:
weather.today - Summary: Current weather for a city. Returns temperature, condition, and humidity.
- Category: Search
- Price: 0.002
- Click Sign and publish. Your wallet pops up asking you to sign a text message (this is EIP-191, free, no gas). Approve.
- You're done. Head to /registry and your tool is there under Search.
Step B — onchain listing (terminal, optional). If you want your tool to also show the On Arc badge on /registry, register it directly against the contract. You'll need an Arc-funded wallet (small USDC balance for gas — Arc uses USDC as gas).
2000 is the price in atomic USDC (6 decimals, so $0.002 = 2000). The publish call is idempotent per id — only the wallet that first publishes an id can update its price, and the contract emits a ToolPublished event you can watch in the receipt.
Every step above triggered a real HTTP 402 payment protocol handshake against a real USDC contract on Arc testnet, settled through a Keryx facilitator wallet that has $116 USDC of runway. The tx hashes you saw on /live are provable, permanent onchain records anyone can verify.
Prefer reading first? → the whitepaper · the integration docs