Cost

Self-Hosted Ghost vs Substack: Monthly Cost

Substack keeps 10% of paid subscriptions; self-hosted Ghost costs a server plus Mailgun. Where the two cross, month by month, and when Substack is cheaper.

Substack costs nothing until you earn: it keeps 10% of paid subscription revenue and charges no monthly fee. A self-hosted Ghost costs the same every month whether you earn or not: a server, plus an email service for the newsletter. Which is cheaper depends on one number, your paid subscription revenue. Prices below are as of 2026-10-18.

The monthly cost

Self-hosted Ghost here is the one-click Ghost app on Veloxa 1 ($8 a month, $0.02 an hour), its recommended size, plus Mailgun for newsletter delivery. Ghost's documentation says a bulk-mail provider is required to send newsletters, that SMTP cannot be used for them, and that Mailgun is the only bulk mail API it supports. Mailgun's Basic plan starts at $15 a month for 10,000 emails, enough for a weekly issue to about 2,000 subscribers.

Paid subscription revenue a month Substack (10% of revenue) Self-hosted Ghost on VeloxaHost (server + Mailgun Basic)
$0 (free newsletter) $0 $23
$100 $10 $23
$230 $23 $23
$500 $50 $23
$2,000 $200 $23

Card processing fees are left out of both columns because you pay them either way: Substack says writers keep 90% "minus credit card fees", and Ghost takes payments through your own Stripe account, which charges its own fees.

The two cross at $230 of paid revenue a month, where 10% equals the $23 Ghost costs. Above that, every extra dollar of revenue widens the gap in Ghost's favor. A list that outgrows 10,000 emails a month moves to Mailgun's Foundation plan, $35 a month for 50,000 emails, which moves the crossing point to $430.

There is a middle option: Ghost's own hosting. Ghost(Pro) Publisher is $29 a month billed yearly, and takes no transaction fee from Ghost on paid subscriptions, for up to 1,000 members on that price. Ghost runs the server for you.

What the VeloxaHost column leaves out

  • HTTPS on your domain. A public publication needs your domain on port 443. VeloxaHost servers get a block of ports on a shared IPv4 address, which does not include 80 and 443, so you need a dedicated IPv4 address, a paid add-on with limited availability. The console shows its current price.
  • Transactional email. Sign-in links and other member emails go through an SMTP provider. VeloxaHost blocks outbound port 25 by default, so use your provider's port 587 or 465.
  • Your time. You run ghost update, take a snapshot first, and keep MySQL and the content folder backed up. Snapshots are not charged.

Where Substack is the better pick

  • You are not earning yet, or earn little. Below about $230 a month in paid subscriptions, Substack's 10% costs less than a server and Mailgun.
  • You want to write, not run software. Substack hosts the publication and sends it. There is nothing to update or back up.
  • Leaving stays open. Substack's own page says it is "free to start and free to leave".

Where self-hosted Ghost is the better pick

  • Revenue past the crossing point. At $2,000 a month, Substack's share is $200; Ghost on VeloxaHost costs the same $23.
  • Your own site. Ghost runs on your domain with your theme, and your members and posts are in your own MySQL database.
  • No platform share. Ghost takes no cut of a self-hosted publication's revenue; payments go to your Stripe account.

FAQ

Does Ghost charge a percentage like Substack?

Not when you host it yourself. Ghost is free software released under the MIT license. Ghost(Pro) plans from Publisher up also take no Ghost transaction fee on paid subscriptions; payment processor fees still apply.

Can self-hosted Ghost send newsletters without Mailgun?

Not through Ghost's built-in newsletter feature. Ghost's documentation says Mailgun is the only bulk mail API it supports and that SMTP cannot be used for newsletters. Mailgun's free plan allows 100 emails a day, which fits only a very small list.

Which VeloxaHost size fits Ghost?

Veloxa 1 ($8 a month, $0.02 an hour): 1 vCPU, 2 GB of RAM and 50 GB of disk. Ghost asks for at least 1 GB of memory; 2 GB leaves room for MySQL and Nginx.

Can I move my Substack subscribers to Ghost?

Substack says it is free to leave, and Ghost documents a migration from Substack. Read Ghost's guide before you switch, especially for paid subscribers, whose payments run through Stripe.

What if my revenue is uneven?

Use your average month. Substack's cost moves with revenue, Ghost's does not; if most months are under $230, Substack is cheaper on average.

Facts about Substack were checked on 2026-10-18 against their own published pages: substack.com, substack.com, ghost.org, docs.ghost.org, www.mailgun.com. Prices and plans change; check theirs before you decide.

Ready to deploy?

Start a free trial, or compare plans to match your team's scale.