What engineers usually see
- •Failed requests trigger retries
- •Each retry may incur token charges
- •Cost accumulates without successful completions
- •Bill is higher than expected based on successful requests
Why this is hard to debug
Provider billing doesn't separate successful requests from failed retries. You can't tell how much was spent on retries vs actual work. Receipts attribute cost to each retry attempt.
Minimal repro
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_OPENAI_KEY',
baseURL: 'https://aibadgr.com/v1',
maxRetries: 3
});
const response = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [{role: 'user', content: 'test'}]
});This request routes through AI Badgr and returns a stable request ID that links to an execution record.
Note: AI Badgr is OpenAI-compatible and works as a drop-in proxy. No SDK changes required — only the base_url changes.
What a per-request execution record makes visible
- Cost per retry attempt
- Total cost including failed retries
- Retry efficiency (cost vs success rate)
- Recommendations to reduce retry cost
- Which retries incurred charges
Run 1 request → get receipt
Change your base URL to https://aibadgr.com/v1 and run your request.
The response includes an X-Badgr-Request-Id header that links to a receipt showing latency, retries, tokens, cost, and failure stage for that specific execution.
Not the engineer?
Share this page with your dev and ask them to run one request through AI Badgr. That's all that's needed to get the receipt.
This kind of thing only makes sense when you can actually see what happened to a single request from start to finish, instead of trying to piece it together from scattered logs.