An Entri alternative: DoDomain vs Entri
Entri is the larger vendor for custom domains for SaaS: its About page cites 5M+ domains connected and names HubSpot, Webflow, Twilio and Canva among its customers. DoDomain is a newer, deliberately smaller product at the same layer: getting the DNS record created in the customer's own registrar and proving it is live. If you are here for an Entri alternative, this page sticks to facts we can source, prices your own volume against both meters, and says plainly where Entri still wins.
Facts about Entri checked on against entri.com/plans, entri.com/about, developers.entri.com (connect, webhooks, monitor, MCP, Power) and entri.com/solutions/email-solutions; check their site for current figures. DoDomain's numbers come from its live plan definitions. Published , updated .
Pricing at a glance
| DoDomain | Entri | |
|---|---|---|
| Free tier | $0 forever, 50 verified connections/mo, no card | None published |
| Starting paid price | $29/mo (Pro: 500 connections/mo) | $249/mo (Startup: 600 connections/yr, 1,200 monitored domains; per entri.com/plans, retrieved 2026-10-06) |
| Higher tiers | $99/mo (Scale: 2,500 connections/mo, unlimited apps); enterprise volume by contact | Growth 2,400/yr · Premium 12,000/yr · Enterprise 12,000+/yr, all "Talk to Sales"; Secure (SSL) and Power add-ons have no published price (per entri.com/plans, retrieved 2026-10-06) |
| Monitored domains | Every verified connection, on every plan, no cap and no meter | 1,200 (Startup) · 4,800 (Growth) · 24,000 (Premium) · 50,000 (Enterprise) (per entri.com/plans, retrieved 2026-10-06) |
The two products meter differently: DoDomain's connection allowances are per month, while Entri's published plans state domain connections per year, plus a separate ceiling on monitored domains. Compare against your own expected connection volume, not headline prices alone. DoDomain has no separate monitored-domains number: monitoring is a property of every connection, not a quota.
What it costs at your volume
Entri's Startup plan is the only tier with a published price. Two numbers decide which tier a product lands on: connections added per year, and domains live at once, because Monitor is sized by a monitored-domains cap on every tier. Per Entri's plans page, annual connection volume is "included with each plan before custom overage terms apply", so what happens past a tier's allowance is a conversation with sales, not a rate card.
DoDomain meters one thing: a verified connection, counted once in the month it first goes live. Re-checks and drift monitoring are free and uncapped on every plan, so a product with 20,000 live domains pays for its new arrivals and nothing for the domains it already has. The allowance is a hard cap with no overage billing: past it, new sessions are refused with a 402 quota_exceeded until the next billing month or an upgrade, while connections you already have keep working and keep being monitored.
| Scenario | New domains a month | Domains live | DoDomain | Entri |
|---|---|---|---|---|
| Launching | 20 | 100 | Free: $0 forever | Startup: $249/mo |
| Growing | 300 | 2,000 | Pro: $29 per month | Premium: talk to sales |
| Established | 2,000 | 20,000 | Scale: $99 per month | Enterprise: talk to sales |
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. Entri's column is the cheapest tier whose connections-per-year and monitored-domains allowances both cover the scenario (per entri.com/plans, retrieved 2026-10-06). Only Startup has a published price; the other tiers are "Talk to Sales", so no figure is printed for them. The Power and Secure add-ons, which carry no published price, are excluded, as are any overage terms.
The shape matters more than any one cell. At launch volume the comparison is a free plan against $249 a month. At growth volume DoDomain's price is a published number and Entri's is a quote. Neither is a verdict: Entri's price includes Sell and Monitor, a larger provider list and the hosting path, which DoDomain does not sell.
Feature by feature
| DoDomain | Entri | |
|---|---|---|
| Writes the DNS for the user | Cloudflare OAuth one-click; Domain Connect signed apply where the provider has enabled DoDomain's templates; guided per-provider records everywhere else | Per its docs, logs the user in at a supported provider and applies the records; step-by-step instructions otherwise. 70+ providers in marketing, 63 rows in the docs provider list |
| Proof of success | Authoritative-nameserver read on every path: an apply callback is never treated as proof | Propagation polling every 10 seconds for 2 minutes, then at increasing intervals for up to 72 hours, with a domain.propagation.timeout event; resolvers checked are not stated |
| Drift monitoring | Every 10 min for a connection's first day, hourly for a week, then every 6 h; 3 confirmed checks before a break; free on every plan | Monitor included in every tier, sized by the monitored-domains cap; no check interval is published (per entri.com/plans, retrieved 2026-10-06) |
| Webhooks | HMAC-SHA256-signed, retried and dead-lettered, on every plan; connection.verified / connection.failed name the exact records | "Webhooks and basic configuration options" listed on Startup; three signature headers, the latest HMAC-SHA256 (per entri.com/plans, retrieved 2026-10-06) |
| Email (SPF/DKIM/DMARC) records | A session can request SPF, DKIM and DMARC records, and verification reads them by meaning; the one-click path writes one SPF include and one DKIM selector per session and never MX | "Advanced security and email domain setup" listed at Premium; SPF, DKIM and DMARC described as a capability on its email-solutions page |
| Hosting / SSL for customer domains | Never: DoDomain is not in the request path; TLS terminates at your host | Power and Secure add-ons: reverse proxy with SSL termination, Let's Encrypt certificates, no published price |
| SDKs and agents | @dodomain/node, @dodomain/connect, @dodomain/react on npm; dodomain-sdk on PyPI; MCP server with eight tools over OAuth 2.1; OpenAPI 3.1 | entrijs on npm, REST on api.goentri.com, MCP server at mcp.entri.com/mcp (announced 2026-04-23) |
How the connect flows differ
DoDomain routes every domain through the best available path. Cloudflare-hosted zones get a true one-click: the user authorizes via Cloudflare OAuth and DoDomain writes and verifies the records through the Cloudflare API. Domain Connect providers get protocol support (discovery, template compilation, signed applies), with one-click availability depending on the user's DNS provider having enabled DoDomain's templates. Everyone else gets provider-specific guided setup: dashboard deep links, host-format quirks, and step-by-step instructions. One-click starts on Pro; the Free plan gets the guided flow on every provider.
Entri describes one flow that identifies the provider and, for supported ones, signs the user in and applies the records, falling back to manual instructions. It adds options DoDomain does not have: shared links so an end user can forward the setup to a colleague, a white-label modal in 10+ languages, and per-provider settings such as a www redirect. Its marketing page says the user authenticates with their provider inside your white-labeled Entri modal, with no shared passwords.
Every DoDomain path ends the same way: verification against the domain's authoritative nameservers (never a UI checkbox), an HMAC-SHA256-signed webhook to your server, and free automatic re-verification afterwards. DoDomain re-checks connected domains every 10 minutes for their first day, then hourly for a week, then every 6 hours; suspected drift is confirmed on three consecutive checks before you are alerted, on every plan including Free.
You integrate over a plain-HTTPS REST API (/api/v1), the zero-code hosted connect page, or the @dodomain/connect widget on npm, an embedded, theme-matched sheet inside your own UI. Server SDKs cover the other side: @dodomain/node and dodomain-sdk on PyPI, plus a @dodomain/react hook for the widget and a remote MCP server so AI agents can run the same flow. Entri's equivalent is the entrijs SDK and its modal; its docs call the modal embeddable, and list a "Modal embed option" only at Enterprise.
How each product proves success and watches drift
Both products say more here than they did a month ago, and the difference is smaller than a feature table makes it look. Entri's webhook docs describe polling: if the records are not fully propagated on the first attempt, Entri retries every 10 seconds for the first 2 minutes and then at increasing intervals for up to 72 hours, after which it sends a domain.propagation.timeout event. Webhooks carry a propagation status and lists of propagated and non-propagated records. Its events page is explicit that domain.flow.completed conveys no propagation status, so the status lives on the webhook, not the completion callback.
What Entri does not state is which resolvers confirm propagation, authoritative nameservers or a recursive resolver. That is the question worth asking in a vendor call, because a recursive answer can lag a correct write and an authoritative one cannot. DoDomain's answer is fixed: the authoritative nameservers, on every path.
For what happens after go-live, Entri Monitor "checks your monitored records on an ongoing basis" and raises domain.record_missing and domain.record_restored webhooks; no interval is published. DoDomain's schedule is published and tapers: 10 minutes, then hourly, then every 6 hours, with a three-check confirmation so a transient resolver miss does not page your team. Entri's Monitor page also states 4M+ domains monitored, which is a track record DoDomain does not have.
What the DoDomain side looks like in code
Entri and DoDomain are head-to-head at the DNS layer, so the record in a session points the customer's domain at your host, not at either vendor. Here that is a CNAME from app.customer.com to cname.yourapp.com. Your server creates the session with that record, your page opens the connect sheet, and your webhook route flips the domain live when DoDomain has seen the record at the authoritative nameservers.
With Entri the shape is similar: a server-minted token, a modal on your page, and a webhook back. The difference you will feel is in the record set. DoDomain's records array takes A, AAAA, CNAME, TXT and MX, so ownership-proof TXT records and an apex A record go through the same call.
// 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: "cname.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.
How to choose, and how to switch
Pick DoDomain when your product already serves custom hostnames (a Vercel, Caddy or Cloudflare for SaaS setup) and the missing piece is getting customers to create the record correctly and knowing when it breaks. It fits teams that want a published free tier to build against, per-month metering they can forecast, a monitoring schedule they can read, and a hard cap in place of surprise overage.
Pick Entri when you want one vendor for more of the stack: connect, in-app domain purchase, email-record setup, and hosted routing with SSL. Pick it too when procurement needs a named reference list or a SOC 2 statement (Entri's product pages claim SOC 2 compliance; this page states no certification for DoDomain, so ask each vendor for what your security review requires), or when a long tail of providers matters more than a published price.
Switching is incremental, because DoDomain only touches the customer's DNS and your own code. Run both at once: route new customers through a DoDomain session and leave domains already connected through Entri alone. A session carries the records you want, so reproduce the record set your Entri flow writes today and compare the result on a handful of domains first. DoDomain's docs describe no bulk import of domains connected elsewhere, so each domain you want monitored by DoDomain goes through its own session. Retire the Entri flow once the share of customers still using it no longer justifies its plan. Wire the webhook first, with the verifyWebhook helper in @dodomain/node, because that is what your product reacts to.
Where Entri still wins
Honest flip side, strongest points first. Entri has scale and references: its About page cites 5M+ domains connected and names HubSpot, Webflow, Toast, Twilio, Canva, DoorDash, Square, Customer.io, Replit and Lovable. DoDomain has no comparable public reference list, and for a risk-averse buyer that outweighs most of the feature rows above.
It also sells the rest of the stack. Power and Secure provide domain routing and automatic SSL: per its docs, a reverse proxy with SSL termination, Let's Encrypt certificates, a multi-region architecture and certificate issuance in 3 to 7 seconds on average. Entri Sell is in-app domain purchase through registrar partners. Email-record setup is part of its pitch, with SPF, DKIM and DMARC applied through the same modal. DoDomain can request and verify those records, with the one-click limits noted in the table above, but it does not sell hosting, certificates or domains.
Provider coverage is wider on Entri's side: 63 providers in its docs list, 70+ in its marketing and 75+ on its About page, against DoDomain's Cloudflare OAuth, Domain Connect where templates are enabled, and guided steps elsewhere. Its enterprise features go further too: SSO through Okta, SAML and SCIM, a public status page, and dedicated Slack support at Premium. It claims SOC 2 compliance on its product pages, and its docs cover per-provider options (Cloudflare proxy mode, www redirects), shared links and 10+ languages in the modal.
Where DoDomain earns its place is a published free tier and self-serve pricing, per-month metering, authoritative-DNS verification, monitoring that is never capped, and an architecture that is never in your request path.
Frequently asked questions
What does Entri cost?
As published on entri.com/plans (retrieved 2026-10-06), Entri's Startup plan is $249/month, month-to-month, with 600 automatic domain connections per year and 1,200 monitored domains. Growth (2,400 connections a year, 4,800 monitored), Premium (12,000 a year, 24,000 monitored) and Enterprise (more than 12,000 a year, 50,000 monitored) are "Talk to Sales". The Power and Secure add-ons have no published price. Check entri.com for current figures.
Is Entri free?
No free tier or trial is published on entri.com/plans (retrieved 2026-10-06); the cheapest listed plan is Startup at $249/month, month-to-month and cancel anytime. DoDomain's Free plan is $0 forever with 50 verified connections per month, no card, guided manual setup, signed webhooks and drift monitoring. One-click setup starts on Pro at $29 per month.
Is there a free Entri alternative?
Yes, with a limit you should read first. DoDomain's Free plan is $0 forever and includes 50 verified domain connections per month with guided manual setup and authoritative-DNS verification. One-click setup, which is what Entri sells as automatic configuration, is on Pro and Scale: Cloudflare OAuth for Cloudflare-hosted zones, and a signed Domain Connect apply on providers that have enabled DoDomain's templates. Entri publishes no free tier (per entri.com/plans, retrieved 2026-10-06).
Is there an open-source Entri alternative?
Not as a whole product. DoDomain is a hosted service, not open-source software: you call its REST API or embed its connect widget, and it runs the DNS write-and-verify flow for you. Only the client libraries are open: @dodomain/node, @dodomain/connect and @dodomain/react are MIT-licensed packages on npm. Entri is also a commercial service (per entri.com/plans, retrieved 2026-10-06), and the Entri pages we read describe no open-source edition. If you want to self-host, the piece you can run yourself is the hosting half, for example Caddy's on-demand TLS, which obtains certificates for customer hostnames but does not create or verify the customer's DNS record. The /compare roundup lists those options by layer.
How is DoDomain different from Entri?
DoDomain is scoped to the DNS connection layer: a REST API and hosted connect flow that mint a session, detect the user's DNS provider, apply records one-click on Cloudflare, apply through Domain Connect where the provider has enabled DoDomain's templates, guide manual setup elsewhere, verify against authoritative DNS, notify your server with signed webhooks, and keep re-verifying connected domains at no extra cost with no monitored-domains cap. It does not proxy your traffic or provision SSL. Entri covers the same connect step and also sells hosting and SSL (Power, Secure), in-app domain purchase (Sell) and email-record setup, per entri.com.
Does Entri write DNS records for the customer?
Yes, per its docs. Entri identifies the user's DNS provider, and "for supported providers, Entri logs in automatically and applies the records on their behalf"; for unsupported providers it shows step-by-step manual instructions. Its marketing says 70+ providers are supported automatically, while its docs provider list has 63 rows, so ask which of your customers' providers are on the automatic list. Record types in its docs are A, AAAA, CNAME, CAA, MX, TXT and NS.
Does Entri verify that the DNS change actually worked?
Entri's docs describe propagation polling: if the records are not fully propagated on the first attempt, Entri retries every 10 seconds for the first 2 minutes, then at increasing intervals for up to 72 hours, and sends a domain.propagation.timeout event if it never converges. Webhooks carry a propagation status. The docs do not say which resolvers it checks against. DoDomain reads the domain's authoritative nameservers on every path and declares success only when the expected values are there; an apply callback from a provider is never treated as proof.
Does Entri publish an SDK, an API or an MCP server?
Yes to all three, per developers.entri.com. The JavaScript SDK is entrijs on npm (with a CDN script, a React guide and a vanilla JS guide), the REST API lives at api.goentri.com with a server-minted token, and an MCP server is at mcp.entri.com/mcp, announced on Entri's blog on 2026-04-23. DoDomain ships @dodomain/node, @dodomain/connect and @dodomain/react on npm, dodomain-sdk for Python, a REST API with an OpenAPI 3.1 document, and an MCP server with eight tools over OAuth 2.1.
Does Entri handle apex (root) domains, and does DoDomain?
Entri's docs use {DOMAIN} and {SUBDOMAIN} placeholders and conditional records so one flow can handle a root domain or a subdomain, and document a www-redirect option per provider; they do not state how a CNAME at the root is handled. DoDomain accepts A, AAAA, TXT and MX at the apex (host "@") on every path. A CNAME cannot exist at a zone apex under the DNS RFCs, so an apex session asks for A and AAAA records, and the one-click apex path is available on Cloudflare zones and on Domain Connect providers that serve the apex template.
Does Entri or DoDomain provision SSL certificates?
Entri does, as a separate product: its Power and Secure docs describe a reverse proxy with SSL termination on AWS and Let's Encrypt certificates, with issuance in 3 to 7 seconds on average. Neither add-on has a published price. DoDomain does not: it writes and verifies the DNS that points a customer's domain at your infrastructure, and TLS terminates at your host (Vercel, Cloudflare for SaaS, Caddy, nginx; the SSL guide at dodomain.io/docs/ssl covers common setups).
Can I use DoDomain next to Entri?
Nothing in either product's docs prevents running both, and DoDomain reads and writes only the customer's own DNS records, so existing Entri-connected domains are untouched. The two overlap on the connect step, so the clean split is by customer segment or by new versus existing domains, not by running both flows against one domain. The DoDomain docs describe no bulk import of domains connected elsewhere, so plan on each domain going through its own session.
What do DoDomain's paid plans cost?
Pro is $29 per month with 500 verified connections per month; Scale is $99 per month with 2,500. The Free plan stays $0 forever. Every listed tier is self-serve; past Scale, volume is arranged by contact. Each plan's allowance is a hard cap with no overage billing.
Start on the free plan
No card, no sales call: create an app, mint a session, and watch the first domain verify.