DoDomain vs SaaS Custom Domains
SaaS Custom Domains is a proxy platform for branded customer domains: automatic certificates, a WAF, DDoS protection, an edge in 119 locations, and a self-hosted option (per saascustomdomains.com, retrieved 2026-10-06). DoDomain is the DNS layer in front of any of that (getting the record created inside the customer's own DNS provider, proving it is live, and watching it afterwards), and it is never in the request path. This page separates the two halves, prices both at your volume, and says where SaaS Custom Domains is the better fit.
Facts about SaaS Custom Domains checked on against saascustomdomains.com (homepage, FAQ, features, SLA) and its API docs at docs.saascustomdomains.com; check their site for current figures. DoDomain's numbers come from its live plan definitions. Published , updated .
Who does which half
| DoDomain | SaaS Custom Domains | |
|---|---|---|
| Gets the customer's DNS record created | Yes: Cloudflare OAuth one-click, signed Domain Connect apply where the provider has enabled it, guided per-provider steps with a live status per record everywhere else | No: its API can email the customer the CNAME instructions, and it validates the record afterwards (per saascustomdomains.com, retrieved 2026-10-06) |
| Proves the record is live | Yes: read at the domain's authoritative nameservers before success is declared | Yes, for its own record: a webhook fires when the CNAME to its proxy resolves, and another when it cannot be found; the docs do not say which resolver is asked (per saascustomdomains.com, retrieved 2026-10-06) |
| Terminates TLS on the customer's hostname | Never: traffic goes straight to your host | Yes: automatic certificates, custom certificates, WAF, DDoS protection, rate limiting (per saascustomdomains.com, retrieved 2026-10-06) |
| Self-hosted option | Not applicable: nothing to host; DoDomain is a control plane that never touches traffic | Yes, with custom TLS termination (per saascustomdomains.com, retrieved 2026-10-06) |
| Monitoring | DNS drift: every 10 min → hourly → 6 h by connection age, 3 confirmed checks, signed events naming the records; free on every plan | Monitoring of the served traffic and its proxy record; an SLA of 99.9% uptime per calendar month (per saascustomdomains.com, retrieved 2026-10-06) |
| Entry price | $0 forever, 50 verified connections per month, no card, forever | $29/month for 100 domains ($0.29 per domain, discounts up to 50% (per saascustomdomains.com, retrieved 2026-10-06) |
| Metered by | Verified connections per month: a connection counts once, on first verification | Domains served; bandwidth is not charged extra (per saascustomdomains.com, retrieved 2026-10-06) |
| Integration surface | REST API + OpenAPI 3.1, @dodomain/node, @dodomain/connect, @dodomain/react, dodomain-sdk (Python), remote MCP server, signed webhooks | REST API, webhooks, analytics dashboard (per saascustomdomains.com, retrieved 2026-10-06) |
What automated DNS configuration means at SaaS Custom Domains
The phrase is on their homepage and it is easy to read as more than it says. Per their features page it is automated DNS configuration emails and validation for your customers. Their API docs name the field: instructions_recipient is the email address where the instructions to add the CNAME record will be sent. We found no statement that it writes the record into the customer's own DNS provider, so this page treats it as instructions plus validation.
That is a useful feature and a common one. It moves the instructions out of your UI and into an inbox. It does not remove the step where a non-technical customer opens a DNS dashboard, finds the right zone and types a host value into the wrong field. That step is where DoDomain sits: on Pro and above the session picks a Cloudflare OAuth approval or a signed Domain Connect apply when the customer's provider allows it, and every other provider gets step-by-step records for that provider's dashboard with a live status per record.
The validation half is where they are closer to us than the old version of this page said. Their webhooks include a Domain DNS Proxy Record Valid event, fired when a CNAME successfully points the custom domain at their proxy, and a matching Invalid event for when the CNAME cannot be found, with a last_dns_check_at field. The checks target their own proxy record. DoDomain's proof is read at the domain's authoritative nameservers for whatever records your session asked for, which can include a TXT record or a record that points at a host other than a proxy.
Certificates, wildcards and the API, side by side
Per their FAQ, SaaS Custom Domains generates certificates with Let's Encrypt and ZeroSSL. Each domain has a challenge_type of http01, which issues on demand, or dns01, which issues once the _acme-challenge records are found. Subdomains, apex domains and wildcards are all documented, and a wildcard can use on-demand certificates for each subdomain. If you have a customer who must bring their own certificate, custom certificates are supported. DoDomain issues no certificates, so none of this has a counterpart on our side.
Their REST API covers accounts, upstreams, custom domains, rules, custom certificates, redirects and analytics, with bearer-token auth. Their webhooks cover domain created and deleted, the DNS proxy record and DNS challenge record valid and invalid events, proxy deployment complete, and certificate issued and revoked. Per their docs, a delivery has a 5-second timeout and is retried up to 10 times with exponential backoff, and each request carries a token in the query string. We do not quote their rate limit: their docs and FAQ disagree about it.
DoDomain's surface is narrower in scope and different in kind: sessions, connections and events for the DNS step, a published OpenAPI 3.1 document, three npm packages and a Python SDK, and an MCP server with eight tools over OAuth 2.1. If you already integrate their API, adding ours is one more route that receives one more signed webhook.
What SaaS Custom Domains costs at your volume
SaaS Custom Domains meters domains served. Per its homepage you start with 100 domains at $0.29 per domain, which is $29 a month, and get automatic discounts up to 50% as you scale. The sliders that set the schedule are rendered in JavaScript and we could not read the steps between, so the table below shows the range those two published bounds imply rather than a point estimate. Its FAQ says bandwidth is not charged extra, which removes one variable that most proxy bills carry.
DoDomain meters a verified connection, once, in the month it first goes live. Monitoring and re-checks are free and uncapped, so domains that stay live for years add nothing after the month they arrived. The scenarios price each side on its own meter: new domains per month for DoDomain, domains live at once for SaaS Custom Domains.
| Scenario | New domains a month | Domains live | DoDomain | SaaS Custom Domains |
|---|---|---|---|---|
| Launching | 20 | 100 | Free: $0 forever | $29 |
| Growing | 300 | 2,000 | Pro: $29 per month | $290 to $580 (discount schedule not published) |
| Established | 2,000 | 20,000 | Scale: $99 per month | $2,900 to $5,800 (discount schedule not published) |
List prices, monthly billing. DoDomain counts a domain once, in the month it first verifies; re-checks and drift monitoring are free on every plan, so live domains add nothing. One-click setup starts on Pro: a cheaper plan above is the guided-records flow. The SaaS Custom Domains column is its published domain price only. Above 100 domains it shows the range between the full per-domain price and the maximum 50% discount, because the schedule in between is not published on a page we could read. Enterprise and self-hosted deployments are quoted by contacting sales and are not priced here.
Two readings. A product with many customers and a stable list will pay the proxy line far more than the DNS line, and the proxy line is the one worth negotiating. A product that onboards in bursts and routes most traffic through its own infrastructure may find the DNS line is the only one it needs. See pricing for what each DoDomain plan includes.
What the DoDomain side looks like in code
On this page DoDomain gets the record into the customer's DNS and proves it, and SaaS Custom Domains serves the traffic. So the record in the session points at their edge. Per their custom-domains guide, a subdomain takes a CNAME to in.saascustomdomains.com, and the guide also describes pointing a CNAME on your own domain at it first, so customers create one stable record.
An apex needs a different record: their guide says two A records at the addresses they publish, so pass those as A records instead. A CNAME cannot exist at a zone apex whichever vendor you use.
// 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: "in.saascustomdomains.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.
Wiring them together
Take the record value SaaS Custom Domains tells your customer to create, pass exactly that record to POST /api/v1/sessions, and hand your customer the returned connectUrl, or embed the @dodomain/connect sheet in your own onboarding. When the signed connection.verified webhook arrives, the record exists at the customer's authoritative nameservers and the edge can serve the hostname. Nothing about your proxy, hosted or self-hosted, changes.
You can turn off the instructions email for the customers DoDomain handles and keep it for the rest, because the two systems share no state. Each side reports through its own webhook, and your server decides which signal activates the tenant.
How to choose
- You need HTTPS on customer domains and have no proxy: SaaS Custom Domains does that and DoDomain does not. Start there, and add DoDomain only if the DNS step is where customers stall.
- Your customers are technical and an emailed CNAME instruction is enough: you do not need a second vendor.
- Your customers use many registrars and abandon at the record step: add DoDomain. The Cloudflare and Domain Connect paths remove the copy-and-paste for the providers that allow it, and the proof tells you which customers actually finished.
- You run SaaS Custom Domains self-hosted: DoDomain works the same, because it needs the record value and never access to your edge.
Leaving SaaS Custom Domains later costs you a record change: swap the record value in your session payload and DoDomain guides the same customers through the new one.
A practical test before committing: take ten real customer domains from your last month of signups, count how many reached a working record without help, and note which providers the rest were on. If the failures cluster on providers that support Domain Connect or are on Cloudflare, the one-click paths will remove most of them. If they are spread across small registrars, the guided steps and the live per-record status are the part that helps.
Reliability, support and compliance
Their SLA page commits to 99.9% uptime per calendar month. Their homepage lists higher figures elsewhere, and we quote only the SLA because it is the commitment a contract would hold them to. Support is 24/7 by email and web chat; phone support and the 1, 6, 12 and 24 hour response tiers are described as part of the Enterprise package, along with a dedicated technical account manager and custom SLAs.
On compliance, their Enterprise self-hosted offer is described as built for SOC 2, HIPAA and other enterprise frameworks. That is a statement about the design, not a certification, and we read it that way. They publish a data processing agreement and a sub-processor list that names AWS among others. If your buyers send security questionnaires, ask for the current documents rather than relying on the homepage.
DoDomain's exposure is narrower because it carries no traffic and issues no certificates: it reads DNS and sends signed events. That makes the review shorter, and it also means there is no SLA on your customers' page loads to compare against theirs.
Where SaaS Custom Domains still wins
It serves traffic. Automatic certificates through Let's Encrypt and ZeroSSL, custom certificate support, wildcard domains, a WAF, DDoS protection, rate limiting, redirects and rules are all part of the product, and DoDomain never will do any of it (per saascustomdomains.com, retrieved 2026-10-06).
A flat $29 for 100 domains with no bandwidth charge is a simpler line item than a connection allowance, and the discount bound is published. It also publishes an SLA of 99.9% uptime per calendar month with service credits, and offers 24/7 support by email and web chat. DoDomain does not publish an equivalent traffic SLA because it carries no traffic.
Its webhooks include DNS proxy record valid and invalid events, which are a drift signal for the record that matters most to its own product. It offers a self-hosted deployment for teams that must run the edge themselves, a native Bubble.io integration, and an option that puts Cloudflare in front for DDoS, CDN and WAF.
Where DoDomain earns its place is the step every proxy leaves to the customer: writing the record through their provider where it can, guiding it precisely where it cannot, proving it at the source, and monitoring it for free, with no proxy in your request path and no bandwidth on the invoice.
Frequently asked questions
How much does SaaS Custom Domains cost?
Per saascustomdomains.com (retrieved 2026-10-06): start with 100 domains at $0.29 per domain, which is $29 a month, with automatic discounts of up to 50% as you scale. The discount schedule is behind a slider we could not read, so we do not state a rate between those two bounds. Their FAQ says bandwidth is not charged extra. There is no separate pricing page; check the homepage for current figures.
Is SaaS Custom Domains free?
There is no free plan that we found. Their FAQ describes a 7-day free trial with full access to all features and as many domains as you need; check their site for what starting one requires. DoDomain's side of a pairing has a permanent free plan, so the DNS-onboarding half can be built and tested at no cost.
Is DoDomain an alternative to SaaS Custom Domains?
For serving traffic, no. SaaS Custom Domains is a proxy platform with automatic certificates, a WAF, DDoS protection, rate limiting and a 119-location edge (per saascustomdomains.com); DoDomain never proxies and never issues certificates. For the DNS step the two do different jobs: SaaS Custom Domains can email the customer the CNAME instructions and validate the record, while DoDomain gets the record created through Cloudflare OAuth, a signed Domain Connect apply, or guided steps, then proves it at the authoritative nameservers and monitors it.
Does SaaS Custom Domains write DNS records for my customers?
Not that we found in its docs. The phrase on its pages is automated DNS configuration, and its features page describes it as automated configuration emails and validation for your customers. The API's instructions_recipient field is the address where the instructions to add the CNAME record are sent. The customer still creates the record in their own DNS provider.
Does SaaS Custom Domains support apex domains?
Yes. Per its custom-domains guide, a subdomain gets a CNAME to in.saascustomdomains.com, and an apex gets two A records pointing at the addresses it publishes. A CNAME cannot exist at a zone apex, which is DNS's rule for every vendor. DoDomain guides and verifies A, AAAA, TXT and MX records at the apex on every plan.
Does SaaS Custom Domains monitor my customers' domains?
Yes, in its own terms. Its features page describes full-stack monitoring from DNS to application with automatic healing, and its webhooks include Domain DNS Proxy Record Valid and Invalid events that fire as the CNAME to its proxy starts or stops resolving. Those checks target the record that points at its own proxy. DoDomain's monitor re-reads whichever records your session asked for at the authoritative nameservers and names the failing ones.
How reliable is SaaS Custom Domains?
Its SLA page commits to 99.9% uptime per calendar month. Its homepage also shows higher figures in other places; we quote only the SLA because it is the commitment. Support is 24/7 by email and web chat, with phone and faster response tiers listed as part of the Enterprise package.
Can I use DoDomain with SaaS Custom Domains?
Yes, and nothing about your proxy changes. Take the record SaaS Custom Domains tells your customer to create (a CNAME to in.saascustomdomains.com, or a CNAME on your own domain that points there), pass it to POST /api/v1/sessions, hand the customer the connectUrl or the @dodomain/connect widget, and activate the tenant when the signed connection.verified webhook arrives. This also works with its self-hosted deployment, because DoDomain only needs the record value.
How do the webhooks differ?
SaaS Custom Domains webhooks cover domain, DNS, certificate and deployment events, are authenticated by a token in the query string, and are retried up to 10 times with exponential backoff per its docs. DoDomain's webhooks are HMAC-signed (x-dodomain-signature), retried and dead-lettered, with verifyWebhook in @dodomain/node. They report different things: its events describe the proxy, ours describe whether the customer's DNS holds the records you asked for.
Does DoDomain add anything after the domain is live?
Monitoring, on every plan including Free. DoDomain re-checks each verified connection every 10 minutes for the first day, hourly for a week, then every 6 hours. Drift is confirmed on three consecutive checks before a signed connection.failed webhook names the failing records, and connection.verified fires again on recovery. There is no cap on monitored domains.
Start on the free plan
No card, no sales call: create an app, mint a session, and watch the first domain verify.