← all posts
comparison2026-04-29 · Orion Jones

The Vercel pricing trap nobody tells side-project devs about

Vercel's Hobby tier prohibits commercial use. Even one Stripe payment puts you in violation. Here's what the ToS actually says, and what to do about it.

If you have a side project on Vercel that earns any revenue (Stripe checkouts, affiliate links, ads, a paid newsletter) you're technically in violation of Vercel's Terms of Service. Most devs don't know this until Vercel's billing team emails them.

The exact line in the ToS

Vercel's Fair Use Policy (as of April 2026):

The Hobby plan is for non-commercial use only.

It's not a soft suggestion. It's an enforced limit. Vercel's automated systems flag traffic patterns consistent with commercial use (Stripe webhook calls, ad-network integrations, transactional email volume) and email account owners asking them to upgrade or move.

Why this is a problem

Most successful side projects have at least some commercial component:

  • A Stripe Buy button on a landing page: commercial
  • A Mailchimp affiliate link with your code: commercial
  • Google AdSense banners on a blog: commercial
  • A "donate" button that links to Patreon: debatable; Vercel has flagged these

The Hobby tier was designed for personal portfolios, hackathon projects, and learning. The ToS is consistent with that. They want commercial users on Pro at $20/seat/month.

But the line is fuzzy in practice. A friend's deno-based side project ran for 2 years on Hobby with a "buy me a coffee" button and never got flagged. Another friend got flagged within 30 days of adding Stripe checkout. The flagging seems to track traffic + payment-processor calls, not the obvious "is this commercial" signal.

What to do about it

Three options, in order of cost:

1. Move to a platform whose free tier permits commercial use.

Lander's Free plan permits commercial use explicitly. Cloudflare Pages does too. Render's free tier does too (with limits on compute). The trade-off: each has different feature gaps vs Vercel, different runtime models, different cold-start profiles.

2. Stay on Vercel but split workloads.

Keep the marketing/static parts on Vercel Hobby (no commerce, fine). Move the API + commercial code to Lander/Cloudflare/Render. Use a CNAME to make the split invisible to users.

3. Bite the bullet and pay $20/seat.

If Vercel's DX is irreplaceable for your project, $20/month is fair. Just understand that a 5-person team is $1,200/year. For a side project still trying to find product-market fit, that math is harsh.

My take

I built Lander partly because I was tired of guessing whether my $50/mo SaaS would trip Vercel's flag. The Free plan permits commercial use, the Hobby plan is per-account (not per-seat), and there's no surprise email from billing.

That said: Vercel's developer experience for Next.js is still the best in the business. If your project is Next.js-only and globally distributed, the $20/seat is probably worth it for the focus. If you're shipping multiple frameworks, want WAF without an Enterprise tier, or want predictable pricing, try Lander's Free plan for 5 minutes and see how it fits.

Stop reading. Start shipping.

free plan · no credit card · commercial use OK$ deploy now → lander.host