I just launched Social SDK. Come check it out →
Domain SDK
Providers

Custom domain provider comparison

Compare custom domain support across Vercel, Cloudflare for SaaS, Railway, Render, Netlify, and bunny.net, plus the Porkbun, Namecheap, and Spaceship DNS adapters.

Choose the provider where your application already serves traffic. Domain SDK normalizes the lifecycle, but credentials, resource scope, DNS requirements, and platform limits remain provider-specific.

Compatibility

CapabilityVercelCloudflare SaaSRailwayRenderNetlifybunny.net
Add domain✓✓✓✓✓✓
Get status✓✓✓✓✓✓
List domains✓✓✓✓✓✓
Explicit verification✓——✓—✓
Remove domain✓✓✓✓✓✓
Managed certificates✓✓✓✓✓✓
Apex domains✓—✓✓✓✓
Wildcard domains✓——✓—✓
Ownership records✓✓✓wildcard domains——
Routing records✓✓✓✓✓✓
Automatic customer DNS——————

Cloudflare for SaaS requires a CNAME target, so the current adapter does not claim apex support. Vercel, Render and bunny.net are the adapters that accept wildcard hostnames. Vercel wildcard TLS requires DNS-01 validation, normally through Vercel nameservers; A/CNAME routing alone is insufficient. Eligible delegated subdomains can retain third-party DNS by following Vercel's qualified _acme-challenge NS delegation guide; the adapter does not configure that delegation. bunny.net wildcards require the domain to be hosted on Bunny DNS. Netlify manages aliases without replacing the site's primary domain. bunny.net is the CDN option rather than an application host: it fronts an origin you already run. No hosting adapter edits DNS. When you control the zone, a DNS adapter can write the records for you.

DNS adapters

DNS adapters write the records a hosting provider asks for into a zone at your registrar. Pass them to createDnsClient(), then call applyDomainRecords() with the Domain a hosting adapter returned. All three write A, AAAA, CNAME, ALIAS, TXT, and CAA records. They do not register domains, change nameservers, or issue certificates.

CapabilityPorkbunNamecheapSpaceship
TTL range (seconds)600–8640060–6000060–3600
Per-record writes✓— (whole zone)✓
Delegation check✓✓✓

Namecheap's API replaces every host in a zone on each write. The adapter reads the zone, changes only the requested records, and writes the result back, so use one writer per zone. See the Namecheap page for details.

Provider credentials belong to your SaaS account, never to the customer. The memory adapter is available separately for testing, not as a production provider.