Credit costs lists every endpoint’s figures. Each response reports its charge in
X-Credits-Charged and the endpoint’s price table version in X-Credit-Price-Version.
Reservation
Before a query runs, we reserve its maximum cost (priced at thelimit you asked for, plus the maximum node reads) against your remaining credits and limits. When it finishes, we charge only what it returned and release the rest. If the maximum doesn’t fit, the request is refused; lower limit or narrow the range. Because reservations count immediately, concurrent requests can never push you past a limit.
Controlling spend
- Per request: send
X-Max-Credits: 500. A request whose maximum cost is higher is refused before it runs (403 max_credits_exceeded, free). - Price before you run:
GET /v1/quote?route=GET /v1/markets/{coin}/trades&limit=1000returns the maximum cost (max_credits) and theprice_version. Addrange_msfor range-priced endpoints. It is free and runs nothing. - Lock the price: send
X-Credit-Price-Versionwith the version you were quoted. If the price has changed since, the request fails with409 price_changedinstead of running. - Per key: Agent keys carry a daily credit budget, a rate limit, and a per-request maximum. See API keys.
- Per project: an optional credit budget per project, so a runaway script in one project can’t spend another’s allowance.
403 credits_exhausted.
What is free
- Every failed request (any 4xx or 5xx), including throttled requests and timeouts. Most carry
X-Credits-Charged: 0. - All test-key traffic.
GET /v1/meandGET /v1/quote(together limited to 5 requests per second per key, with a burst of 10).- The public catalog and status endpoints:
GET /v1/datasets,GET /v1/status,GET /v1/changelog,/openapi.json, and/llms.txt. - Creating, listing, polling, and cancelling async jobs. Reading a job’s result is billed.
- Stream replays you already paid for.
Your balance
Plan credits for the current period are used first, then purchased credits, earliest expiry first.GET /v1/me returns the calling key, its project, the workspace plan and, with the usage:read scope, the current period’s included, used, reserved, topup_balance, and remaining credits.
When your remaining credits fall below 10% of the plan’s monthly allowance, live responses carry X-Credits-Low: true, GET /v1/me returns credits.low: true, and streams send a credits_low message. When credits run out, requests return 403 credits_exhausted and streams close.
Buying credits
Starter, Growth, and Scale workspaces can buy extra credits in the console under Credits. Enterprise credits are set by contract.- Amount: any amount from $10 to $10,000. You get credits at your plan’s rate: the amount times the plan’s monthly credits divided by the plan’s monthly fee.
-
Volume discounts:
Just below a tier, you never pay more than that tier’s minimum costs after its discount, and you still get credits for the full amount. For example, $245 of credits costs $225, the same as $250.
- Payment: pay in one click with a saved card (your bank may ask for 3-D Secure). The first purchase, or a new card, goes through Stripe Checkout, which saves the card. Only cards can be saved.
- Promotion codes: choose New card in Buy credits and enter the code on Stripe’s checkout page. Codes stack with the volume discount.
- Auto-reload: when your credits fall below a threshold you choose, buy a set amount automatically with your default card, up to a monthly limit (at most $50,000). Auto-reload switches itself off if a payment is declined or needs 3-D Secure, if the plan ends, or after a refund or dispute. Owners and admins are emailed when this happens. It never switches back on by itself. While a failed plan renewal is unpaid, auto-reload pauses instead and buys nothing.
- Expiry: purchased credits last 12 months and carry over between billing periods. They can be spent only while the workspace has an active plan.

