Docs Blog Pricing Python SDK Dashboard Get started
11 providers, zero key storage

Scoped API keys for AI agents.

Give agents disposable keys with activation, token, and dollar limits. Works with OpenAI, Anthropic, Google, OpenRouter, and 7 more providers.

pip install till-ac # Create a scoped key: 50 activations, 100K tokens, $5 budget from till import TillClient client = TillClient(admin_key="till_admin_...") key = client.create_key( provider="openai", upstream_key="sk-proj-...", max_activations=50, max_tokens=100_000, max_spend_cents=500, # $5.00 ) # Agent uses it as a drop-in API key from till.openai_compat import patched_openai ai = patched_openai(key.scoped_key) ai.chat.completions.create(model="gpt-4o", messages=[...])

Three limits. Whichever hits first wins.

Activation counting, token budgets, and dollar caps on every scoped key.

Activation limits

Each proxied request burns one activation. Hit the cap, the key dies. Perfect for sandboxed agent runs.

💬

Token limits

Cap total input + output tokens per key. Usage tracked automatically from upstream responses.

💰

Dollar spend limits

Set a dollar budget per key. Built-in pricing for 80+ models. $5 means $5, not $500.

🔒

Zero-knowledge storage

Upstream keys are AES-256-GCM encrypted into the scoped token. Our database stores zero keys.

🌐

11 providers

OpenAI, Anthropic, Google, OpenRouter, Mistral, Groq, Together, Fireworks, Perplexity, DeepSeek, xAI, and Cohere.

🐍

Python SDK

pip install till-ac Three lines to create a key. Drop-in OpenAI compatibility.

Works with every major AI provider

OpenAI Anthropic Google OpenRouter Mistral Groq Together AI Fireworks Perplexity DeepSeek xAI Cohere

Your upstream keys never touch our database.

When you create a scoped key, the upstream API key is AES-256-GCM encrypted and embedded directly in the scoped token. Our database stores only the activation counter and metadata.


If our database is breached: zero upstream keys are exposed. They simply aren't there. The encrypted key material lives only in the token you hold.

Token till_sk_mz90mM...VtkE.encrypted
DB stores key_hash, activations: 47/50, status: active
Not in DB sk-proj-xxxx... (your upstream key)

How it works

Four steps. Python SDK or raw HTTP.

1

Sign up

Free account, admin key instantly. No credit card.

2

Create scoped keys

Set activation, token, and dollar limits. Pick any of 11 providers.

3

Give to agents

Drop-in replacement. Point base_url at Till, use the scoped key as the API key.

4

Auto-expires

Whichever limit hits first kills the key. Revoke early from the dashboard.

Simple, transparent pricing

Start free. Upgrade when you need more.

Free
$0
For trying it out
  • 3 scoped keys
  • 1,000 activations / month
  • All 11 providers
  • Token + dollar limits
  • Dashboard + Python SDK
Get started free
Scale
$99 / mo
For high-volume operations
  • 100 scoped keys
  • 250,000 activations / month
  • All 11 providers
  • Token + dollar limits
  • IP allowlisting
  • Dedicated support
Subscribe to Scale