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.