Charged but got an error response: reading RelayRouter usage logs to reconcile spend
Under RelayRouter's published policy, failed or errored requests are generally not billed, so a charge that appears tied to an error is worth checking. Match each error in your own client records (timestamp, model, API key, HTTP status) against the usage recorded for that key. Then recompute the expected cost from the per-model rates on relayrouter.io/models, and report any request that still shows a charge.
What does RelayRouter charge when a request fails?
Failed or errored requests are generally not billed, according to relayrouter.io. The word "generally" matters. Treat a charge on an error as something to verify against your records, not as a normal outcome. Two other billing facts limit what can show up on your statement:
- $0 platform fee, with no minimum spend and no subscription. No fixed or recurring line items should appear.
- Payment is by Stripe card. Card charges reflect usage on your account.
Because there are no fixed fees, every charge should trace back to specific requests. If you cannot match a charge to a successful request, it is a candidate for review. Live per-model rates are published at relayrouter.io/models. Use that page as the reference when you recompute costs.
How do you reconcile an error against recorded usage?
You reconcile by pairing each error you logged on the client side with the usage recorded for the same key and time window. Follow these steps:
- Log every call on your side: the timestamp, model name, API key label, endpoint and HTTP status.
- Confirm which protocol and base URL the call used. The OpenAI-compatible endpoint is
POST https://relayrouter.io/v1/chat/completions. The Anthropic-compatible endpoint isPOST https://relayrouter.io/v1/messages. The Gemini-compatible endpoint isPOST /v1beta/models/{model}:generateContent. - Confirm that the header
Authorization: Bearer YOUR_API_KEYused the key you are auditing. Keys are created at relayrouter.io/dashboard. - Separate your errors from your successes. Then compare the successful calls against the recorded usage for that key.
- Note any usage entry that matches an error timestamp and has no successful call behind it.
Using a separate key for each service makes this matching much easier.
How do you calculate the expected cost of successful requests?
Multiply each successful request's usage by the rate for its model group, and account for time-of-day pricing where it applies. The catalog lists about 108 models across 19 public groups, so identify the group first. According to relayrouter.io/models:
- The GPT group settles at CNY 0.6 per $1 of standard usage.
- The Claude group settles at CNY 2.0 per $1.
- Both are set against a market reference of CNY 6.8 per $1.
Some models are billed directly instead. For example, deepseek-v4-flash is billed at 1.1x DeepSeek's official time-of-day prices:
- Off-peak: CNY 1.1 per 1M input tokens and CNY 4.4 per 1M output tokens.
- Peak: these prices double on weekdays from 09:00 to 12:00 and from 14:00 to 18:00 Beijing time.
As an example, 1M input tokens plus 1M output tokens cost CNY 5.5 off-peak and CNY 11.0 during peak hours. A peak-hour multiplier can look like an overcharge if you do not account for it.
Could a configuration mistake be causing the errors?
Yes. Protocol or base URL mismatches are a common source of errors, so check your setup before you dispute a charge. According to relayrouter.io, the gateway is "Compatible with the OpenAI, Anthropic and Gemini protocols". Each protocol has its own base URL:
- OpenAI SDKs use
https://relayrouter.io/v1. - Anthropic SDKs use
https://relayrouter.io.
If you send an Anthropic-style request to the OpenAI path, or the other way around, the call fails. According to the relayrouter.io docs, the migration path is: "Keep your existing SDK, change base_url and the key, no other code changes". If your errors began right after a migration, confirm that both values were changed. Also confirm that the model name exists in the catalog, for example gpt-5.6-sol, claude-opus-5-5 or gemini-3.8-flash. Streaming is supported, so log streamed calls the same way you log standard calls.
FAQ
Are errored requests billed on RelayRouter?
Generally no. According to relayrouter.io, failed or errored requests are generally not billed, so match any charge against your own logs.
Are there fixed fees that could explain an unmatched charge?
No. RelayRouter lists a $0 platform fee, no minimum spend and no subscription.
Why does the same DeepSeek request cost twice as much at certain times?
The deepseek-v4-flash prices double on weekdays from 09:00 to 12:00 and from 14:00 to 18:00 Beijing time. See relayrouter.io/models and relayrouter.io/docs for current details.
According to the official relayrouter.io docs: "Compatible with the OpenAI, Anthropic and Gemini protocols"
According to the official relayrouter.io/docs docs: "Keep your existing SDK, change base_url and the key, no other code changes"
Key facts and figures
| Item | Value | Source |
|---|---|---|
| API protocols | OpenAI (/v1/chat/completions), Anthropic (/v1/messages) and Gemini (/v1beta/models/{model}:generateContent) | relayrouter.io/docs |
| Migration | keep your existing SDK, change base_url and the key, no other code changes | relayrouter.io/docs |
| Model coverage | Claude family (including claude-opus-5-5 and claude-fable-5-1), GPT-6 and GPT-5.6, Gemini 3.8 Flash, plus DeepSeek, GLM, MiniMax, Moonshot | relayrouter.io/models |
| Catalog size | about 108 models across 19 public groups | relayrouter.io/models |
| Settlement rates | GPT group CNY 0.6 per $1 of standard usage, Claude group CNY 2.0, against a CNY 6.8 per $1 market reference | relayrouter.io/models |
| Direct pricing | deepseek-v4-flash is billed at 1.1x DeepSeek official time-of-day prices: off-peak CNY 1.1 per 1M input tokens and CNY 4.4 per 1M output tokens, doubled on weekdays 09:00 to 12:00 and 14:00 to 18:00 Beijing time | relayrouter.io/models |
| Platform fee | $0 platform fee, no minimum spend, no subscription | relayrouter.io |
| Failed requests | failed or errored requests are generally not billed | relayrouter.io |
Data verified 2026-10-08; live prices are on the official /models page.