An AI allowance for every engineer and agent.
Fund one balance in USDC or USDT and split it into allowances. When an allowance runs out, the next request is refused at the gateway, before it reaches the model. Nobody gets a bill they didn't plan for.
Company balance
Funded in USDC · $5,950 not yet allocated
charged for a refused request
to move an app over: the base URL and the key
typical time RailGate adds to a call
Why allowances
A shared key has one limit, and everyone draws on it.
Most gateways put a cap on the whole account, or bill you at the end of the month. So when one agent loops overnight, it spends the team's budget, and the first person to notice is finance.
RailGate gives each person, app and agent its own funded allowance. The worst case is always a number you chose in advance.
One shared cap
$5,000 a monthRailGate allowances
$5,000 a monthUSE CASES
One balance. A budget for every job AI does for you.
Pick a situation to see how a team would set it up, and what happens on a bad day.
Every engineer gets their own monthly budget for Claude Code.
THE SETUP
- Members
- 20 engineers, one key each
- Allowance
- $400 a month each
- Daily cap
- $60
- Models
- Opus 5 · Sonnet 5 · Haiku 4.5
- Refill
- 1st of every month
WHAT HAPPENS
- 09:12
priya · sonnet-5 · charged $0.21
- 15:40
marco hits his $60 daily cap. The next call is refused and costs $0.00.
- 15:41
The other 19 engineers keep working. Marco is back tomorrow.
The most you can spend this month is $8,000, and you knew that on the 1st.
Give an AI agent its own wallet, so a bug can never drain yours.
THE SETUP
- Member
- support-agent, its own key
- Allowance
- $1,500 a month
- Daily cap
- $50
- Models
- Haiku 4.5 only
WHAT HAPPENS
- 10:02
support-agent · haiku-4-5 · charged $0.003
- 02:14
A retry bug starts looping. Thousands of calls in minutes.
- 02:31
The $50 daily cap is reached. Every further call is refused at $0.00.
A bad night costs at most $50. You find out from the Activity page in the morning, not from an invoice.
Give jobs that run by themselves a weekly limit nobody has to watch.
THE SETUP
- Member
- nightly-reports
- Key spending cap
- $500 a week
- Models
- Sonnet 5
- Key
- replace in one click if it leaks
WHAT HAPPENS
- 06:00
Daily sales summary written · sonnet-5 · charged $0.42
- 11:20
A broken job starts sending the same request again and again.
- 11:26
The $500 weekly limit is reached. The job stops; the team does not.
A runaway job stops at $500. Engineers have their own allowances, so their work is untouched.
Hand out keys that switch themselves off when the work is done.
THE SETUP
- Members
- 3 contractors
- Allowance
- $250 each
- Key expiry
- 21 Oct 2026
- Models
- Sonnet 5
WHAT HAPPENS
- 7 Oct
Keys issued from the console, shown once
- 18 Oct
ana · sonnet-5 · charged $1.12
- 21 Oct 00:00
The keys expire. Any call now returns 401 key_expired.
Nobody has to remember to revoke anything. Access ends on the date you set.
Keep every client's AI spend separate, and easy to bill back.
THE SETUP
- Members
- acme-co · globex · initech
- Allowance
- set per client
- Models
- chosen per client
- Activity
- spend per member, per day
WHAT HAPPENS
- Mon
acme-co · sonnet-5 · charged $3.40
- Tue
globex · haiku-4-5 · charged $0.02
- Wed
initech has used its allowance. Its calls are refused; the others carry on.
Each client's cost is its own line, and no client can spend another's budget.
Fund AI from the treasury you already hold. No card, no invoice.
THE SETUP
- Funding
- USDC or USDT
- Balance
- one company balance
- Billing
- prepaid, charged per call
- Ledger
- every entry recorded once
WHAT HAPPENS
- 1 Oct
Deposit · 25,000 USDC · confirmed and credited
- 1 Oct
Allowances handed out to 30 members
- 31 Oct
Month end. There is no invoice to pay.
You pay up front from the wallet you already use, and the ledger shows where every dollar went.
PLAN YOUR BUDGET
Know your worst month before it starts.
Put in who you want to fund. The total is not an estimate. It's the most RailGate will ever let your team spend in a month.
- Engineers
Claude Code and other coding tools
20people$400each, a month - AI assistants
A support chatbot, a sales helper
3assistants$300each, a month - Automated jobs
Tasks that run on their own, like nightly reports
2jobs$250each, a month
THE MOST YOU CAN SPEND IN A MONTH
$9,400
25 funded keys · $112,800 a year at most
- 20 people × $400$8,000
- 3 assistants × $300$900
- 2 jobs × $250$500
Fund one balance in USDC or USDT, and allowances refill from it each month. Change any number later; it applies to the next request.
Request access with this planThe console
Every allowance, every call and every refusal, in one place.
Members
People, apps and agents using your company allowance.
| Member | Key | Status | Allowance | Used |
|---|---|---|---|---|
| Maya | Claude Code | Active | $500.00 | $412.00 |
| Ray | ray-dev | Active | $750.00 | $247.50 |
| Support agent | support-agent | Active | $300.00 | $96.00 |
| Report bot | report-bot | Allowance used | $2,000.00 | $2,000.00 |
| Data team | data-team | Paused | $400.00 | $128.40 |
| Design tools | design-tools | Active | $100.00 | $31.20 |
Every member has their own funded allowance.
For developers
Change the base URL. Keep your code.
RailGate speaks the OpenAI and Anthropic APIs. Point your SDK or Claude Code at RailGate, use the member's key, and you're done. Streaming works on both, and tool use, images and prompt caching pass through on the Messages API.
- usage.charge_micros
- Every response says what the call cost.
- GET /key
- See what a key can still spend before a big batch job.
- x-railgate-overhead-ms
- The time RailGate added, on every response.
- POST /key/rotate
- Replace a leaked key. The old one stops at once.
# pip install openai
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["RAILGATE_API_KEY"],
base_url="https://api.railgate.ai/functions/v1/gw-proxy/v1",
)
reply = client.chat.completions.create(
model="sonnet-5",
max_tokens=300,
messages=[
{"role": "system", "content": "You are concise."},
{"role": "user", "content": "Give me three names for a railway cafe."},
],
)
print(reply.choices[0].message.content)
print("charged", reply.usage.charge_micros, "micro dollars")HTTP/1.1 402 Payment Required
{
"error": {
"type": "insufficient_credit",
"message": "Not enough allowance or credit to start this request.",
"spendable_micros": 1200,
"required_micros": 8800
}
}Controls
The limits finance asks for, set per key.
Set them when you add a member and change them whenever you like. They apply to the very next request.
- Allowance
- A monthly amount for each member, drawn from the company balance.
- Daily cap
- The most an allowance can spend in one day. Resets at midnight UTC.
- Key spending cap
- A limit on one key per day, week, month or in total.
- Models
- Choose which models each key may call. Anything else is turned away.
- Refill and rollover
- Refill allowances from the balance each month, and let unused allowance carry over if you want.
- Pause and expiry
- Pause a member in one click, or give a key an end date.
- A ledger you can't edit
- Every deposit, allocation and charge is recorded once and never changed.
TRUST AND SECURITY
Built so money can't go missing.
The questions your finance and security teams will ask, answered by how the system is built rather than by a promise.
Refused before the model
Every request reserves its most possible cost first. If the allowance can't cover it, the model never sees the request and you pay nothing.
hold → call → settle
Charged exactly once
Each request settles one time. A retry or a dropped connection can't bill you twice, and an unfinished hold is released automatically.
one settlement per request id
A ledger nobody can edit
Deposits, allocations and charges are written once. A correction is a new entry, never a change to an old one.
append-only, reconciled every night
Credit only leaves as usage
Your balance can be spent on model calls and nothing else. There is no withdrawal path for anyone to abuse.
closed loop
Keys we can't read
We keep a fingerprint of each key, not the key. You see it once, and a leaked key is replaced in one call.
SHA-256 hash · POST /key/rotate
Your prompts aren't kept
RailGate passes your prompt to the model and keeps only the facts needed to bill: model, tokens, cost and time.
no prompt or answer text stored
Why we built it
Giving a team AI tools shouldn't mean handing everyone an open tab. Fund what you mean to spend, give each person and agent their share, and let the system hold the line.
railgate.ai
FAQ
Questions
No. Keep your OpenAI or Anthropic SDK and change the base URL and the key. Claude Code works the same way.
Their next request is refused with an "insufficient_credit" error and nothing is charged. An administrator can add to their allowance at any time.
By default it expires at the end of the month, so a monthly plan buys that month of access. You can switch on rollover for any member.
Credit is for model usage on RailGate and is not converted back to stablecoin. Fund what you expect to use and top up as you go.
USDC and USDT. The supported networks are shown when you add funds.
Request access
Set the budget once. RailGate holds the line.
We're onboarding a small number of teams. Tell us how many people and agents you want to fund, and we'll set you up.