DocsPayments and costs

Payments and costs

Getting startedBeginner8 min

Your balance is in US dollars. You top up in advance, and each request deducts the tokens it used. No subscriptions.

1How to top up

Dashboard → Payments, minimum $1:

MethodFee on top
SBP (in rubles at the market rate)≈ 8.5%
Crypto—
Foreign card ($2–$594 per payment)≈ 13%

Russian cards are temporarily unavailable — use SBP. You see the final amount before paying.

Bonuses: $0.50 for subscribing to @zukkopro (once per Telegram account, claim it in the dashboard). 10% of top-ups by people you invite, via the referral link in the dashboard. There's no sign-up bonus.

2What a request costs

Cost = input tokens × input price + output tokens × output price. Prices per 1M tokens are in Models and pricing. Input read from the cache costs less.

Rule of thumb: a page of English text is about 700 tokens.

An hour in Claude Code usually costs $0.8–1.6. To spend less, see How to pay less.

3When a request is refused

  • Email not verified — 403 email_unverified (not needed if you signed in with Telegram).
  • Balance below $0.01 — 402 insufficient_balance.

Charges happen after the answer, for what was used. A long request can take the balance negative; then the next ones get 402, and a top-up clears the negative first.

4What's free

  • Requests refused before the model: no money, key limit, unknown model, invalid key.
  • Error responses.
  • Answers from the Zukko cache (X-Zukko-Cache: true) and repeats with the same Idempotency-Key.
  • /v1/balance and /v1/usage.

5What's paid, though not obvious

  • An interrupted stream — the answer is read to the end and charged in full.
  • POST /v1/messages/count_tokens — at the input price.
  • POST /v1/web-search — as a small token charge.
  • Reasoning by "thinking" models — that's tokens too.

6Where to see spending

The balance is shared: all keys, the web chat and the Telegram bot spend the same money.

About a minute after a request, its cost is recalculated with exact cache data — the difference is refunded or charged.

7Per-key limits

In the dashboard you can set a daily and monthly limit and a list of allowed models for each key.

SituationResponse
Model not in the key's list403 model_not_allowed_for_key
Daily limit reached429 key_daily_limit_reached
Monthly limit reached429 key_monthly_limit_reached

Resets at 00:00 UTC and on the 1st. An empty limit or 0 means no limit. The last request may go slightly over. More: Key limits and cache.

8Units in the API

WhereUnitExample
GET /v1/balance → balance_centscents, rounded down1234 = $12.34
GET /v1/usage → cost_centsfractional cents0.0525 = $0.000525
X-Zukko-Cost-Microsmicrodollars525 = $0.000525
X-Fetch-Balance-Centsmicrodollars12340000 = $12.34
Dashboard /api/*, *_cents fieldsmicrodollars12340000 = $12.34
Payments and costs · Zukko Docs