A single misconfigured prompt, a retry storm, or a heavy free-tier user can blow a monthly budget in hours. You need a ceiling, not just a notification.
Every limit has an action. Start with warn while you're getting set up. Move to block once you've added error handling.
Tier templates apply to every user on that tier automatically — configure free at $5/month and every free user gets that limit without any per-user setup.
When a specific user needs a different limit — a power user you want to accommodate, a suspicious account you want to cap tighter — create a per-user override. It takes precedence over the tier template automatically, with no code changes required.
If you're already passing userId on your calls, add tier and you're done. Configure the limits in the dashboard — no deploy required to change them.
Configure the tier template in the dashboard. Calls proceed, onBudgetWarning fires, events log. Monitor for a few days.
Switch the dashboard config to block. No redeploy of your app needed — the SDK picks up the new action automatically.