Decomposing a $46K Vercel bill: what would it cost to self-host

huksley1 pts0 comments

Decomposing a $46K Vercel bill: what would it cost to self-host

Skip to main content

Deployments & App Management

Decomposing a $46K Vercel bill: what would it cost to self-host

A viral app hit 450 million pageviews and got a $46,485.99 invoice from Vercel. I modeled how much it would cost when using CDN and self-hosting.

Aug 4, 2026

Ruslan Gainutdinov

Decomposing a $46K Vercel bill: what would it cost to self-host

In February, Riley Walz shipped Jmail - a satirical, Gmail-shaped site riding the Epstein-files release. It went off. Once it is crossed 450 million pageviews , and Riley published his article: Vercel On-Demand Charges reading whopping $46,485.99 .<br>Jmail has crossed 450M pageviews, and our Vercel bill has exploded, even after tons of cache mitigation.

Many kind people chipped in to cover the bill, but it’s not sustainable. What are solid, cheaper alternatives? pic.twitter.com/zzumW8VK6V<br>— Riley Walz (@rtwlz) February 9, 2026

To Vercel's credit, their CEO of Vercel Guillermo Rauch replied offering to cover it personally, and noted Jmail had become the "609th highest-traffic app on Vercel" - the kind of scale he said usually only shows up from large enterprises.

That says volumes. Jmail didn't do anything wrong; it just worked, and the pricing model and success turned working essentially static website into a five-figure invoice. The X/Twitter replies filled up with the same instinct from a hundred engineers: put Cloudflare in front, run a VPS, this should cost a couple hundred bucks. One person guessed ~$200/mo on Cloudflare. Somebody offered a $50 VPS plus caching. A few pointed at Hetzner and said a single server would easily handle it.

Here's what worried me: nobody actually made the breakdown. Someone from Cloudflare literally had to ask the author how the $46K split - bandwidth vs requests vs functions. The whole thread was estimating from a total.

So I've done the thing the thread didn't. I decome here a bill where it comes from, then model the same 450M pageviews on hardware you could actually rent. (Disclosure: I am building DollarDeploy and we are helping companies self-host their apps with a Vercel-like deployment experience.)

Why can serverless bill explode

Vercel's Pro plan is $20/user/month, and that number is not the problem when you work alone. The problem is three pay-by-request features that scale with traffic:

Fast Data Transfer. You get 1 TB included , then it's $0.15/GB . That's $150 per additional TB.

Edge Requests. 10M included, then $2 per 1M . Every request - including a lot of your static assets - counts.

Function Invocations. From $0.60 per 1M on Fluid Compute. Every server side rendering, every API hit, every piece of middleware.

Now you can image how it can go wrong. A viral static-ish app is mostly cache hits and reads. But on a per-request, per-GB, per-invocation model, "mostly cheap operations, 450 million times" is exactly how you can get a $46k invoice. One person put it well in the thread: it becomes a huge tax on success somewhere past ~100–150M views/month.

Unfortunately, I have not seen Jmail's itemized bill. Neither did anyone dispensing advice. So everything below is a model built from published pricing - not a claim about Riley's exact line items. If you've got the real breakdown, I'd genuinely like to see it.

What 450M pageviews actually moves

Start with bytes, because bandwidth is the scariest-sounding line and the easiest to tame.

Say each pageview delivers ~100 KB over the wire - reasonable for an HTML-forward app whose static assets get cached. (Jmail is heavier in places and lighter in others; so putting 100 KB as a reasonable average.)

450,000,000 pageviews × 100 KB ≈ 45 TB delivered to browsers.

On Vercel, past your 1 TB that's 44 TB × $150/TB - on this model, ~$6,600 in transfer alone , before a single function invocation. On a CDN, that same 45 TB is served from the edge, and here's the part that changes everything: Cloudflare doesn't bill per-GB for standard cached web delivery. Not on Pro, not even on Free.

So the 45 TB served to users would cost $0 in bandwidth via CDN. What reaches your actual server is only the cache misses and API calls. At a 90% CDN/cache hit ratio - the low end of what one engineer cited - your server sees ~4.5 TB/month. Every Hetzner server I'll list here includes 20 TB . You never touch the overage.

The compute side is just as calm. Those 10% misses on 450M is ~45M origin (your server) requests/month, which averages as ~17 requests per second . That's nothing. You should size the server for the peak concurrency headroom, not an average load - and even then you stay small.

The cost, on hardware you can rent today

Here's the same traffic, Cloudflare in front, on current Hetzner Cloud pricing (EUR is how they bill; USD is approximate). Every one of these includes 20 TB:

Traffic<br>Server<br>Specs<br>Compute/mo<br>CDN<br>Realistic total

~50–150M/mo<br>CX43<br>8 vCPU / 16 GB<br>$19.09<br>Cloudflare Free<br>~$17

450M+...

vercel bill from cost server self

Related Articles