AnalysisFebruary 12, 20267 min read

A $46,000 Vercel Bill for Static Pages

Jmail hit 450 million pageviews and got a $46K hosting bill. The site is mostly static HTML. Here's how Vercel's pricing turns viral success into financial punishment — and what it would actually cost on flat-rate hosting.

What Happened

Jmail is a browser-based archive of the Epstein files — public court documents rendered in a Gmail-style interface to make them easy to browse. It went massively viral.

“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?”

— Riley Walz, creator of Jmail

The final bill: $46,485.99. For serving what is essentially static content. Vercel's CEO offered to personally cover it, which was generous — but it doesn't fix the underlying problem.

Breaking Down the $46K

Wes Bos dug into the site and confirmed it's “aggressively cached and images aren't hosted on Vercel.” The bill is almost entirely two line items: bandwidth and edge requests.

Here's how Vercel's Pro plan pricing works:

ResourceIncluded (Pro)Overage Rate
Fast Data Transfer1 TB/month$0.05/GB
Edge Requests10M/month$0.60 per 1M
Pro base price$20/month

Let's do the math on 450M pageviews. Each pageview generates multiple requests (HTML, CSS, JS, fonts). Conservatively, that's 1.5–3 billion edge requests and tens of terabytes of bandwidth:

Estimated Cost Breakdown

Bandwidth (Fast Data Transfer)

~500–800 TB transferred at $0.05/GB overage

~$25,000–40,000

Edge Requests

~1.5B+ requests at $0.60/1M overage

~$900

ISR reads, function invocations, etc.

Various smaller per-use charges

~$5,000+

Total

$46,485.99

The bulk of the bill is bandwidth. Every byte Vercel's CDN serves gets metered at $0.05/GB. With 450M pageviews, even a well-cached static site burns through terabytes fast.

What Would This Cost Elsewhere?

PlatformMonthly CostNotes
Vercel Pro$46,486Usage-based. No cap. No warning before bill.
Cloudflare Pages$0Unlimited bandwidth on free tier. Static only.
Hetzner VPS + Cloudflare~$30Unmetered bandwidth. Self-managed.
DartUp Pro$9Flat rate. Deploy with one command. No per-GB charges.

Read that again. The same static content that cost $46K on Vercel costs $0–$30/month on almost every other platform. This isn't a technology problem. It's a pricing model problem.

The Real Issue: Pay-Per-Byte Pricing

Vercel's pricing is designed for apps with predictable, moderate traffic. It works well there. But it has a fundamental flaw: your success is your punishment.

When your site goes viral — the best possible outcome for any project — Vercel's meter spins like a taxi in Manhattan traffic. There's no automatic cap, no “hey, you've spent $500, want to keep going?” notification. You find out when the invoice arrives.

What people on Hacker News said:

“Not blaming the devs here but this is why I'll never use Vercel… your app takes off and suddenly you owe absurd amounts of money. I reckon they could host Jmail for 4–500 bucks a month on a Hetzner VPS, and that is probably a high estimate.”

“Vercel's pricing is so ridiculously convoluted that you can't even cleanly compare usage” to competitors.

This isn't the first time. It's a recurring pattern — ServerlessHorrors catalogs dozens of similar stories. $1K bills for hobby projects. $5K bills for small businesses. And now $46K for a public interest archive.

How Flat-Rate Hosting Works

At DartUp, there are no bandwidth meters. No per-request charges. No line items for “Fast Data Transfer” or “Edge Request Units.” You pay $9/month and your app runs.

The DartUp model

$9/month flat — no overages, no surprises
No bandwidth metering — traffic spikes don't generate bills
One-command deploy — no Git setup, no CI/CD, no YAML
Custom domains — point your domain, TLS is automatic
Sidecar databases — Postgres, MySQL, Redis, MongoDB included

Being Honest About Scale

Could DartUp handle exactly the same 450M pageviews that Jmail got? Let's be transparent.

450M pageviews/month is roughly 170 requests per second sustained, with peaks likely 10–50x that during viral moments. Nginx can serve static files at 10,000+ requests per second on modest hardware. The compute side is easy.

The bandwidth is the harder part. At ~100KB per page, 450M pageviews is roughly 45 TB of transfer. On a single VPS, that's a lot. The practical solution: put Cloudflare (free tier) in front of your DartUp deployment using a custom domain. Cloudflare serves static assets from its edge cache, and your origin server barely gets touched.

The practical setup for viral-scale static sites

1. Deploy your static site to DartUp ($9/month)

2. Add a custom domain through the DartUp API

3. Point DNS through Cloudflare (free)

4. Cloudflare caches everything at the edge

Total: $9/month. For any amount of traffic.

Even without Cloudflare, a DartUp deployment on a dedicated container handles more traffic than you'd think. Our containers serve thousands of requests per second for static content. Most projects will never need a CDN.

$46,486 vs. $9

Let's put the Jmail numbers in perspective:

Vercel cost per pageview$0.000103
Vercel cost per 1,000 pageviews$0.103
Cost difference for 450M views5,165x more expensive
How many months of DartUp Pro for $46K?5,165 months (430 years)

You could run DartUp Pro for 430 years for the cost of one month of Vercel at Jmail's traffic. That number isn't a typo.

When Vercel Does Make Sense

This isn't a hit piece. Vercel is genuinely excellent at what it's designed for:

  • Next.js production apps with server components, ISR, and edge middleware — the framework integration is best-in-class
  • Team workflows with preview deployments per PR, branch-based environments, and collaboration features
  • Moderate, predictable traffic where the included 1 TB and 10M requests cover your usage

The problem is when Vercel is used for something it wasn't designed for: serving static content at massive scale. That's like taking an Uber across the country. The ride is comfortable, but the meter doesn't stop.

What to Do Instead

If you're building something that might go viral — or if you just don't want to worry about surprise bills:

For static sites and SPAs

Deploy to DartUp ($9/mo) or Cloudflare Pages (free). Both are flat-rate. Neither will bill you for going viral.

For apps with backends

DartUp supports Node.js, Python, Go, Rust, and Ruby with sidecar databases. $9/mo flat. No per-request billing.

For Next.js apps that need SSR

Deploy the Next.js container to DartUp. You lose Vercel-specific features like edge middleware, but you keep your wallet intact.

For anything Claude Code built

DartUp was built for AI-assisted development. One command from Claude Code deploys your entire project. No config files needed.

The Bottom Line

Hosting platforms should reward your success, not punish it. When your static site goes viral, the correct hosting bill is $9 — not $46,000.

The infrastructure to serve static files is cheap. It's been cheap for a decade. If your hosting provider charges you $46K to do it, the problem isn't your traffic. It's your hosting provider.

Deploy without the meter running

DartUp is $9/month flat. No bandwidth charges. No edge request fees. No surprise bills. Free tier available.