Skip to content

Troubleshooting

All NordRouter errors come in a standard format with message and code fields — use those to find your case on this page.

missing_api_key — Missing Bearer API key

The request arrived without a key.

  • Make sure the key is sent in the Authorization: Bearer sk-nr-… header (or x-api-key for the Anthropic SDK).
  • In Claude Code: ANTHROPIC_API_KEY must not be empty, and there must be no "apiKeyHelper": "echo ''" line in settings.json — it overrides your key with an empty one.
  • Environment variables only apply in the same terminal where you launch the program.

Invalid API key

The key wasn't found or is disabled. Copy the key again from the dashboard — the whole thing, no spaces.

Invalid URL (POST /v1/v1/messages)

An extra /v1 in the base URL.

  • Claude Code / Anthropic SDK: ANTHROPIC_BASE_URL=https://nordrouter.com — no /v1.
  • OpenAI SDK and compatibles: base_url=https://nordrouter.com/v1 — with /v1.

Simple rule: Anthropic clients append /v1/messages themselves, OpenAI clients expect /v1 in the base URL.

pricing_not_found — No pricing available for model …

The requested model isn't in the catalog — usually because of a "bare" ID without the provider prefix (claude-opus-4-8 instead of anthropic/claude-opus-4.8).

payg_balance_exhausted — 402

Your balance ran out. Top up via GGsel / Plati.market and redeem the code — the balance applies instantly, no need to change keys.

429 — Too Many Requests

Too fast. There's a per-key requests-per-minute limit; pause or reduce parallelism. If the limit gets in the way of real work — contact us.

Stream drops / timeouts

  • Check that your client doesn't set its own timeout shorter than the generation time (agentic tasks on large models can run for minutes).
  • Interrupted streams are not charged: the reserve is refunded automatically.

Nothing helped

Message support on the marketplace where you bought the top-up (GGsel / Plati) with the error text and request time — we'll quickly find your case in the logs.