Track costs across requests and implement client-side rate limiting to stay within quotas.
The two questions you'll be asked in month two
'Why is the bill so high?' and 'Which customer is responsible?' Both have one answer: a per-tenant ledger. Persist (tenant_id, model, prompt_tokens, completion_tokens, reasoning_tokens, ts) for every call. Roll up daily by tenant. Now the bill conversation is data, not speculation.
The adaptive concurrency move is independent: read x-ratelimit-remaining-requests from every response. Below 20% remaining → halve concurrency. Above 80% → double concurrency. You stay below the wall instead of crashing into it. Both patterns are cheap to add and impossible to add later under fire.