---
title: "Gateway enforcement: Block budgets pushed to LiteLLM"
description: "Tanso is not in your request path, so a budget alone can only alert. Connect LiteLLM and a Block budget is pushed to the proxy as a hard max_budget on the team, key or user, with the gateway's own count shown next to Tanso's. Tanso never routes requests."
date: 2026-08-26
canonical: https://tansohq.com/product/gateway
---

# Gateway enforcement

Block means block, if you run a gateway.

Tanso reads vendor reports and stays out of your request path. That is why the numbers match the vendor's, and also why a budget on its own can only alert. If your traffic already goes through LiteLLM, the budget can be enforced there.

## How it works

- **LiteLLM as a connection.** The proxy URL and master key make one more vendor connection. Spend logs are pulled per day, model, team, key and end user into the same usage and cost tables as Anthropic or OpenAI.
- **Block budgets pushed.** Saving a monthly Block budget on a unit with a LiteLLM rule sets max_budget on the matching team, key or user. Deleting it, or switching to Alert, clears it.
- **Two clocks, visible.** The budget card shows the gateway's own count next to Tanso's, priced from two model maps, so you can see the drift.
- **Never a router.** Daily ceilings stay advisory, a gateway being down never blocks a save, and Tanso does not route requests. The route simulator is advice from the price book.

![A Block budget enforced at LiteLLM](https://tansohq.com/screenshots/spend-gateway-budget.png)

## Also in Tanso

- [Internal spend](https://tansohq.com/product/internal-spend.md)
- [Launch post: where your AI spend went](https://tansohq.com/blog/where-your-ai-spend-went.md)

Code: https://github.com/tansohq/tanso-oss · Docs: https://tanso.mintlify.app/internal-spend
