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

Support copilotkone_live_…
Doc extractionkone_live_…

Client

Medix Clinics

Intake summarieskone_live_…

Client

Parcel Labs

Address parsingkone_live_…

Every tool

  • OpenAI
  • Anthropic
  • Perplexity
  • + more
Sound familiar?

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.

10x

growth in usage the month a client’s agent feature ships, on a key you cannot cap per client.

2

accounts per client, per provider, if you want clean attribution the provider way.

1 line

you cannot put on the invoice: what this client’s AI cost this sprint.

How keyone fits

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

Active

Projects

One key per project, valid for every tool
  • 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 project

The 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

Export CSV

Spent

$122.50

Rebill

$159.25

Calls

27,716

ProjectCallsPriceRebill
Quote generator10,622$43.05$55.96
Site reports13,974$36.26$47.14
Supplier emails3,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.

How it works

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.

Start with one client project

No monthly subscription. Add funds when you’re ready to run. Or book a demo