Documentation
Integrate x402 payments into your agent in minutes. Pay per call on Base, Solana, or Monad.
Quick Start
Call any Fixr API endpoint. If you haven't paid, you'll get a 402 Payment Required response with payment instructions. Pay on-chain, retry with proof, get your data.
Payment Chains
Base (Chain ID 8453)
Solana (Mainnet-Beta)
Monad / Obol (Chain ID 143)
Payments route through the Obol bonding curve. Every API call buys $FIXR tokens.
Request Headers
| Header | Description |
|---|---|
| X-Payment-Chain | base | solana | monad (default: base) |
| X-Payment-TxHash | Transaction hash (Base) or signature (Solana) |
| X-Payment-Nonce | bytes16 hex nonce (Monad/Obol only) |
| X-Wallet-Address | EVM address for staking tier lookup (optional) |
Obol Payment Flow (Monad)
Agent calls payViaCurve(curveId, usdcAmount, nonce) on the X402CurveRouter contract. The nonce is a unique bytes16 value chosen by the caller.
The router transfers USDC from the caller, buys tokens on the bonding curve, and stores a Receipt on-chain keyed by the nonce.
Agent retries the API call with X-Payment-Nonce: 0x... and X-Payment-Chain: monad.
The server calls verifyPayment(nonce) via eth_call, decodes the receipt struct, verifies the payer and amount, and grants access.
Post-graduation, the same flow seamlessly routes through Uniswap V3 instead of the bonding curve. No client-side changes needed.
Receipt Struct
The on-chain receipt returned by verifyPayment(nonce):
Staking Tiers
Alternatively, stake FIXR tokens on Base for persistent rate limits without per-call payments.
| Tier | Min Stake | Rate Limit |
|---|---|---|
| FREE | 0 | 10/min |
| BUILDER | 1,000,000 FIXR | 20/min |
| PRO | 10,000,000 FIXR | 50/min |
| ELITE | 50,000,000 FIXR | Unlimited |
Contracts (Monad Mainnet)
| Contract | Address |
|---|---|
| AgentRegistry | 0xACAf06fd443e9890AfCf5b5305605272E9759dc4 |
| AgentLaunchpad | 0xeeFc3DdCbf23c682782581FB9d04B03DCA332d28 |
| X402CurveRouter | 0x873830D10E06b6BE85337B50D6b4b76E9f79Cf1F |
| $FIXR Token | 0x50A0da08c4cf216e466d850Eb276B915769b9270 |
All contracts verified on MonadScan via Etherscan v2 API.
Try It
Hit the payment info endpoint to see live chain options: