For AI automation agencies

Stop managing API keys for every client.
Know what each one costs you.

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

403 BLOCKED2:14 AM

A loop in Moreau Charpente · Site reports hit its budget. Stopped, nothing charged past the limit.

The problem

Ten clients in, your agency is managing a key for every tool, for every client.

A key for every tool, for every client

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.

One bill, many clients

Every provider bills your agency for all your clients at once. Splitting it per client means spreadsheets, guesses, and a lost afternoon every month.

No brakes per client

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

ClientOpenAIAnthropicPerplexityApify
Durandsk-…cc· .envsk-…110· n8nsk-…154· Makesk-…198· .env
Moreausk-…e7· n8nsk-…134· n8n—sk-…1ce· Make
Batiplussk-…c6· Makesk-…108· .envsk-…14a· n8n—
Lefèvresk-…e4· .env—sk-…17c· .envsk-…1c8· n8n

+ 8 more clients

≈ 40 keys, 4 bills, 0 budgets per client

And it gets worse as you grow

Every new client multiplies the risk.

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

One account for your agency. One key per client project. Every tool behind it.

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

Quote generatorkone_live_…
Site report summarizerkone_live_…

Client

Batiplus

Tender scraperkone_live_…
Email assistantkone_live_…

Every tool

  • OpenAI
  • Anthropic
  • Perplexity
  • Google Maps via Apify
  • + more

The core

Keys and spend, handled.

Key management

Replace dozens of provider keys with one per client project.

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.

  • No provider accounts, cards or keys to set up for each client
  • Onboard a client in a minute: create the project, copy the key
  • Offboard a client, or rotate a leaked key, without touching anyone else
  • Drop-in for the OpenAI and Anthropic SDKs: change the base URL and the key
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

Know what every client costs your agency, to the cent.

Every call is stamped with its client, project, tool, and model the moment it happens. No tagging, no month-end reconciliation.

  • Live spend per client, per project, per model
  • Monthly budgets per client and per project
  • Per-call caps and allowed tools and models, checked before the call runs
  • Blocked calls return a clear reason your agent can read and explain

Spend by client

September

ClientCostRebill
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

Built for agencies running AI for other people’s businesses.

Sleep through the 2 AM loop

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.

Hear about it before the client does

Budget alerts

An email and a webhook at 50, 80 and 100% of every client and project budget. Once per threshold, not a flood.

Say yes in one click

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.

Rebill with confidence, and keep your margin

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.

A FinOps reviewer you’d never hire

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.

Let your agents set themselves up

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.

One wallet instead of five invoices

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.

Nothing to rebuild

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

Clement Bernard

Founder, Visionbds · AI automation for construction

How it works

Live in an afternoon.

01

Add a client and a project

Mirror how you already work: Durand Construction → Quote generator. Set a monthly budget if you want one.

02

Swap out the provider keys

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

Run, watch, rebill

Spend lands on the right client in real time. At month end, export the CSV and send the invoice.

In the catalog today

OpenAIAnthropicPerplexityGoogle Maps via ApifyDataForSEOMore tools every month

FAQ

Questions agencies ask.

Do I still need provider accounts for each client?+

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.

What happens when a budget is reached?+

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.

Will it break my existing automations?+

Change the base URL and the key in your OpenAI or Anthropic SDK. Streaming, tools, and provider headers pass through unchanged.

Do my clients see or manage anything?+

No. key.one is for your agency. Keys live in your automations, and your clients just get an accurate invoice from you.

How is usage priced?+

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.

Fewer keys to manage.
Every client’s AI spend under control.

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