Resend alternative that sends from the same balance as your hosting

Most side projects send very little mail: a sign-up confirmation, a password reset, the occasional receipt. Paying a fixed monthly plan for that is paying for capacity you will never use, and it arrives as a third invoice next to your hosting and your database.

ohmyho.st meters mail per sent recipient — about 180 credits per 1,000 — from the same balance as your hosting and database. The mail domain itself has no monthly fee. Resend charges per plan: $0 for 3,000 emails a month, at most 100 a day, $20 for 50,000. The honest line is just above 10,000 recipients a month: below it, metering wins; above it, Resend's plan is the better deal and you should stay.

vercel pro$20 /mosupabase pro, 1 project$25 /moresend pro$20 /mo$65 /mo3 accounts · 1 project · +$10 each extra projectohmyho.st · every projecthostinguses creditspostgresuses creditsemailuses creditslink a domainuses creditseach extra projectno base fee$10 /mo1 balance · 1,000 credits a month
List prices checked on September 28, 2026 · Vercel pricing · Supabase pricing · Resend pricing. ohmyho.st: $10 a month buys 1,000 credits shared by every project; hosting, Postgres, mail and a linked domain are metered from that balance.

What Resend charges

Resend sells transactional mail on its own, with its own dashboard, logs and deliverability tooling. The plans are volume tiers:

The plan is per account, not per app, so one subscription covers every project you send from. That is the part worth keeping in mind when you compare: you are weighing one fixed fee against usage across all of your projects, not against a fee per project. List prices checked on 2026-09-28 — Resend pricing.

What ohmyho.st charges for mail

Mail here is a capability of the project, not a separate account. It needs Paid: $10 a month buys 1,000 credits that every project shares. Two meters apply, and nothing is charged for the domain itself.

The first is the send itself: 0.18 credits per 1 sent recipient. The meter counts recipients. Each message goes to one to address, so a notice to 400 subscribers is 400 messages and 400 recipients.

The second is received mail: 0.18 credits per 1 received message. It applies only if you turn receiving on. Each incoming message goes to a signed HTTPS webhook in your Prod app, and your app stores it in its own database. ohmyho.st keeps received messages reachable for 72 hours for webhook retries and recovery, not as a permanent inbox. A mail domain that sends and receives nothing costs nothing.

Everything else about a project stays on the same balance: hosting, Postgres, a linked domain. There is no second subscription and no per-project mail fee.

Break-even by volume

The table prices a month of mail from your own sender domain on ohmyho.st against the cheapest Resend plan that covers the same volume. Credit values use the standard rate where 100 credits are $1.

Recipients a month On ohmyho.st Cheapest Resend plan
2,000 360.00 credits ($3.60) Free, $0
10,000 1,800.00 credits ($18.00) Pro, $20
35,000 6,300.00 credits ($63.00) Pro, $20
50,000 9,000.00 credits ($90.00) Pro, $20

Read it in three bands. Under about 3,000 recipients a month, and under 100 on any day, Resend Free costs nothing and metering cannot beat that. Between there and about 10,000, metering wins: 10,000 recipients cost $18.00 of credit value against $20. Just above that the two are level. Beyond it Resend is cheaper and keeps getting cheaper, because its tier price is flat while credits keep counting: 35,000 recipients are $63.00 here and 50,000 are $90.00, against $20 there. List prices checked on 2026-09-28 — Resend pricing.

What your agent sets up

Mail is optional: hosting needs no mail domain, and the agent sets one up only when you ask for mail or your app declares mail.enabled. When it is needed, it is a DNS job, and the agent does it as a plan you confirm.

  1. You name the mail domain. A subdomain such as mail.yourdomain.com keeps your existing inboxes and their MX records untouched. mail_setup registers it with the project's Prod environment ID as the one mail domain that Dev and Prod both send from. No Resend account or key is needed. The project's automatic check.omh.st address cannot send mail, and nothing falls back to a platform sender while your domain is unverified.
  2. You add the DNS records that mail_status returns at your DNS provider. If your DNS is on Cloudflare, you can authorize it through domain_cloudflare_authorize and the platform sets them.
  3. mail_status reads sending and receiving readiness back until DNS verification is done. Your agent can poll it and tell you what is still missing.
  4. Your application sends through the runtime mail client and the project's private mail binding. Dev and Prod use separate keys; no provider key goes into your code.
  5. Receiving is optional. The agent adds a webhook route to your app, deploys it to Prod, and runs mail_webhook_set and mail_webhook_verify. Only then does mail_status return the MX record for incoming mail.
  6. If you stop using managed mail, mail_domain_delete with your confirmation stops sending and receiving and retires the provider domain and key. Your project and website domain stay. The DNS records are left in place and returned to you, so you remove exactly those.

Sending is bounded the same way everything else is: each accepted recipient reserves credits at claim and settles at provider accept, and a send that the provider refuses is not charged.

Side by side

Bought separately

Vercel Pro, Supabase Pro and Resend Pro for one developer and one project

Vercel Pro$20
Supabase Pro, 1 project$25
Resend Pro$20
Each extra project+$10
3 accounts, 1 project$65/mo

List prices checked on September 28, 2026: Vercel, Supabase, Resend.

ohmyho.st

one balance, every project

Hostinguses credits
Postgresuses credits
Emailuses credits
Link a domainuses credits
Each extra projectno base fee
1 balance, every project$10/mo

$10 a month buys 1,000 credits. A small app for one month costs about 567.10 credits; a quiet project keeps only its deployed script and any customer files.

The left card is a stack bought separately, with Resend Pro as its mail line. The right card is the same work on one balance. For mail alone the comparison is the table above; the reason the whole card still favours one balance at small scale is that hosting and Postgres are on it too, and a quiet project's database suspends while a mail plan does not. List prices checked on 2026-09-28 — Resend pricing.

When Resend is the better choice

Above roughly 10,000 recipients a month, Resend is simply cheaper, and the gap widens with volume. It is also the better choice when mail is the product rather than a feature: Resend gives you a dedicated dashboard, per-message logs you can search, webhooks for delivery events, suppression management and broadcast sending, and its team publishes deliverability guidance that a hosting product does not. If you already run Resend and it works, keeping it costs you nothing here: point your app at it, set the API key as a project secret, and use ohmyho.st for hosting and Postgres only. Mail on ohmyho.st is for the app that needs a password reset and a receipt, not for the app whose business is sending.

When ohmyho.st is

When mail is a small, necessary part of an app you already host here. You get one bill to reason about instead of two, the mail domain is set up by the same agent that deploys, and a project that sends to 2,000 recipients a month uses about 360.00 credits of the 1,000 credits the plan already includes. It also fits the freelancer case: every client project can have its own verified mail domain without every client project needing its own subscription.

FAQ

Does mail work on the free plan?

No. Sending needs Paid, because it registers a real sender identity: a mail domain verified through DNS. Free projects get hosting, a database and their Dev and Prod hosts, and they can use an external provider's API from application code like any other third-party service.

Can one message go to several recipients?

Not today. The runtime mail client sends each message to one to address, and each accepted recipient is metered once. A digest or notification for a team is one message per person, so estimate by the number of people you write to, not by the number of templates you send.

Can I keep Resend and still host here?

Yes, and for high volume you should. Store the Resend API key as a project secret, call their API from your server code, and skip the platform mail domain entirely. Nothing about hosting, Postgres or your domain changes, and no mail meters apply because the platform is not sending anything.

What happens to mail when credits run out?

A zero balance starts a grace period of 7 days during which funded services keep running, and mail may still send while it lasts. Refilling clears it. After an unresolved grace period only unfunded services are suspended; your data, your exports and your ability to buy credits stay available.

Is there a monthly cost at zero sends?

Not for mail. The mail domain has no monthly fee; credits are used only per sent recipient and per received message. The project around it still keeps its own small costs, such as its deployed script and any customer files.

Sources

Cost breakdown · ohmyho.st vs Vercel · Deploy from Claude Code · What five side projects cost

ohmyho.st is an independent service, not affiliated with or endorsed by Vercel, Supabase or Resend. All trademarks belong to their respective owners.