now in open alpha

AI spend, governed.Not just observed.

Spillway is the control plane between your apps and every model — budgets that block, approvals that gate, and routing that saves.

api.spillway.dev / v1 / route live
Incoming prompt
Tokens
0
Classifier
2.1 ms
Policy
balanced
Tier probability awaiting prompt
cheapmidpremium
Routed to
awaiting route
one endpoint

Every model. One line of code.

your code, unchanged
model="auto"
one key · one endpoint · every request metered & governed
enforced at the gateway
0

The over-budget request is refused before the spend. It costs exactly $0.

budgets cascade org → team → key · hard-stop, alert, or monitor · fail-open by default, fail-closed per key

finance-grade

See every dollar. Govern the next one.

Live spend by org, team, and key — every request priced from a unit-price snapshot, and the monthly statement reconciles to the cent.

Explore the console
Monthly spend
$0
0%
$120k$80k$40k$0
110
101
85
76
66
64
DecJanFebMarAprMay
$0blocked pre-spend this period
spend reconciled ✓ to the cent
transparency

Replay any decision.

Every prompt, its tier, the model it took, and what you saved.

See the route log
Recent routeslive
classify tickethaiku0%
refactor hook4.1-mini0%
summarize docflash-lite0%
analyze 10-Kgemini-pro0%
rewrite tonesonnet0%
governance

Budgets that block. Approvals that gate.

Limits cascade org → team → key and hard-stop at the gateway. Big spends wait for a human yes.

See governance
Spend limits · Juneenforcing
org · acme$8.2k / $20k
team · platform$3.1k / $5k
key · batch-embed$970 / $1k
budget increase · +$500requested by dev-platform pending
✕ 3 requests blocked at the limitzero overruns
approvals

Spend that needs a human gets one.

batch-embed +$500/daypending · 1 of 2
quorum · platform leadsdelegation on
decided from Slack or signed linkaudit-logged
anomalies

The spike is caught mid-flow.

batch-embed at 4.2× baselineWARN
auto-suspend armedACT
org forecast within budgetPASS
chargeback

The statement finance can use.

eng · platform$3,112.40
data science$1,890.22
Σ requests = Σ ledgerreconciled ✓
guardrails
INCOMING PROMPT1,284 tok

“Summarize this 40-page vendor contract and flag every clause that creates liability for us.”

legallong-contexthigh-stakes
first attempt
claude-3.5-haikuCHEAP · small model
draft answer
escalation
claude-3.7-sonnetPREMIUM · large model
verified answer
QUALITY GUARDRAIL accept ≥ 0.85 0.62 0.94
scroll to play
architecture

Where it sits.

A base-URL swap puts the gateway in the path. Everything else follows from that.

your app base_url swap Spillway GATEWAY · /v1 · OPENAI-COMPATIBLE budgets approvals anomaly routing openai anthropic · google any openai-compat 402 · $0 spent chargeback · audit exports → your finance stack
drop-in compatible

Change one line.

Point your OpenAI client at Spillway. Keep everything else.

Read the docs
route.py
# pip install openai — no new SDK
from openai import OpenAI

client = OpenAI(
    base_url="https://api.spillway.dev/v1",
    api_key=os.environ["SPILLWAY_KEY"],
)

resp = client.chat.completions.create(
    model="auto",            # let Spillway choose
    messages=messages,
    extra_body={"policy": "balanced"},
)

# resp.spillway → {tier, model, saved_usd}
print(resp.spillway.model)   # gpt-4.1-mini
pricing

Free to start.

Governance when you need it. Never a percent of your spend.

Free
$0 / mo
  • One endpoint, every model
  • Budgets & spend alerts
Start free
Governance
$299 / mo
  • Approval workflows
  • Chargeback & audit exports
Start free

Enterprise — in-region, on-prem, SLA · Talk to us

get started

Govern your AI spend today.

No credit card · 5-minute setup