#27735 [BUG] Virtual key BudgetExceededError uses stale spend while /key/info shows spend below max_budget
## What happened?
We saw failed proxy requests for a team-scoped virtual key where LiteLLM rejected the request with `BudgetExceededError`, but the current key/team spend reported by management APIs was still below the configured budget.
This looks related to #27639, but this case is for a **virtual key max_budget** check rather than an end-user budget.
## Relevant LiteLLM version
`1.84.0`
From `/health/readiness`:
```json { "status": "healthy", "db": "connected", "cache": "redis", "litellm_version": "1.84.0", "use_aiohttp_transport": true, "log_level": "WARNING" } ```
Runtime from traceback: Python `3.13` in `/app/.venv/lib/python3.13/site-packages/litellm/...`.
## Setup
LiteLLM proxy with:
- Postgres DB connected - Redis cache connected - Team-scoped virtual keys - `budget_duration: 30d` - OpenRouter model group
Example sanitized virtual key config:
```json { "key_alias": "<service>-Dev", "team_id": "<team-id>", "models": [ "openrouter/qwen/qwen3.5-27b", "openrouter/qwen/qwen3.6-flash" ], "max_budget": 10.0, "budget_duration": "30d", "budget_reset_at": "2026-06-01T00:00:00Z", "blocked": null, "soft_budget_cooldown": false } ```
T…