Custom domain with your own provider ($domains)
Point a domain the user already owns at their Convex app. No purchase, no registrar credentials — you give the user the exact records to create themselves.
Procedure
- Identify the target: the published site host (for static hosting) or the
deployment's HTTP actions URL (
npx convex env get CONVEX_SITE_URLor the dashboard). - Give the exact DNS records to create at THEIR registrar: the CNAME (or A/ALIAS at the apex) plus the TXT verification record — concrete host/value strings, not placeholders.
- Attach the custom domain on Convex (dashboard → deployment → Custom Domains, or the CLI) and wait for verification. DNS propagation can take minutes to hours — tell the user, don't poll forever.
- If the app uses auth (passkeys/OAuth), rebind the auth origin
(
SITE_URL/RP_ID/ORIGINenv vars) to the new domain and re-deploy — otherwise sign-in breaks on the new domain. - Verify: the domain serves the app over HTTPS, including the apex → www redirect if configured.
Rules
- Never ask for registrar credentials — the user creates the records.
- Always include the TXT verification record, not just the CNAME.
- Rebinding the domain changes the auth origin — re-deploy after, or sign-in breaks.