402 insufficient_balance и your credit balance is too low
Ошибка 402 означает, что на балансе меньше денег, чем стоит запрос. go2llm возвращает код insufficient_balance с сообщением not enough spendable balance, Anthropic API — текст Your credit balance is too low to access the Claude API. Ключ при этом исправен, модель существует, лимиты не превышены: не хватает именно денег под оценочную стоимость конкретного запроса.
Страница составлена 2026-09-11, обновлена 2026-09-11.
Как выглядит ошибка
go2llm отдаёт статус 402 и тело:
{
"error": {
"type": "insufficient_balance",
"code": "insufficient_balance",
"message": "not enough spendable balance",
"request_id": "gw_6b90f1c47a2e4d35b08e1fa2c63d9704"
}
}
Официальный Anthropic API возвращает на ту же ситуацию 400, а не 402, с типом invalid_request_error:
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "Your credit balance is too low to access the Claude API. Please go to Plans & Billing to upgrade or purchase credits."
}
}
OpenAI API в аналогичном случае отдаёт 429 с кодом insufficient_quota и текстом You exceeded your current quota, please check your plan and billing details. Три вендора — три разных HTTP-статуса под одной и той же причиной, поэтому ветвиться только по статусу нельзя: смотрите error.code.
Причины 402
1. Баланс действительно нулевой
Самый простой случай. go2llm работает только по модели pay-as-you-go: подписок, пакетов и обязательной ежемесячной платы нет. При регистрации на баланс начисляется $1 — welcome-грант, который тратится на обычные API-запросы. После его расходования каждый следующий запрос получает 402, пока не придёт пополнение.
2. Баланса хватает на ответ, но не хватает на резерв
go2llm резервирует оценочную стоимость до вызова модели, а списывает фактическую после. Оценка считается по max_tokens: если вы просите max_tokens: 64000 у claude-opus-5 при цене $2.51 за 1M выходных токенов, резерв составит около $0.16 на выход плюс вход, даже если модель ответит двумя словами. При балансе $0.05 запрос упадёт с 402 ещё до инференса. Уменьшение max_tokens до реально нужного значения решает проблему без пополнения.
3. Деньги съел cache read, а не input
Для кодинг-агента профиль нагрузки — вход 10%, выход 5%, чтение кэша 85%. Основная статья расхода у Claude Code и подобных инструментов это чтение кэша, а не input. У claude-sonnet-5 на go2llm чтение кэша стоит $0.033 за 1M токенов против официальных $0.20, но при агентской нагрузке объём кэш-чтения на порядок больше объёма промптов — и баланс уходит быстрее, чем ожидается по цене input.
4. Платёж ещё не зачислен
Пополнение рублями через СБП (провайдер Platega) и криптовалютой проходит асинхронно. До зачисления баланс остаётся прежним, и запросы продолжают падать с 402. Минимальное пополнение — $1, максимальное — $10 000, пресеты в интерфейсе — $5, $10, $25, $50, $100.
5. Это ошибка вендора, а не go2llm
Если в сообщении дословно написано Your credit balance is too low to access the Claude API со ссылкой на Plans & Billing — запрос ушёл на api.anthropic.com, а не на go2llm. Проверьте ANTHROPIC_BASE_URL и то, что в Claude Code выставлена ANTHROPIC_AUTH_TOKEN, а не ANTHROPIC_API_KEY: вторая переменная может уступить сохранённому логину, и запрос уйдёт мимо шлюза.
Как починить по шагам
Шаг 1. Определите, чей это 402. Статус 402 с кодом insufficient_balance — go2llm. Статус 400 с текстом про Plans & Billing — Anthropic. Статус 429 с insufficient_quota — OpenAI.
Шаг 2. Если это go2llm — пополните баланс на сумму от $1 через СБП или криптовалютой. Баланс и списания ведутся в USD; справочный рублёвый эквивалент считается по курсу ЦБ (86,3793 ₽ за $1 на 01.09.2026).
Шаг 3. Если пополнять пока не хотите — уменьшите max_tokens. Резерв прямо пропорционален этому значению:
curl https://go2llm.tech/v1/messages \
-H "x-api-key: $GO2LLM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":256,"messages":[{"role":"user","content":"Ответь одним словом: работает"}]}'
claude-haiku-4-5 стоит $0.13 за 1M входных и $0.65 за 1M выходных токенов — при max_tokens: 256 резерв под выход составляет около $0.00017.
Шаг 4. Обработайте 402 в коде как фатальную ошибку без ретрая:
import httpx
r = httpx.post(
"https://go2llm.tech/v1/chat/completions",
headers={"Authorization": f"Bearer {api_key}"},
json={"model": "gpt-5.6-luna", "max_tokens": 256,
"messages": [{"role": "user", "content": "Проверка"}]},
timeout=120.0,
)
if r.status_code == 402:
err = r.json()["error"]
# Ретрай бессмысленен: баланс сам не появится.
alert_ops(f"go2llm balance empty: {err['message']} request_id={err.get('request_id')}")
raise SystemExit(1)
data = r.json()
print(data["usage"]) # cost_usd — фактическая стоимость этого запроса
Как избежать 402 в будущем
Считайте расход сами: go2llm возвращает usage.cost_usd в каждом ответе, включая финальный usage-блок SSE-стрима. Пишите это значение в свою метрику и ставьте алерт на суточный расход — это дешевле, чем узнавать о нуле на балансе от упавшего прода.
Ставьте квоту в долларах на каждый ключ: ключ для CI с квотой $5 не сможет выесть весь баланс, даже если тест зациклится. Квота исчерпывается отдельной ошибкой 429 с кодом quota — это сигнал раньше, чем общий 402.
Держите буфер. go2llm не уводит баланс ниже нуля: резерв берётся до вызова, поэтому запрос, для которого денег не хватает, просто не выполняется и не списывает ничего. Для непрерывной работы держите на балансе хотя бы недельный расход, посчитанный по usage.cost_usd.
Экономьте на модели, а не на лимитах. Смешанная цена claude-sonnet-5 на go2llm — $0.33 вход, $1.64 выход, $0.033 чтение кэша против официальных $2.00 / $10.00 / $0.20. Для фоновых задач deepseek-v4-flash стоит $0.023 за 1M входных токенов, mimo-v2.5 — $0.056. Полный прайс — на странице тарифов.
Если списание выглядит ошибочным, возврат запрашивается обращением в течение 48 часов; рассмотрение занимает до 24 часов, возврат инициируется в течение 72 часов.
Связанные ошибки
- 429 rate_limit и quota — квота ключа, а не баланс аккаунта.
- 401 authentication_error — если запрос уходит мимо go2llm.
- 404 model_not_found — модель не найдена в каталоге.
- Справочник всех кодов и docs/errors.
FAQ
Почему 402 приходит, когда на балансе ещё есть деньги? go2llm резервирует оценочную стоимость до вызова модели, и оценка считается по max_tokens. Запрос с max_tokens: 64000 резервирует сумму под полный ответ, даже если фактический ответ будет коротким. Уменьшите max_tokens или пополните баланс.
Может ли баланс уйти в минус? Нет. go2llm сначала резервирует оценку, затем списывает фактическую стоимость и освобождает остаток резерва. Баланс не уходит ниже нуля, поэтому «долга» за неоплаченные запросы не возникает.
Как пополнить баланс без зарубежной карты? go2llm принимает оплату рублями через СБП (провайдер Platega) и криптовалютой. Минимум — $1, максимум — $10 000. Зарубежная карта не требуется.
Что делать с ошибкой 409 idempotency_conflict при пополнении или генерации картинок? Idempotency-Key нельзя переиспользовать для другого тела запроса: go2llm вернёт 409. Ключ должен быть уникальным на каждое новое тело, длиной 8–128 печатных ASCII-символов, при размере тела до 20 MiB.
Получить ключ и сделать первый запрос за 3 минуты → go2llm.tech. При регистрации начисляется $1 — на первый запрос хватит без пополнения. Подключение — в документации.