A deployment recipe for gateway operators who resell model access through one-api: point the one-api channel at a Dynamo-capped OpenAI-compatible base URL and use each user's allowance credential as the channel API key. A path, not a fork — nothing in one-api is patched; the hard cap, fail-closed 402s, revocation, and metering all live in the proxy layer.
one-api (storefront: users, tokens, quotas)
│ channel base_url = the capped proxy
│ channel key = the user's Dynamo allowance credential (JWS)
▼
dynamo-gateway-kong (guard flow: OFFLINE credential verify, 402 fail-closed,
│ inline cap enforcement, ASYNC metering)
▼
your OpenAI-compatible upstream
The engine host — billing truth: voucher signing keys plus the session ledger — runs BESIDE the data plane, next to your billing infrastructure, never inside the proxy fleet. One user = one capped stream + one offline-verifiable credential; issuing a user is three SDK lines (budget.stream(...) → stream.credential(...)).
cd /Users/steve/dpv1-aug26 && pwd
pnpm install && pnpm -r build # once: builds the SDK the host imports
cd operator-path
node host/host.mjs & # engine host (Control Mode)
docker compose up -d # one-api storefront + capped proxy
The compose stack pins one-api v0.6.10 (the newest stable multi-arch tag) and the kong:3.9 gateway image. The recipe ships a mock upstream; a real provider key just re-points the proxy's upstream service.
Demo-only login: the one-api admin flow uses the image's well-known
default root login on a throwaway local container. Change it immediately
for anything that outlives a demo.
Gateway operators are a named early channel for Dynamo, and the vetting bar is deliberate: design partners are vetted for clean operations. The protocol's guarantees run in your proxy layer — offline credential verification, fail-closed denials, async metering — and those guarantees are only as credible as the operation running them. If you run a gateway and want capped, revocable, per-user allowances with settlement-grade metering underneath your storefront, this recipe is the on-ramp; the integrator acceptance checklist is the bar to clear.