Set up in three steps, about five minutes
No credit card or currency exchange needed. Even first-time users can complete setup on their own by copying from the guide.
Create an account
Sign up with an email address and a verification code. No payment or card is required.
Create a key
Choose a plan in the console and create a key. The key is shown in full only once, so copy it now; you'll need it in the next step.
Change one config, following the guide
Open the setup guide, pick your OS and tool, paste the config it gives you, then use your tool as usual. Claude Code, Codex, OpenCode and others have step-by-step instructions.
Signing up is free. After you sign in, choose a plan and create a key in the console.
One-click setup is still in development. For now, configure by hand with the guide: every step gives the exact file location and content to copy, no command-line experience needed.
What it looks like once connected
It is the tool you already use — same interface, same commands. Only the models and quota behind it come from here.
> Add unit tests for utils/date.ts
Read utils/date.ts
Wrote utils/date.test.ts (+48 lines)
Ran npm test
12 tests passed
Most common tools connect directly
We support both the OpenAI and Anthropic API formats. Any tool that lets you change its endpoint works by pointing that setting at us, with no plugin to install. Click the tool you use to see its guide.
Don't bet your whole workflow
on a single model.
Models are updated every quarter and prices keep falling, so today's best model may not be the first choice next year. We group models into four capability tiers; one quota is consumed at each tier's own rate, and you can switch from the web console.
Domestic models are more than a budget fallback. For long-form Chinese and bulk processing they are often the better fit, and they cost less.
| Capability tier | Input (lowest now) | Output (lowest now) | When it's the smart choice |
|---|---|---|---|
| Frontier | 0.75 | 3.75 | Long agent chains, complex refactors, work that has to be right the first time |
| Balanced | 0.75 | 3.75 | Everyday coding and review — the default for most people |
| Domestic flagship | 1.26 | 1.26 | Long-form Chinese, research digests, cost-sensitive batch work |
| Fast & light | 0.58 | 3.51 | Completion, classification, formatting — anything latency-bound |
Which models
Pricing and context per model →- Frontier
- claude-fable-5-1claude-fable-5claude-opus-5-5claude-opus-5gpt-6-astraclaude-opus-4-8gpt-6.1-solgpt-6-solgpt-5.6-solgpt-5.6gpt-5.5
- Balanced
- gemini-3.1-proclaude-sonnet-5grok-4.7gpt-6-lunagrok-4.6gpt-5.6-terragrok-4.5
- Domestic flagship
- deepseek-v4-prokimi-k3glm-5.3kimi-k2.8-previewdoubao-seed-2.1-prokimi-k2.7-codedoubao-seed-evolvingminimax-m3
- Fast & light
- claude-sonnet-5-5gemini-3.8-flashgemini-3.8-flash-tiereddeepseek-v4.1-flashgemini-3.7-flashgemini-3.6-flashdeepseek-v4-flashgemini-3.5-flashgemini-3-flashdoubao-seed-2.1-litegemini-3.5-flash-litegemini-3.1-flash-liteglm-5.3-flashdoubao-seed-2.0-mini
This table is published at /models; multiplier changes take effect once published there, and the full change history is public. The same monthly quota spent entirely on the frontier tier, versus routing everyday work to Balanced and bulk work to Domestic, differ several times over in how much work gets done. You decide how to use your quota; we record every unit of it clearly.
Prism sends each task where it belongs
Everyday tasks vary widely in difficulty. Running both a variable rename and a module refactor on the most expensive model wastes a lot of money.
Prism is our routing layer. Every request passes through it first, gets assessed for difficulty and required capabilities, then lands at the right point on the spectrum. Use the auto preset we maintain, or write your own rules.
You can also choose the model yourself
One model field, two ways to use it: name a specific model and it's pinned to that one; put auto or your own custom model name there and Prism routes it. Switching between the two changes nothing else — no reconfiguration, no code churn.
model: "model-a" // Pinned to this model, Prism stays out of it model: "auto" // Handed to Prism, picked by task difficulty model: "coder" // Your own custom model, your own rules
Custom models: a model chosen for each turn
Answer four questions to create a custom model name, such as coder. When you call it, work that needs aesthetic judgment or is difficult goes to a strong model, clearly simple work goes to a cheaper one, and everything else goes to the default you chose. Every rule and threshold is laid out in the console; replay a change against your own traffic, then save it as a new version.
Drag the slider to see which model handles each message
Sample conversation · illustrative probabilities · same rule code as productionyouMake the login page buttons and spacing look nicer
Frontend0.84Taste0.78Hard0.10Strong modelFrontierDoing it well needs tasteyouWrite a script that unpacks the .gz files in logs/ and files them by date
Script0.90Taste0.03Hard0.06Cheap modelFast & lightClearly simple workyouWhat does this error mean: Cannot read properties of undefined
Debug0.78Taste0.02Hard0.16Cheap modelFast & lightClearly simple workyouMove the order module from callbacks to async/await without changing behavior
Refactor0.80Taste0.04Hard0.58Strong modelFrontierJudged hardyouAdd a pagination field to this endpoint without breaking old clients
Backend0.71Taste0.05Hard0.30Default modelBalancedNone of the above, defaultyouWrite a README section for this endpoint
Writing0.74Taste0.28Hard0.05Default modelBalancedNone of the above, defaultyouDesign data isolation for multi-tenancy and list the trade-offs
Architecture0.86Taste0.12Hard0.72Strong modelFrontierJudged hardyouHi, quick question first
Chat0.95Taste0.01Hard0.01Cheap modelFast & lightClearly simple work
Judging looks at your latest message and discards it; we keep only numbers such as the judged probabilities, never conversation content. Saving can be turned off and cleared at any time.
Routing by task type is not open yet. You can already create and call a custom model; until it opens, every turn goes to the model you set for “when unjudged”, with no changes needed once it does.
Cheaper must never mean worse. When difficulty is near a boundary, auto always picks the stronger model; this rule is fixed. In a custom model you set the balance: work goes to a cheaper model only as far as you tilt it toward cost, and every such decision is recorded in the routing trace.
- Tune the mix, see how much more you get done Weight each capability tier and convert at the published rates, live.
- Automatic failover to a model of the same capability Stays within the same tier and never drops to a cheaper one. On by default; you can turn it off.
- Every routing decision can be replayed Traces are kept for 30 days, exportable and checkable line by line.
How quota is counted, out in the open
We measure usage in a single unit, the CU: 1 CU = 1,000 output tokens on the reference model
Every model's input and output coefficients are published, and every call is inspectable, exportable and reconcilable. Each plan's monthly quota, and roughly what it is worth, is on the pricing cards below.
5 hours · week · billing month
All three apply at once and are live in the console. The billing month is anchored to your signup date, not the calendar month, so subscribing late in the month still gives you a full month of quota. The Max plan has no 5-hour window.
Every single call is inspectable
Timestamp, model, input and output tokens, CU charged, latency, trace ID. Exportable as CSV by project and date range.
Full multiplier change history
The price and quota of a subscription already sold never change mid-period. Plan versions are immutable; a price change applies only to new subscriptions. Per-model CU rates follow our cost and take effect once published; usage already recorded is never recalculated, and every change stays in the history on the models page.
Refunded pro rata
Cancel any time and get the unused portion of the period refunded.
Whether each group is up right now
The status page gives you, per capability group: whether it is serving right now, the 30-day success rate, and 90 days of daily request and failure counts (any month exportable as hourly counts). Computed from real user requests — we send no probes — and request-side errors like insufficient balance or bad parameters are excluded. Latency is internal only for now; we do not publish it.
Alerts before you run out
At 80% of your weekly or monthly quota (the threshold is fixed for now, not configurable) you get a heads-up plus a recommendation: which tier to switch to and how much longer it buys you, or what upgrading would cost. The 5-hour window doesn't send email alerts; its remaining amount is returned in every response header and shown live in the console.
We don't compete on price. We focus instead on reliable supply, clear billing, and taking responsibility when problems occur.
Try it out
- 8,000 CU / week
- 5-hour window 1,440 CU
- Choose from every model
- Prism auto routing
Everyday coding
- 24,000 CU / week
- 5-hour window 4,320 CU
- Choose from every model
- Email support, answered by a person
Heavy agent use
- 144,000 CU / week
- 5-hour window 25,920 CU
- Custom Prism models
- Priority routing (planned)
Many parallel sessions, no 5-hour window
- 480,000 CU / week
- 5-hour window Unlimited
- 16 concurrent requests
- Dedicated routing (planned)
The low end uses our users' actual average on frontier models over the last 30 days; the high end applies the same usage to the cheapest text model on sale right now. Both include the context each request carries. Quota is drawn in CU by usage, never by request count; see the Models page for each model's per-token rates.
Full comparison and plan finder →One contract, your whole team's usage and cost under control.
All of the following runs on our own gateway, where quota, routing, metering and audit share one codebase.
Central purchasing and billing
Buy by seat or by quota pack, invoiced once, paid by transfer. Annual master agreements and prepayment supported.
Department and project quotas
Split the pool across departments, projects and individuals, each with its own weekly and monthly ceilings and alert thresholds. One team overrunning never affects another.
Cost attribution
Consumption broken out by project, member and model, exportable to your own BI.
SSO and member governancePlanned
Planned: OIDC and SAML plus the major workplace identity providers, joiner-leaver sync; single sign-on is not built yet. Key scoping and forced rotation are available today.
A shared Prism policy
Define one routing policy for the team and push it to everyone. Costs stay predictable, and members don't need to decide individually which model to use.
Private deployment and compliancePlanned
DPAs, security questionnaires and audit support are available today. Gateway nodes inside your own VPC are not available yet.
Your code and prompts are not stored by default
What you send us is often your most sensitive material, including source code, internal documents and client data. Here is how we handle it.
Request and response bodies are not stored by default
The gateway records only what metering requires: model, token counts, latency, status code, trace ID. Bodies are forwarded in memory and released the moment the stream ends — no logs, no database, no object storage. There are three exceptions, all listed in section 3 of the Privacy Policy: Responses API session content is kept for at most 5 hours; video job prompts and generated image and video files (7 days); and files you choose to save to the asset library.
Not available
We do not offer diagnostic logs that capture request bodies, and there is no switch that turns one on. If we offer this in future, it will be off by default, enabled only by you, limited by a stated retention period, and announced in advance. Until then, outside the exceptions in section 3 of the Privacy Policy, we have no way to see your request bodies.
No training, no resale, no human reading
Your content never enters any training or fine-tuning pipeline, is never handed to third parties beyond what your request needs, and staff have no access. All three are written into the terms of service and legally binding.
Encrypted end to end
TLS 1.3 externally, mutual TLS between internal services, and encryption enforced on connections to model services too.
Stored as hashes only
API keys are stored only as hashes, and the plaintext is shown once, at creation. It can't be retrieved later, so a lost key must be rotated.
Least privilege, fully audited
Every back-office action touching an account is recorded: who, when, what changed, from which IP. Audit logs are tamper-evident and can be produced on request.
Export or delete at any time
Usage data is exportable whenever you want. On closure, your email, credentials, keys and technical logs are destroyed within 30 days; the transaction and usage ledgers cannot be deleted and are instead unlinked from you; see the privacy policy. Self-service account closure is not built yet; for now, email [email protected].
You hear from us within 72 hours
If a security incident could affect your data, we notify affected users within 72 hours and publish a post-mortem.
How we make money, stated plainly
Where our revenue comes from, and what we commit never to do.
We earn the spread on purchasing scale and routing efficiency.
We buy at volumes far beyond any individual user and turn that scale, plus Prism's routing efficiency, into your price. This business only works if you stay: acquiring a customer costs far more than a month of gross margin, so losing a customer is a net loss.
We don't earn on quota you never spend — cancellations are refunded pro rata. We don't earn by giving you less than you asked for — the model you pick is the model that runs. We don't earn on your data — no training, no resale.
Long term the profit comes from teams and enterprises, and enterprise buyers only work with vendors that have a good reputation. Keeping that reputation is a rational business choice for us.
Eight things we will never do
This list becomes a standalone Service Commitments page and takes effect alongside the terms. Break any one of them and you can demand a full refund.
- 01
Never silently substitute the model you chose
No reduced parameters, no truncated context, no quiet downgrade at peak hours. The response header carries the model that actually ran, so you can check for yourself.
- 02
Never train on, resell, or read your content
Your prompts and outputs enter no training pipeline, go to no third party, and staff have no access.
- 03
Never reduce quota terms mid-subscription
Any change to prices or quotas applies to new periods only; multiplier changes take effect once published on the models page, and usage already recorded is never recalculated.
- 04
Never manufacture urgency with fake deadlines or fake scarcity
List prices stay stable; any promotion is shown as a separate line, never a raised price marked down. Every campaign publishes its rules, slots, budget and end date before it starts — no shortened deadlines, no inflated "only N left". Referral rewards are single-level; no multi-level schemes. Campaigns never change the price or quota of a subscription already sold.
- 05
Never claim official authorisation from any provider
We are an independent aggregation gateway and make no such claim.
- 06
Never pretend an outage didn't happen
Any incident affecting more than 1% of users gets a signed post-mortem within 48 hours: what happened, root cause, what we changed.
- 07
Never put obstacles in front of a refund
Refund rules are fixed in the terms. Open a ticket and that is it: no extra hurdles, no reason required, no retention flow, refunded within 3 working days.
- 08
Never disappear without notice
If we ever shut down, you get 60 days' notice, a full refund of unused quota, and help migrating elsewhere.
Your request bodies have a market price
This rarely gets said out loud. Every prompt and every file a user sends can be recorded in full — distilled into smaller models, packaged and sold as training data, or quietly traded between platforms. No notification is sent, and the terms usually contain no explicit prohibition.
The internal documents, client data and unreleased code you pasted in may already be in somebody's training set.
We oppose this practice and back that up with the measures below.
- 01
Zero retention is architecture, not policy
There is no code path in the gateway that writes a request body anywhere; the system has nowhere to store bodies, and that can be verified by audit.
- 02
We buy no data of unclear origin
We purchase request corpora from no platform and no data broker, at any price, under any label.
- 03
We refuse data-for-price deals
When a provider offers a lower rate in exchange for data sharing, we decline.
- 04
We accept verification
All of this goes into the terms of service with legal force. We accept third-party security audits, and you're welcome to inspect the traffic yourself.
We can't change the whole industry, but we can guarantee that data passing through our gateway goes nowhere else.
Frequently asked questions
I've never used anything like this. Can I set it up myself?
Yes. Sign up, create a key in the console, then open the setup guide, pick your OS and tool, and paste one block of config — every step says which file, what to paste and how to tell it worked. If you get stuck, open a ticket in the console and a person answers. We email you when a ticket gets a reply.
Could you suddenly shut down?
We issue invoices and sign contracts. Service Commitment 8 states that if we stop, you get 60 days' notice, a full refund of unused quota and migration help. You can also start on ¥49 Lite for a month — there's no annual lock-in.
Could my quota be quietly reduced?
No. Plan versions are immutable: the price and quota at the moment you subscribed are fixed for the whole period, and any change applies to new periods only. Per-model CU rates follow our cost and take effect once published on the models page; usage already recorded is never recalculated, and the full change history is public.
Does Prism routing use cheaper models?
Yes, but only when the task doesn't need a stronger one. The logic and the outcome are both visible to you: every request's trace carries the difficulty score, the rule that matched and the model that actually ran, retained 30 days and exportable. Borderline difficulty always rounds up, and requests declaring tool use or long context exclude models that can't serve them. You can also skip Prism entirely and name the model yourself.
What happens when a model goes down? Do I pay more?
Failover is on by default: for a failure before output starts, Prism moves the request to a backup model in the same capability tier, so your call doesn't fail. If the upstream fails after output has started, the request can't be switched; you get an interruption error and what was generated is billed as usual. Failed attempts aren't billed — only the one that returns. After a failover you are billed at the price of the model that actually served the request. You can turn failover off (set failover.enabled to false in a mix); you can't currently choose the backups or their order — Prism picks within the same tier.
What if I run out of quota early?
Two options today: switch to a cheaper capability tier and keep going; or upgrade, with the difference prorated over the remaining days and your billing date unchanged. You can also use pay-as-you-go, drawing from your balance at ¥1 = 500 CU with the same per-model rates as your plan. Off by default; enabling it requires a monthly ceiling, and charging stops there.
Can anyone read my code and prompts?
Not stored by default. The gateway records metering metadata only; bodies are forwarded in memory and released when the stream ends. No training, no resale, no staff access — all three are written into the terms with legal force.
Is every model available everywhere?
No. Some models have not completed generative-AI service filing in mainland China and are therefore not offered to users there; the console labels regional availability per model. Please state your location accurately — circumventing regional restrictions is the user's own responsibility, as set out in section 4 of the terms.
Why you instead of buying from the provider directly?
Three reasons: CNY billing and invoices, so no credit card or FX; one quota covering models from several providers including domestic ones, switchable without code changes; and Prism, which gets more work out of the same quota — how much more depends on how much of your work genuinely needs the frontier tier: below roughly 30% frontier share the same quota does about twice the work; if 90% of your calls must run on frontier, the difference is small. The comparator on /prism lets you work it out yourself. If you use exactly one model from one provider and already have a working payment method, going direct is simpler.
Are you officially authorised?
No, and we won't claim to be. We are an independent multi-provider aggregation gateway.
Compute should work like utilities:metered transparently, drawn on demand,and switchable to another supplier at will.
A credit card, an exchange rate, a regional restriction — none of these should be the reason someone can't use the best AI available. That's why we started.
Then we found a second reason. Good models are becoming accessible, but the price is often that you hand over your data without knowing it. That price shouldn't exist, and we'll do what we can to prevent it.
What we build is the pipe in the middle. We want it sturdy, we want the accounting honest, and we want you free to leave whenever you like. While you're using it, it's only a pipe — it doesn't keep a single word.
Try it for a month, then decide
No annual lock-in, cancel whenever. Full refund within 7 days if you've used under 10% — just open a ticket.