Quickstart
Deep reports, board scans, mint probes and checkouts have a free daily tier keyed on a header you invent. Send x-client-id: anything-stable and build before you fund anything. Ping ($0.005) has no free tier. When a tier runs out, the server answers 402 with the price — pay it with any x402 v2 client and retry.
1. Free call (no wallet)
curl -H 'x-client-id: my-bot' \ 'https://api.ogenalabs.com/api/signals/v1/graduations?limit=1' # -> 200, "free": true
2. Read the 402 when the tier ends
curl -i -H 'x-client-id: my-bot' \ 'https://api.ogenalabs.com/api/signals/v1/graduations?limit=1' # -> 402 + PAYMENT-REQUIRED: <base64 challenge> # body accepts[]: price, asset (USDC), network, payTo
3. Pay and retry
Sign a USDC exact payment for one listed network and amount (EIP-3009 on Base, signed transfer on Solana), base64 the PaymentPayload JSON, and retry with a payment-signature header. The 200 carries your data plus a base64 PAYMENT-RESPONSE settlement receipt.
4. Over MCP
Point your client at any product /mcp URL. initialize and tools/list are free; paid tools return -32002 with accepts past the free tier. Pass caller for your own quota and paymentSignature to pay.
Limits that protect you
- Unknown mints are never charged: presented payment on an unknown mint returns 404 without settlement.
- Paid verdicts are fail-closed: empty upstream on an unpaid call still returns 402, never a guess.
- Prices and free tiers are printed in every tool description, so price-aware agents can budget before calling.