Revolut cut its AI coding bill 90% by self-hosting GLM. Here's when that math works for your team

Revolut says moving about 2,000 engineers onto self-hosted GLM models cut its AI coding inference costs by roughly 90% in under a year. The savings come from scale and tuning, and the headline figure excludes staffing. For most teams under a few dozen heavy users, paying per token is still cheaper.

The numbers come from David Abitbol, who leads ops and infrastructure at Revolut, in his October 13 talk at AI Engineer NYC. The Register wrote it up on November 3. Revolut hasn't published its own write-up, so everything here traces back to that talk.

We haven't run GLM-5.3 at this scale. The cost estimates later in this piece are our own arithmetic on public GPU prices, and we label them as such.

What Revolut did

  • Model. Revolut started on GLM-5.1 in April and moved to GLM-5.3, Z.ai's open-weights model. GLM is text-only, so a router sends image questions to models such as Gemini while code stays on GLM.
  • Hardware. 56 Nvidia B200 GPUs, the same count as seven 8-GPU nodes, serving about 2,000 engineers.
  • Clients. The setup exposes an OpenAI-compatible endpoint. StartupHub's summary says engineers use tools like OpenCode and Codex against it. The Register mentions Claude Code and Codex only as the services Revolut moved away from.
  • Price. A blended cost of about $0.30 per million tokens, and an invoice about a tenth of its earlier Anthropic and OpenAI spend.

Abitbol described the starting point bluntly: “We were seeing engineers spend $1,000 a month, $10,000 a month with not so much ROI.”

The tuning did more than the hardware

The talk page says that on the same GPUs, tuning raised requests per second by 76% and cut time to first token by 88%, from 14.26 seconds to 1.68 seconds. Four changes did most of it:

ChangeWhat Revolut reported
NVFP4 quantization instead of FP8About 40% smaller GPU footprint, with no precision loss reported for its use
Separate prefill and decode serversPart of the time-to-first-token cut; the split wasn't broken out
Context capped near 256K tokens“Even though you can serve one million tokens, 256 [thousand] is really what you need”
Tensor parallelism of 8Needed to leave room for the KV cache, per StartupHub

The latency target was the real constraint. “As soon as you exceed 5 seconds, my Slack inbox starts to blow up,” Abitbol said. Revolut aims for under 3 seconds to first token and about 200 tokens per second during the day, rising to around 800 off-peak.

Abitbol's line that “long context is a scam” is the most useful advice in the talk for anyone. Each user's context costs GPU memory, which is why the cap matters for how many people a node can serve. If you pay per token, the same habit, starting fresh sessions instead of dragging 600K tokens of history along, cuts your bill too.

What the 90% leaves out

StartupHub notes that cloud spend, staffing, and observability sit outside the $0.30 figure. Running 56 B200s at bank-grade reliability needs people who know inference servers, and that payroll doesn't appear in a per-token number.

The productivity claims also need care. The talk page reports about 60% better coding time and 70% better lead time after moving to GLM, against 20% and 10% on Gemini earlier. It also says those gains weren't isolated from other changes. The Register reports the biggest wins came from debugging and handling Jira and Confluence tickets, not from writing code. Treat the numbers as a sign the rollout didn't hurt, and don't read them as a benchmark of GLM.

Is GLM-5.3 good enough?

Z.ai's model card calls it “the most capable open-weights model for coding.” Its own table puts it close to closed models on some coding agent benchmarks and behind on others:

Benchmark (Z.ai's table)GLM-5.3Opus 4.8GPT-5.6 Sol
Terminal Bench 2.188.285.088.8
Terminal Bench 3.028.321.134.6
DeepSWE v1.166.958.072.7
NL2Repo58.069.7not reported

These are vendor numbers, and the comparisons are against Opus 4.8 rather than Opus 5.5. Several were run in Claude Code 2.1.207 as the harness. The card lists SGLang and vLLM recipes. Its license is a custom “glm-5.3” license, so have legal read it before you deploy.

The card also says cyber capability “developed faster than we expected.” GLM-5.3 tops its own CyberGym table, so if you host it, you own its safety controls as well.

When self-hosting pays off

Here's a rough sketch using public prices. Spheron's B200 price roundup lists on-demand rates from about $4.99 per GPU-hour at Lambda to about $14.24 on AWS. At $5 per GPU-hour, around the clock:

SetupGPU cost per month (our estimate)Per user
Revolut scale: 56 GPUs, 2,000 engineersAbout $204,000About $100
One 8-GPU node, 30 engineersAbout $29,000About $970
One 8-GPU node, 10 engineersAbout $29,000About $2,900

That excludes staff, storage, and reserved-capacity discounts. Revolut averages about 36 engineers per GPU, so one node can likely serve far more than 30 people. Still, the pattern is the point. One node only beats a heavy API user's $1,000 a month once a few dozen people share it, and only if they keep it busy. Revolut's 800 tokens per second off-peak is idle capacity it pays for anyway.

Before you buy GPUs, try the cheaper levers. Route easy work to a smaller model, keep contexts short, and check where heavy spenders get value. Our real AI coding costs guide has the per-seat numbers. If you're still above a few hundred thousand dollars a month across a large engineering org, Revolut's route is worth a pilot.

Sources

Researched and drafted by an AI agent from the linked sources. How posts are made.