Your agency runs AI for a dozen clients, on a handful of tools, with a key for every combination. key.one replaces them with one account and one key per client project, then tracks and caps the spend per client.
No provider accounts needed. Set up your first client in minutes.
Your agency
12 clients · 1 account
This month
$407.35
Durand Construction
3 projects · 3 keys
$122.50 / $180
Moreau Charpente
4 projects · 4 keys
$211.80 / $240
Batiplus
2 projects · 2 keys
$64.10 / $150
Atelier Lefèvre
1 project · 1 key
$8.95 / $50
A loop in Moreau Charpente · Site reports hit its budget. Stopped, nothing charged past the limit.
The problem
Each new client means a new OpenAI key, a new Anthropic key, a new Perplexity key, scattered across .env files, n8n credentials and Make connections. You manage all of them.
Every provider bills your agency for all your clients at once. Splitting it per client means spreadsheets, guesses, and a lost afternoon every month.
Provider limits apply to your whole account, not to one client. A single runaway loop can burn through a client’s budget before anyone looks.
Your API keys today
clients × tools
| Client | OpenAI | Anthropic | Perplexity | Apify |
|---|---|---|---|---|
| Durand | sk-…cc· .env | sk-…110· n8n | sk-…154· Make | sk-…198· .env |
| Moreau | sk-…e7· n8n | sk-…134· n8n | — | sk-…1ce· Make |
| Batiplus | sk-…c6· Make | sk-…108· .env | sk-…14a· n8n | — |
| Lefèvre | sk-…e4· .env | — | sk-…17c· .env | sk-…1c8· n8n |
+ 8 more clients
≈ 40 keys, 4 bills, 0 budgets per client
And it gets worse as you grow
Every client you sign adds a key per tool to your pile, more workflows that can loop, and more cost you can’t attribute. You end up absorbing the overages, because you can’t prove which client caused them.
$400
burned overnight by one retry loop, on a client paying you a $300 retainer.
40+
keys to create, store, rotate and revoke once you run four tools for ten clients.
5
provider dashboards to open when a client asks what their AI actually cost.
The solution
key.one sits between your automations and the AI providers. You organize it by client and project, the way you already work, and every call is attributed to the right client and checked against its limits.
Agency
Your agency
One wallet
Client
Durand Construction
Client
Batiplus
Every tool
The core
Key management
Your agency stops managing a key per tool per client. Each client project gets one key that works across the whole catalog. Add Perplexity to a client’s workflow next week and nothing changes.
from openai import OpenAI
from anthropic import Anthropic
client = OpenAI(
base_url="https://key.one/api/proxy/openai/v1",
api_key="kone_live_7f3a…", # Durand · Quote generator
)
# Same key, another tool: no new account, no new secret
anthropic = Anthropic(
base_url="https://key.one/api/proxy/anthropic",
api_key="kone_live_7f3a…",
)Spend management
Every call is stamped with its client, project, tool, and model the moment it happens. No tagging, no month-end reconciliation.
Spend by client
September
| Client | Cost | Rebill |
|---|---|---|
| Durand Construction | $122.50 | $159.25 |
| Batiplus | $64.10 | $83.33 |
| Moreau Charpente | $211.80 | $275.34 |
| Atelier Lefèvre | $8.95 | $11.64 |
Markup 30% · 10 projects
Export CSV →
Everything around it
Spike auto-freeze
When one client’s key suddenly spends many times its normal hourly rate, key.one freezes that key alone. Every other client keeps running.
Budget alerts
An email and a webhook at 50, 80 and 100% of every client and project budget. Once per threshold, not a flood.
Budget requests
When an agent needs more room it asks for it, with a reason. You approve or deny from the email. Small increases can approve themselves.
Client reports and CSV export
Set a markup per client and export line items ready to invoice. Cost, price, and rebill amount in every row.
Controller agent
Every morning it reviews spend, flags drift, premium models on trivial tasks, and idle budgets, and proposes the fix. Nothing changes until you click Apply.
MCP server and skill file
Claude Code, Cursor, or your own agent can create clients, mint project keys, and check spend through MCP. You stay in control of the limits.
Prepaid wallet
Top up once and spend across every provider, for every client. No card on file with each vendor, no surprise overage at month end.
Streaming and SDK compatible
Streaming, tools, and provider headers pass straight through. Your existing code keeps working, now with a budget around it.
“We run automations for a dozen construction companies, and I was managing a separate set of API keys for each of them, then rebuilding the AI bill by hand every month. Now it’s one account, one key per client project with a budget, and invoicing is an export.”

Clement Bernard
Founder, Visionbds · AI automation for construction
How it works
01
Mirror how you already work: Durand Construction → Quote generator. Set a monthly budget if you want one.
02
In that client’s automations, replace the OpenAI, Anthropic and other keys with the one project key. Every tool in the catalog now runs on it.
03
Spend lands on the right client in real time. At month end, export the CSV and send the invoice.
In the catalog today
FAQ
No. key.one holds the provider access. Your agency has one account and one wallet, and every client project key can use every tool in the catalog.
The call is refused before it reaches the provider, with a 403 and a machine-readable reason: which limit, how much was spent, and when it resets. Nothing is charged past the limit.
Change the base URL and the key in your OpenAI or Anthropic SDK. Streaming, tools, and provider headers pass through unchanged.
No. key.one is for your agency. Keys live in your automations, and your clients just get an accurate invoice from you.
You pay as you go from a prepaid wallet, per token or per result depending on the tool. Every response tells you exactly what that call cost.
Set up your first client and project in minutes. Your automations keep running, now with budgets and a clean invoice at the end of the month.
Start free