402 Payment Required status code.
Each endpoint costs the same as with an API key. See the price list for each endpoint’s price, and read the exact amount from the price quote before you pay. The two free endpoints, GET /v1/commodities and GET /v1/branded-foods/categories, need no key and no payment.
How a paid call works
1
Call the endpoint with no Authorization header
The API replies
402 with a price quote. The quote is in the PAYMENT-REQUIRED response header (base64-encoded JSON) and, as the same JSON, in the response body.2
Sign one of the quoted options
Pick the network your wallet holds USDC on and sign a transfer for that option’s
amount to its payTo address. Nothing moves yet: the signature only authorizes the transfer.3
Send the same request again with the signature
Put the encoded signed payment in the
PAYMENT-SIGNATURE request header.4
Receive the data and a receipt
The API checks the payment, runs the request, and settles the transfer on chain. Only then does it reply
200 with the data. The PAYMENT-RESPONSE response header (base64-encoded JSON) holds the receipt, including the transaction hash.The price quote
402 Payment required
Networks
Your wallet needs only USDC on the network it pays from. Orbbit’s payment services, Coinbase on Base and Circle on Arc, submit the transfer and pay the network fee.
What you’re charged for
- Only calls that return data. The transfer is settled after the request succeeds. A call that fails, such as a
400or a404, settles nothing and costs nothing. - The endpoint’s price per call, the same as with an API key.
- A request that sends an API key is always charged to that key’s balance, even if it also sends a payment.
Limits and errors
A wallet caller with no key can make up to 60 calls a minute from one IP address, free or paid. Past that, calls are refused with429 until the minute is up.
See Errors for every error the API returns.