Zukko Blog

Guides to Claude Code, Cursor, Codex and the Claude and GPT APIs: setup, token savings and troubleshooting.

A Discord bot on Claude or GPT: a minimal example

4 min · · development

Twenty lines of code and one API key, and Claude or GPT is answering in a Discord channel. A working example plus the errors that show up under load.

Building a mobile app on the Claude or GPT API

4 min · · development

A key baked into a mobile binary ends up in someone else's hands sooner or later. A backend-proxy architecture with working Kotlin, Swift, and Node examples.

Common errors when sending images to vision models

4 min · · errors

A request with an image breaks differently than a plain text one. Where images actually get lost when calling the API, and how to read it from the response.

Streaming responses — when you actually need stream: true

4 min · · development

stream: true is not for every case. Here is how to read the event stream, where it actually matters, and what usually breaks in it.

How to write system prompts that actually work

3 min · · development

Most system prompts fail not because of the model but because of the wording. Here is what actually changes behavior and what models just ignore.

Saving on repeated requests: caching via X-Zukko-Cache and temperature:0

4 min · · API

The same request twice should not cost twice. Here is how response caching works and which scenarios actually benefit from it.

Routing between models by task and price

4 min · · архитектура

Not every request needs the most expensive model. Here is how to route between Claude, GPT, and GLM by task and budget.

API vs ChatGPT Plus subscription — which is cheaper for a developer

4 min · · сравнение

A subscription and an API solve different problems. Here is what each option actually costs and when it makes sense to keep both.

GitHub Copilot vs Claude Code

5 min · · сравнение

Copilot lives in the editor on a subscription; Claude Code is a terminal agent billed per token. Where the working model and the billing actually diverge.

Claude Code vs aider

5 min · · сравнение

Claude Code and aider are both terminal-based and agentic, but they treat models and git differently. How they compare, and how to connect both to one key.

Claude Code vs Windsurf

4 min · · сравнение

Claude Code runs in a terminal with no editor of its own; Windsurf is a full IDE with a built-in agent. Where the approaches actually diverge.

Zukko vs the official Anthropic Console

4 min · · сравнение

The official Anthropic API and Zukko speak the same Messages API protocol, but the similarity stops there. A point-by-point comparison.

Zukko vs OpenRouter: what's actually different

5 min · · сравнение

Both give one key access to several providers' models. Here's where Zukko and OpenRouter actually diverge — protocol, caching, and how you pay.

Payment errors and refunds: how to file one

4 min · · payments

Money got charged twice, or the balance never moved after payment. Here is what is refundable, what is not, and how to file it properly.

Payment stuck in processing — what to do

4 min · · payments

Money left your account but the balance did not move. Here is what is normal for each payment method, and what is already a reason to contact support.

The $0.50 channel-subscription bonus: how to claim it

4 min · · payments

There is no starting balance on signup anymore — that practice was scrapped due to disposable-email farming. Subscribing to the channel is now the only way to get $0.50 for free.

The referral program: earning 10% on invited users' top-ups

4 min · · бизнес

Every top-up made by someone you invited puts 10% back on your own balance. Here is who this actually pays off for and how to use it.

Pulling billing history via GET /v1/usage for your own reports

5 min · · API

When you need to know exactly what each client or project cost, clicking through a dashboard does not scale. Here is how to pull the full history through the API.

Balance via API: building your own spend dashboard

4 min · · API

The dashboard shows a balance, but it will not aggregate spend by model and day the way you actually need. Here is how to build one from three API data sources.

Team access: multiple keys with different limits

4 min · · API keys

There is no dedicated "team" concept in the dashboard, but per-key limits and an allowed-model list cover almost the whole need. Here is how to set it up and what not to expect.

Paying for Claude and GPT API access from Kazakhstan and the CIS

4 min · · payments

Official Anthropic and OpenAI accounts need a card and billing address from a supported country. Here is which zukko.pro payment methods actually work from the CIS, and which do not.

Paying via SBP (Faster Payments System): step by step

5 min · · payments

SBP is the fastest way to top up a balance without entering card details. Here is the full path from the dashboard to bank app confirmation, and the usual places a payment can stall.

Paying with a foreign Mastercard EU card

5 min · · payments

Since September 16, 2026, you can top up your balance with a foreign Mastercard card through a separate Fride processor. Here is how it works and why payments sometimes get declined.

An autonomous agent from scratch: a minimal working example

4 min · · агенты

An agent is not a library, it is a three-step loop. Building a minimal working example on the raw API, no framework required.