For dev shops and software agencies
Ship AI features for clients, with a budget in the code.
Change a base URL and a key in the client’s codebase. Every call is attributed to that client and checked against its budget, and the cost report is ready when the sprint invoice is.
No monthly subscription. Add funds when you’re ready to run.
Workspace
Your agency
One wallet
Client
Harbor Fintech
Client
Medix Clinics
Client
Parcel Labs
Every tool
- OpenAI
- Anthropic
- Perplexity
- + more
Every client codebase needs provider access. Whose account is it on?
A provider account per client, or yours
Either you open OpenAI and Anthropic accounts in each client’s name and chase their card, or you put your agency key in their repo and lose attribution.
Staging burns like production
Test suites, agent loops and an afternoon of prompt iteration all bill the same key as the client’s live traffic.
The cost line is missing from the invoice
Hours are tracked. Tokens are not. The AI cost of the sprint is somewhere in a provider invoice that also covers four other clients.
The cheapest line in the proposal is the hardest to invoice.
AI usage is small next to engineering hours, so it gets absorbed. Then a client ships an agent feature, usage grows tenfold, and it is still absorbed because nobody set up attribution on day one.
growth in usage the month a client’s agent feature ships, on a key you cannot cap per client.
accounts per client, per provider, if you want clean attribution the provider way.
you cannot put on the invoice: what this client’s AI cost this sprint.
A base URL, a key and a budget per client codebase.
keyone is a drop-in for the OpenAI and Anthropic SDKs. Point the client’s code at keyone with the project key, and attribution, caps and reporting come with it.
Change two lines, keep everything else
Streaming, tools, structured outputs, prompt caching and provider headers pass straight through. The official SDKs, the Vercel AI SDK and LangChain are covered.
- OpenAI and Anthropic SDK compatible, streaming included
- One installer rewires the constructor calls it finds
- Each response carries its cost in a header
from openai import OpenAI
from anthropic import Anthropic
client = OpenAI(
base_url="https://getkeyone.com/api/proxy/openai/v1",
api_key="kone_live_a2…", # Durand · Quote generator
)
# Same key, another tool: no new account, no new secret
claude = Anthropic(
base_url="https://getkeyone.com/api/proxy/anthropic",
api_key="kone_live_a2…",
)Separate projects for staging and production
Give each environment its own project and budget under the client. Tests cannot eat the production budget, and a loop in staging freezes staging alone.
- A project per environment or per feature
- Allowed models per project
- Spike auto-freeze per key
Clients /
Durand Construction
ActiveProjects
Quote generator
kone_live_a2••••••••
Budget
$80.00/mo
This month
$43.05
Site reports
kone_live_7c••••••••
Budget
$60.00/mo
This month
$36.26
Supplier emails
kone_live_e9••••••••
Budget
$40.00/mo
This month
$43.19
3 projects · 3 keys · 0 provider accounts
New projectThe AI line on the sprint invoice
Pull a report per client for the billing period and export it. Pass it through at cost or with your markup.
- Report per client for any date range
- CSV with cost, price and rebill amount
- Bill it, include it or absorb it, knowingly
Durand Construction
October 2026 · rebill at 30% markup
Spent
$122.50
Rebill
$159.25
Calls
27,716
| Project | Calls | Price | Rebill |
|---|---|---|---|
| Quote generator | 10,622 | $43.05 | $55.96 |
| Site reports | 13,974 | $36.26 | $47.14 |
| Supplier emails | 3,120 | $43.19 | $56.15 |
Your coding agent can do the setup
Claude Code or Cursor installs the keyone skill, creates the client and project, and rewires the code without the key ever touching the chat.
Keys hashed, shown once
Project keys are SHA-256 hashed at rest and shown once. Rotate per project, revoke per client.
A daily spend review
The controller flags premium models on trivial tasks and idle budgets, and proposes the fix. Nothing changes until you click Apply.
Live in minutes.
01
A client, then a project per environment
Harbor Fintech → Support copilot (production), Support copilot (staging). Set a budget on each.
02
Point the SDK at keyone
Run the keyone installer in the repo, or set the base URL and key by hand. Deploy the same variables to production.
03
Invoice the sprint
Export the client report for the period and add the AI line.
Questions dev shops and software agencies ask.
Pick one client.
Know what their AI costs.
Connect a project, set its budget, and see its usage in one place.
No monthly subscription. Add funds when you’re ready to run. Or book a demo
Carine