Compare
Custom domains for SaaS: every option compared (2026)
Letting a customer use your product on their own domain is three jobs: getting a DNS record created at their DNS provider, proving it is there, and serving HTTPS for that name. The 13 options below each take on a different part of that work, and the ones that look alike on a feature list often do different jobs. This page sorts them by the job they do, prices the custom-domain line at three volumes from each vendor's own published rates, and says plainly where DoDomain is the wrong choice.
Facts about the other 12 products checked on against each vendor's own pricing and documentation pages, linked beside each entry. Check their sites for current figures. DoDomain's numbers come from its live plan definitions. Published , updated .
The short answer
- Your app already serves the traffic and the hard part is getting customers to create the right record: you want the DNS layer (DoDomain, Entri, customdomain.ai).
- You need HTTPS terminated for thousands of customer hostnames and proxied to your app: you want an edge (Cloudflare for SaaS, Approximated, Domainee, SaaSKevin, SaaS Custom Domains).
- You host on Vercel, Fly.io, Render or Netlify: your host already issues certificates for customer domains. The customer still has to create the record themselves.
- You want no vendor at all: Caddy's on-demand TLS on your own servers, with your own instructions page for the DNS.
- At scale, most products run one of each: a DNS-layer product to get the record in and keep watching it, and an edge or host to serve the traffic.
Three jobs, and which products do which
Getting the record in. The customer's domain lives at their DNS provider: Cloudflare, GoDaddy, Route 53, a registrar's own DNS. Something has to create a record there that points the name at you. Either the customer does it by hand from your instructions, or a product does it for them through an API the provider exposes: OAuth into the provider, the Domain Connect protocol, or an API token the customer pastes in. This is the step where customers give up. It is unfamiliar, every provider's dashboard is different, and a single wrong character fails silently.
Proving it and keeping it proven. Once the record exists, someone has to confirm it really resolves (ideally at the domain's own nameservers, not through a cache that may lag for hours), tell your backend the moment it does, and notice when a customer later edits or deletes it. Every product here does some version of the first check. They differ widely on the second.
Serving the domain. When a visitor types the customer's domain, something has to answer: terminate TLS with a certificate for that exact name and route the request to your app. Hosts do this for apps they run. Edges do it for apps running anywhere. Caddy does it on servers you operate.
The lines have blurred in 2026. Two DNS-layer products now sell an edge (Entri's Power and Secure add-ons, customdomain.ai's Growth plan), and several edges now write records in some cases (Domainee, Approximated and SaaSKevin all describe a Domain Connect path). The tables below say exactly who does what, so a feature list that looks the same can be read for what it is.
At a glance: who does what
| Product | Layer | Writes the customer's DNS | Serves traffic and TLS |
|---|---|---|---|
| DoDomain | DNS: gets the record in | Yes, from Pro up: Cloudflare OAuth one-click, and a signed Domain Connect apply on providers that serve its templates; guided step-by-step records for every other provider (and on Free) | No. It never proxies traffic or issues certificates; pair it with your host or an edge |
| Entri | DNS: gets the record in | Yes — signs the user in at a supported provider and applies the records (63 providers in its docs, “70+” in its marketing); step-by-step instructions otherwise | Only with its Power and Secure add-ons (a reverse proxy with SSL termination; no published price) |
| customdomain.ai | DNS: gets the record in | For 25 of the 63 providers it routes (Domain Connect, OAuth or a direct API); guided setup for the other 38 | Optional — a reverse-proxy edge with automatic HTTPS from the Growth plan |
| Cloudflare for SaaS | Edge: serves the domain | No — the customer creates a CNAME at their authoritative DNS (flattened at the apex; apex proxying on IP addresses is an Enterprise add-on) | Yes — Cloudflare's network terminates TLS and proxies to your fallback origin |
| Approximated | Edge: serves the domain | Partly — a DNS widget detects the provider, offers Domain Connect setup where a supported integration exists, and shows step-by-step records otherwise | Yes — a dedicated proxy cluster with its own IPv4 address |
| Domainee | Edge: serves the domain | Where the provider allows it — Domain Connect (live on Cloudflare and Glauca), or a scoped API token the customer supplies (Cloudflare, DigitalOcean); instructions otherwise | Yes — an edge in two regions, with a Let's Encrypt or ZeroSSL certificate issued on the first HTTPS request |
| SaaSKevin | Edge: serves the domain | Partly — Domain Connect one-click on supported registrars, guided setup in its widget otherwise | Yes — proxies to your origin with automatic HTTPS |
| SaaS Custom Domains | Edge: serves the domain | No — it can email the customer the CNAME instructions, then validates the record | Yes — a proxy with WAF, DDoS protection and 119 points of presence |
| Vercel for Platforms | Host: runs your app | No — the customer sets an A or CNAME record (or Vercel's nameservers); a TXT if the domain is already on Vercel | Yes — it is your host; it issues a certificate per custom domain |
| Fly.io | Host: runs your app | No — the customer sets A/AAAA or CNAME records, plus an _acme-challenge or ownership record | Yes — it is your host; Let's Encrypt certificates through Fly Proxy |
| Render | Host: runs your app | No — the customer sets a CNAME or A record, then verification runs | Yes — it is your host; managed TLS on every custom domain |
| Netlify | Host: runs your app | No — the customer sets a CNAME, or an ALIAS/ANAME at the apex | Yes — it is your host; Let's Encrypt certificates |
| Caddy (on-demand TLS) | Software you run | No — the record must already point at your server; an `ask` endpoint you write allows or denies issuance | Yes, on servers you operate |
At a glance: what it costs to start
| Product | Cheapest way in | Free plan or trial |
|---|---|---|
| DoDomain | Free $0 forever (guided); Pro $29 per month with one-click | Yes: 50 verified connections a month, no card |
| Entri | $249/mo (Startup: 600 connections a year) | None published |
| customdomain.ai | $10/mo (Starter: 10 connections a year); $149/mo for 600 a year | 14-day trial; the free plan was replaced by Starter |
| Cloudflare for SaaS | 100 hostnames included with a zone plan, then $0.10 each per month | Yes — 100 hostnames on a Free zone |
| Approximated | $20/mo under 100 domains, then $0.20 per domain with volume discounts to 50% | 7-day trial, no free plan |
| Domainee | $0.20 per domain per month after 20, graduated down to $0.10 | Yes — 20 domains and 100 GB a month, card on file |
| SaaSKevin | $0.15 per domain per month after 3 | Yes — 3 domains, no card |
| SaaS Custom Domains | $29/mo for 100 domains ($0.29 each), discounts to 50% | 7-day trial |
| Vercel for Platforms | No charge for domains within plan limits; the plan and usage are billed | Hobby: 50 custom domains per project |
| Fly.io | First 10 certificates free, then $0.10 per hostname per month | 10 hostname certificates |
| Render | 15 domains on Pro, then $0.25 each per month | Hobby: 2 custom domains |
| Netlify | No per-domain price published | Domain aliases on any site |
| Caddy (on-demand TLS) | Free, open source — you run and scale the servers | Free software |
What the custom-domain line costs at three volumes
Headline prices compare nothing here, because these products meter different things. The edges, Fly.io and Render bill every hostname that is live, every month. Entri and customdomain.ai sell an annual allowance of new connections on flat tiers. Vercel includes domains in the hosting plan. DoDomain counts a domain once, in the month it first verifies, and charges nothing to keep watching it. So each scenario states both numbers: customer domains added a month, and customer domains live at once.
| Product | Launching: 20 new a month, 100 live | Growing: 300 new a month, 2,000 live | Established: 2,000 new a month, 20,000 live |
|---|---|---|---|
| DoDomain | Free — $0 forever | Pro — $29 per month | Scale — $99 per month |
| Entri | Startup — $249/mo | Premium — talk to sales | Enterprise — talk to sales |
| customdomain.ai | Startup — $149/mo | Past every priced allowance — Growth overage blocks, Premium or Enterprise, prices not published | Past every priced allowance — Growth overage blocks, Premium or Enterprise, prices not published |
| Cloudflare for SaaS | $0 | $190 | $1,990 |
| Approximated | $20 | $360 | $2,000 |
| Domainee | $16 | $386 | $2,546 |
| SaaSKevin | $14.55 | $299.55 | $2,999.55 |
| SaaS Custom Domains | $29 | $290–$580 (discount schedule not published) | $2,900–$5,800 (discount schedule not published) |
| Vercel for Platforms | No domain charge (Pro soft limit 100,000 per project) | No domain charge (Pro soft limit 100,000 per project) | No domain charge (Pro soft limit 100,000 per project) |
| Fly.io | $9 | $199 | $1,999 |
| Render | $21.25 | $496.25 | $4,996.25 |
| Netlify | Not built for this — Netlify recommends at most 50 aliases per site | Not built for this — Netlify recommends at most 50 aliases per site | Not built for this — Netlify recommends at most 50 aliases per site |
| Caddy (on-demand TLS) | $0 in software; your servers | $0 in software; your servers | $0 in software; your servers |
List prices, monthly billing, the custom-domain line only. Excluded because they are not about custom domains or not published: a Cloudflare zone plan, bandwidth above an edge's included allowance (Approximated includes 400 GB, Domainee 100 GB), a host's plan and compute, and every tier a vendor quotes only through sales. DoDomain's plans below Pro are the guided-records flow; one-click starts there. The products do different jobs, so the cheapest row is not automatically the right one: read the next sections first.
The DNS layer: getting the record in
DoDomain
DoDomain is the DNS layer and nothing else. Your server mints a connect session naming the customer's domain and the records you need. The session detects where the domain's DNS is hosted and picks the path: an OAuth one-click for a Cloudflare-hosted zone, a signed Domain Connect apply on providers that serve DoDomain's templates, and step-by-step records for that provider's dashboard everywhere else. One-click paths start on Pro; the Free plan is the guided flow.
It verifies the record at the domain's authoritative nameservers, sends your backend a signed webhook the moment it is live, then keeps watching: every 10 minutes for a connection's first day, hourly for a week, then every 6 hours, with a break confirmed on three consecutive checks before anyone is alerted. Monitoring is free and uncapped on every plan. There are SDKs for Node, the browser and React on npm and for Python, a REST API with a published OpenAPI document, and an MCP server for AI agents. DoDomain never proxies traffic and never issues a certificate, so it pairs with whatever serves your app.
More: pricing · documentation · which providers serve its Domain Connect templates
Entri
Entri is the longest-established product in the layer and the broadest on provider coverage. Its Connect modal identifies the user's DNS provider; for supported providers it signs the user in and applies the records, and for the rest it shows manual instructions. Its developer docs list 63 providers (its marketing says “70+”). Entri also sells domains inside your product (Sell), watches records with webhook alerts (Monitor), and offers a hosted proxy with certificates as add-ons (Power and Secure) with no published price. Its About page names HubSpot, Webflow, Canva and Square among its customers.
Pricing is by annual allowance: Startup is $249 a month for 600 new connections a year and 1,200 monitored domains; Growth, Premium and Enterprise are quoted by sales. No free plan or trial is published.
Sources (entri.com, read 2026-10-06): Entri plans · Entri Connect overview · Entri webhooks overview · About Entri · Entri email solutions · Full comparison: DoDomain vs Entri
customdomain.ai
customdomain.ai does both halves if you want it to. Its connect flow routes each provider to one of four write paths: Domain Connect, OAuth, a direct API, or guided manual setup. Its own census of the 63 providers it routes puts 25 on an automated path and 38 on guided setup. It checks live domains hourly and, from the Growth plan, can serve them from its own reverse-proxy edge with automatic HTTPS. It publishes 18 Domain Connect templates to the public registry.
Starter is $10 a month for 10 connections a year after a 14-day trial (it replaced the free plan), Startup $149 for 600 a year, Growth $649 with the edge and overage blocks; Premium and Enterprise are custom.
Sources (customdomain.ai, read 2026-10-06): CustomDomain pricing · CustomDomain llms.txt · Verify and go live · Full comparison: DoDomain vs customdomain.ai
The edge layer: serving the customer's domain
Cloudflare for SaaS
Cloudflare for SaaS adds customer hostnames to a zone you run on Cloudflare: the customer points a CNAME at a hostname on your zone, Cloudflare validates it, issues the certificate and proxies traffic to your fallback origin through its own network, WAF included. 100 hostnames are included on the Free, Pro and Business zone plans, then $0.10 each a month up to 50,000; Enterprise beyond. Hostnames still pending validation bill too, until you delete them.
It does not touch the customer's DNS: the CNAME is theirs to create. At the apex it relies on CNAME flattening at the customer's provider; proxying an apex on IP addresses is an Enterprise add-on.
Sources (developers.cloudflare.com, read 2026-10-06): Cloudflare for SaaS: Plans · Cloudflare for SaaS: Get started · Full comparison: DoDomain vs Cloudflare for SaaS
Approximated
Approximated runs a dedicated proxy cluster for you, with its own IPv4 address, and issues certificates for every hostname you add through its API. It now ships a DNS widget that detects the customer's provider, shows step-by-step records, and offers automatic setup where a supported provider integration exists; Domain Connect is the automation it documents. A monitor reports DNS problems by webhook.
Pricing is $0.20 per domain a month with a $20 monthly minimum, discounted 5 points for each full 1,000 domains up to 50%, with 400 GB of bandwidth included. Hybrid and fully self-hosted options exist for larger teams. There is a 7-day trial and no free plan.
Sources (approximated.app, read 2026-10-06): Approximated pricing · Approximated DNS widget · Approximated webhooks · Full comparison: DoDomain vs Approximated
Domainee
Domainee is an edge with a generous free tier and, since 2026, a DNS-writing path: Domain Connect where the provider supports its templates (Cloudflare and Glauca are live, per its own page), or a scoped API token the customer supplies for Cloudflare or DigitalOcean. Elsewhere it gives instructions. It re-checks domains every 5 minutes and serves them from two regions with certificates issued on the first HTTPS request.
The first 20 domains and 100 GB a month are free (a card is required up front). After that the price per domain falls in steps from $0.20 to $0.10 as volume grows.
Sources (domainee.dev, read 2026-10-06): Domainee pricing · Domainee Domain Connect API · Domainee docs: apply DNS · Full comparison: DoDomain vs Domainee
SaaSKevin
SaaSKevin proxies customer domains to your origin with automatic HTTPS, and passes a header identifying the customer so your app knows which tenant a request belongs to. Its themeable widget walks the customer through setup, and its comparison pages say it supports Domain Connect one-click on supported registrars. Apex and wildcard domains work on every plan. We found no public API documentation.
The free plan includes 3 domains with no card; after that it is $0.15 per domain a month.
Sources (saaskevin.com, read 2026-10-06): SaaSKevin · SaaSKevin pricing · SaaSKevin vs Entri · Full comparison: DoDomain vs SaaSKevin
SaaS Custom Domains
SaaS Custom Domains is a proxy built for security-minded teams: WAF, DDoS protection and rate limiting across 119 points of presence, with a self-hosted option. It can email the customer the CNAME instructions and validates the record once it appears, but it does not create the record. Bandwidth is not charged extra, and its SLA page states 99.9%.
It starts at $29 a month for 100 domains ($0.29 each), with automatic discounts of up to 50% as you grow. The discount schedule itself is not published in readable form, so the cost table gives the range it implies.
Sources (saascustomdomains.com, read 2026-10-06): SaaS Custom Domains · SaaS Custom Domains API: custom domains · SaaS Custom Domains SLA · Full comparison: DoDomain vs SaaS Custom Domains
Your host may already do the serving
Vercel for Platforms
Vercel for Platforms lets one project answer for many tenant domains: you add each domain through the API, Vercel returns any verification challenge, and it issues a certificate per domain once the customer's records point at it. Domains carry no extra charge within plan limits: 50 per project on Hobby, a soft limit of 100,000 on Pro. The customer sets an A record (apex) or CNAME (subdomain); Vercel also ships a UI block that shows them the records and re-checks the configuration.
Sources (vercel.com, read 2026-10-06): Vercel for Platforms · Multi-tenant limits · Configuring domains
Fly.io
Fly.io issues certificates for hostnames you attach to an app through its Certificates API, which tells you exactly which records the customer needs. The first 10 single-hostname certificates are free, then $0.10 each a month; compute and bandwidth are billed separately.
Sources (fly.io, read 2026-10-06): Fly.io pricing · Custom domains
Render
Render includes custom domains per workspace plan (15 on Pro) and charges $0.25 a month for each one beyond, with managed certificates on all of them and an API to add and verify them.
Sources (render.com, read 2026-10-06): Render custom domains · Render pricing
Netlify
Netlify supports domain aliases with Let's Encrypt certificates, but its docs recommend no more than 50 aliases per site and we found no documented multi-tenant API. It suits a handful of customer domains, not a product feature.
Sources (docs.netlify.com, read 2026-10-06): Add a domain alias · Configure external DNS
In every host case the customer still creates the record by hand, and the host checks it only so it can issue a certificate. Pairing a host with a DNS-layer product is the same pattern as pairing an edge with one.
Run it yourself
Caddy (on-demand TLS)
Caddy's on-demand TLS obtains a certificate during the first TLS handshake for a hostname it has never seen, after asking an endpoint you write whether that name is allowed. It is free and open source, and it is how many products start. It does not create or verify DNS (the record must already point at your server before issuance can succeed), and you run, scale and patch the servers yourself.
Sources (caddyserver.com, read 2026-10-06): Automatic HTTPS · Caddyfile global options
How to choose
- Start with where the traffic goes. If you already serve customer hostnames (a host that takes them, an edge you pay for, or your own Caddy or nginx), you only need to decide how customers get their record right. If you do not, choose the edge or host first; the DNS layer points at whatever you pick.
- Pick an edge by what it is protecting. Already on Cloudflare and want its network and WAF in front of tenants: Cloudflare for SaaS. Want a dedicated cluster and IP, or self-hosting later: Approximated. Want a free start and a simple per-domain price: Domainee or SaaSKevin. Want security controls as the headline: SaaS Custom Domains.
- Pick the DNS layer by where your customers' domains live. A Cloudflare-heavy base gets a one-click from DoDomain, Entri and customdomain.ai alike. For GoDaddy, IONOS and the long tail, check each product's provider list: Entri documents the most providers, and DoDomain's Domain Connect templates are not yet served at GoDaddy or IONOS, so those customers get its guided records (the provider matrix is measured nightly).
- Price on the meter you will actually hit. A product that adds a hundred domains a month and keeps them for years pays very differently on a per-live-domain meter than on a per-new-connection one. Use the three scenarios above, or plug in your own numbers against the rates in the tables.
- Ask what happens after go-live. How often is the record re-checked, how is a false alarm ruled out, and how does your backend hear about a break? Customers change DNS providers and delete records years later; the product that notices first saves the support ticket.
Pairing DoDomain with an edge or host, in code
The record a session asks for is whatever your edge or host needs: a CNAME to the hostname your Cloudflare for SaaS zone exposes, an A record to an Approximated cluster address, the target Vercel returns when you add the domain. Below, customers.yourapp.com stands for that target. DoDomain gets the record created in the customer's DNS, proves it at the authoritative nameservers and calls your webhook; your edge or host issues the certificate and serves the traffic.
// 1. Your server: mint a connect session for the customer's domain.
import { DoDomain, verifyWebhook } from "@dodomain/node";
import { env } from "./env"; // your validated server env
const dodomain = new DoDomain({ secretKey: env.DODOMAIN_SECRET_KEY });
const session = await dodomain.sessions.create({
domain: "customer.com",
records: [
{ type: "CNAME", host: "app", value: "customers.yourapp.com" },
],
returnUrl: "https://yourapp.com/settings/domains",
});
// 2. Your page: open the connect sheet with session.token.
import { showDoDomain } from "@dodomain/connect";
showDoDomain({ token, onVerified: ({ domain }) => markDomainLive(domain) });
// 3. Your webhook route: DoDomain calls it once the record is live at the
// domain's authoritative nameservers, and again if it ever breaks.
if (!verifyWebhook(env.DODOMAIN_WEBHOOK_SECRET, rawBody, signatureHeader)) {
return new Response("bad signature", { status: 400 });
}From Pro up, the session picks the path on its own: a Cloudflare-hosted domain gets the OAuth one-click, a provider that has enabled DoDomain's Domain Connect templates gets a signed apply, and every other provider gets step-by-step records for that provider's dashboard. On the free plan every provider gets the step-by-step records. The full walkthrough is in the quickstart.
Where DoDomain is the wrong choice
- You only need HTTPS served. DoDomain never terminates TLS. If your customers are developers who will happily paste a CNAME, an edge or your host alone may be all you need.
- One-click at GoDaddy or IONOS matters more than anything else. DoDomain gives those customers guided records today. Entri's provider list names both.
- You want to sell domains inside your product. Entri (Sell), customdomain.ai (registration and resale) and Domainee (Buy-a-Domain) do; DoDomain does not.
- You want one vendor for both halves. customdomain.ai (with its Growth edge) and Entri (with Power and Secure) sell both; so, from the other side, do Domainee and Approximated.
- Procurement needs a SOC 2 report today. Entri states SOC 2 Type II compliance on its product pages; DoDomain does not publish one.
Every head-to-head comparison
Frequently asked questions
What is the best way to offer custom domains in a SaaS product?
Split it into the two jobs it really is. Something has to serve HTTPS for every customer hostname: your host (Vercel, Fly.io, Render), an edge (Cloudflare for SaaS, Approximated, Domainee, SaaSKevin, SaaS Custom Domains), or your own servers with Caddy. And something has to get the customer's DNS record created and proven: a DNS-layer product (DoDomain, Entri, customdomain.ai) or your own instructions page. Most products at scale use one of each; the comparison tables above show which product does which half.
Which custom-domain tools create the DNS record for the customer?
In the DNS layer, all three: DoDomain (Cloudflare OAuth one-click and a signed Domain Connect apply on providers that serve its templates, from Pro up), Entri (it signs the user in at a supported provider and applies the records; its docs list 63 providers) and customdomain.ai (25 of the 63 providers it routes, per its llms.txt). Some edges now do it in places too: Domainee through Domain Connect on Cloudflare and Glauca or a token the customer supplies for Cloudflare or DigitalOcean, Approximated's DNS widget where a supported Domain Connect integration exists, and SaaSKevin says it offers Domain Connect one-click on supported registrars. Cloudflare for SaaS, SaaS Custom Domains, Vercel, Fly.io, Render, Netlify and Caddy leave the record to the customer.
What is the cheapest way to support customer domains?
At small volume, several options cost nothing for the domain line: Caddy is free software on servers you run; Vercel charges nothing extra for domains within plan limits; Cloudflare for SaaS includes 100 hostnames, Domainee 20 domains and SaaSKevin 3; Fly.io's first 10 certificates are free and Render's Pro plan includes 15 domains. On the DNS side, DoDomain's Free plan verifies 50 connections a month with guided records. The cost table above prices each at 100, 2,000 and 20,000 domains.
Do I need both a DNS tool and an edge or proxy?
Only if you want both jobs done for you. If your customers are technical and happy to copy a CNAME, an edge or host alone works. If they are not, or you sell to people who have never opened a DNS dashboard, the DNS layer is what stops the support tickets: it detects the provider, writes the record where it can, explains it precisely where it cannot, and tells your backend the moment the record is live. The two do not overlap: one decides where the name points, the other answers when it gets there.
What is Domain Connect, and which DNS providers support it?
Domain Connect is an open protocol that lets a DNS provider apply a pre-registered template of records after the domain owner approves one screen at the provider. Support is per template: each provider chooses which services' templates it serves, so "supports Domain Connect" is never a blanket yes. DoDomain measures which providers serve its templates every night and publishes the result on its State of Domain Connect page.
How do these tools handle apex (root) domains?
It depends on the layer. Edges that serve traffic need the apex pointed at them with A records (Domainee and SaaS Custom Domains publish two addresses, Approximated gives you a dedicated IPv4 address) or with a flattened CNAME (Cloudflare for SaaS; apex proxying on IP addresses is an Enterprise add-on there). Vercel asks for an A record at the apex and Netlify for an ALIAS or ANAME. DoDomain sessions can request A and AAAA records at the apex like any other record, so the customer gets whichever records your edge or host needs.
How is custom-domain software priced?
On four different meters, which is why headline prices compare badly. The edges and Fly.io and Render bill every hostname that is live, every month. Entri and customdomain.ai sell annual allowances of new connections on flat tiers. Vercel includes domains in the hosting plan. DoDomain counts a domain once, in the month it first verifies, and never charges for keeping it monitored. The cost table on this page prices all of them on the same three scenarios.
What happens when a customer later changes or deletes the record?
That is the monitoring question, and the answers differ. DoDomain re-checks every connection every 10 minutes for its first day, hourly for a week, then every 6 hours, confirms a break on three consecutive checks, and sends a signed webhook, free on every plan. Domainee re-checks every 5 minutes, customdomain.ai hourly, and Entri Monitor sends record-missing and record-restored webhooks without a published interval. Approximated's monitor sends a webhook when a host's DNS goes wrong; Cloudflare for SaaS's webhooks cover the certificate lifecycle.
Can I use DoDomain with Cloudflare for SaaS, Vercel or another edge?
Yes, and that is the intended pairing. Ask the session for the record your edge or host needs (a CNAME to your Cloudflare for SaaS hostname, an A record to your Approximated address, the record Vercel returns for the domain) and DoDomain gets it into the customer's DNS, proves it at the authoritative nameservers, and calls your webhook when it is live. Your edge or host then issues the certificate and serves the traffic, exactly as it would have if the customer had typed the record themselves.
How was this comparison researched, and how current is it?
Every fact about another product was read from that vendor's own pricing and documentation pages on 2026-10-06, and each entry links the pages it came from (they are also listed as citations in this page's structured data). Costs are arithmetic over those published rates, never estimates; where a vendor quotes through sales or hides a schedule, the table says so instead of guessing. DoDomain's own figures are read from its live plan definitions when the page is built. Vendors reprice, so check their sites before you buy.
Start on the free plan
No card, no sales call — create an app, mint a session, and watch the first domain verify.