Revolut Moved 2,000 Engineers Off Claude Code and Codex Onto Self-Hosted GLM 5.3: 56 B200s, $0.30 Per Million Tokens, Bill Down 90%
Revolut has made an open-weight Chinese model the default coding assistant for roughly 2,000 engineers, and says its AI coding bill is now about one-tenth of what it paid Anthropic and OpenAI. David Abitbol, who leads AI operations at the bank, laid out the numbers at the AI Engineer conference in New York on October 13. Coverage of the talk spread on November 3.
The Setup
- Model: GLM 5.3 from Z.ai, roughly 800B parameters, text only
- Hardware: 56 Nvidia B200 GPUs to serve about 2,000 engineers
- Blended cost: about $0.30 per million tokens
- Invoice: about one-tenth of the previous Anthropic and OpenAI spend
- Billing: flat, with no month-end overage
- Start date: self-hosting began in April 2026 after Revolut had capped usage budgets on commercial tools
Claude Code and Codex remain available as exceptions. Image tasks are routed to Gemini through a local router, since GLM cannot read images.
Why Revolut Did It
Revolut had imposed strict token budgets after some engineers were spending $1,000 to $10,000 a month on commercial coding tools without clear returns. Caps changed behaviour: engineers saved tokens for hard tasks. Abitbol’s pitch was to remove the cap by moving to a cost structure where marginal tokens are effectively free.
The company reports that across a sample of 2,000 engineers coding time fell about 60% and lead time about 70%. Lead time dropped more than coding time, which Abitbol read as evidence that coding was not the main bottleneck: unlimited tokens let engineers hand off inbox, Jira and Confluence searching too. These figures are self-reported, and some of the gain may come from removing usage limits rather than from the model.
The Tuning Is the Story
Abitbol was blunt that loading weights onto GPUs produces “terrible” performance. Between April and August, with the same GPU count:
| Metric | April | August |
|---|---|---|
| Requests per second | about 3 | over 7 |
| Time to first token | over 10 s | about 1.6 s |
That is a 76% increase in demand alongside an 88% improvement in latency. His levers:
- Context cap: 256K tokens in production, despite 1M being available. “Long context is a scam.”
- Quantisation: on Blackwell, FP4 over FP8, which he puts at roughly 40% less GPU footprint with no measured precision loss
- Parallelism: tensor parallel 8 rather than 4, because TP4 left too little KV cache
- Cache hit rate: above 90% for coding workloads, plus speculative decoding and prefill tuning
Targets are a time to first token under 3 seconds (complaints start past 5) and about 200 tokens per second for interactive use. Engineers see up to 800 tokens per second after 5pm when demand drops.
The Compliance Angle
Revolut is an EU-regulated bank. Abitbol’s argument to risk teams: self-hosting means downloading weights and running them on US-based infrastructure, not sending requests to a Chinese-hosted endpoint. Coding tasks run with a human in the loop inside a sandbox with explicit allow rules, such as permitting grep but not Gradle, so regulators do not treat them as autonomous agents. He also cites zero data retention at inference providers and OpenTelemetry logging for incident review.
What Does Not Transfer
$0.30 per million tokens describes Revolut’s utilisation on a cluster it keeps busy with 2,000 users, not a portable price for GLM. A team with 50 engineers cannot rent 56 B200s and get the same economics. The result also compares a tuned in-house deployment against list-price API usage by engineers who had been spending freely, and no head-to-head quality benchmark was published. Revolut says the latest Anthropic and OpenAI models are still better and are used when the task needs them.