If you have a domain registered with a provider like GoDaddy, Namecheap, etc., you can connect it to a live Caffeine project by adding the required DNS records at your registrar.
What you will need
- A Plus or Pro plan
- A domain registered with any DNS provider
- A Caffeine project that is already live (published in Live mode)
How to connect your domain
- Open your user settings and go to the Custom Domains section.
- Select Bring your own domain and choose the project you want to connect to.
- Enter your domain name and confirm.
- Caffeine displays the DNS records you need to add at your registrar:
- Web records — required for your domain to route to your app (CNAME records for routing and SSL). These are shown immediately.
- Mail records — required if your app sends email (CNAME records for DKIM, TXT records for SPF and DMARC). These are shown in a collapsible section labelled "Configure the following DNS records when your application sends emails." Expand it if your app uses email.
- Caffeine also shows quick links to DNS management guides for popular registrars (GoDaddy and Namecheap) directly in the setup screen. If you are unsure how to add records at your registrar, follow the link for your provider.
- Copy each record from Caffeine and add it in your registrar's DNS management panel. If your app sends email, make sure to expand and add the mail records too.
After adding the records, it can take up to 24 hours for all DNS resolvers worldwide to reflect the change. In practice it is often much faster, but allow a full day before expecting the domain to be fully active everywhere. Once Caffeine confirms that the domain has been successfully assigned, you will see a confirmation message in the project chat.
Email DNS records
If your app sends email (order confirmations, newsletters, verification emails, etc.), you must add the mail DNS records that Caffeine displays during domain setup. These records authenticate your domain with the email delivery service and are required for email to work. Without them, emails will silently fail to deliver — there is no error message.
The mail records consist of:
-
Three CNAME records for DKIM — these prove that emails from your domain are legitimate. Each record has a host like
abc123._domainkeyand a value pointing toabc123.dkim.amazonses.com. The exact values are unique to your domain and are shown in the Caffeine setup screen. -
One TXT record for SPF — this tells receiving mail servers that Amazon SES is authorized to send email on behalf of your domain. The value is
v=spf1 include:amazonses.com ~all. -
One TXT record for DMARC — this tells receiving mail servers how to handle emails that fail authentication checks. The value is
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com(with your actual domain).
You can verify that your mail DNS records are correctly published using a tool like Google Admin Toolbox. Look up the CNAME records for each _domainkey host to confirm they resolve correctly.
If you do not plan to send email from your app, you can skip the mail records. They are only needed for email delivery.
Making the apex domain redirect to www
After www.mydomain.com is connected and working, you can optionally redirect mydomain.com so visitors who type the bare domain are forwarded automatically. When you enter a www domain, Caffeine shows this redirect instruction in the setup screen along with links to guides for GoDaddy and Namecheap.
How to set this up depends on your registrar. Look for a setting called domain forwarding, URL redirect, or apex redirect in your registrar's DNS or domain settings. Point it to https://www.mydomain.com.
Example configurations
Examples of how DNS records and permanent redirects are configured for the website to work properly.
GoDaddy
Navigate to Domain > DNS > DNS Records to add the following records.
Web records (required)
CNAME — www
- Name:
www - Value:
www.mydomain.com.icp1.io. - TTL: 1 Hour
CNAME — ACME challenge
- Name:
_acme-challenge.www - Value:
_acme-challenge.www.mydomain.com.icp2.io. - TTL: 1 Hour
TXT — Canister ID
- Name:
_canister-id.www - Value:
aaaaa-aaaaa-aaaaa-aaaaa-aaa(use the actual canister ID shown by Caffeine) - TTL: 1 Hour
Mail records (required if your app sends email)
CNAME — DKIM record 1
- Name:
abc123._domainkey - Value:
abc123.dkim.amazonses.com - TTL: 1 Hour
CNAME — DKIM record 2
- Name:
def456._domainkey - Value:
def456.dkim.amazonses.com - TTL: 1 Hour
CNAME — DKIM record 3
- Name:
ghi789._domainkey - Value:
ghi789.dkim.amazonses.com - TTL: 1 Hour
The three DKIM record names (abc123, def456, ghi789) are unique to your domain. Use the exact values shown in the Caffeine setup screen.
TXT — SPF
- Name:
mydomain.com - Value:
v=spf1 include:amazonses.com ~all - TTL: 1 Hour
Important: GoDaddy shows a prompt asking if this record is for mydomain.com or for mydomain.com.mydomain.com. Select No, please put the record on mydomain.com.mydomain.com.
TXT — DMARC
- Name:
_dmarc - Value:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@mydomain.com - TTL: 1 Hour
Apex redirect (optional)
Navigate to Domain > DNS > Forwarding and add a permanent (301) redirect from mydomain.com to https://www.mydomain.com.
Namecheap
Navigate to Domains List > Manage > Advanced DNS to add the following records.
Web records (required)
CNAME Record — www
- Host:
www - Value:
www.mydomain.com.icp1.io. - TTL: Automatic
CNAME Record — ACME challenge
- Host:
_acme-challenge.www - Value:
_acme-challenge.www.mydomain.com.icp2.io. - TTL: Automatic
TXT Record — Canister ID
- Host:
_canister-id.www - Value:
aaaaa-aaaaa-aaaaa-aaaaa-aaa(use the actual canister ID shown by Caffeine) - TTL: Automatic
Mail records (required if your app sends email)
CNAME Record — DKIM record 1
- Host:
abc123._domainkey - Value:
abc123.dkim.amazonses.com - TTL: Automatic
CNAME Record — DKIM record 2
- Host:
def456._domainkey - Value:
def456.dkim.amazonses.com - TTL: Automatic
CNAME Record — DKIM record 3
- Host:
ghi789._domainkey - Value:
ghi789.dkim.amazonses.com - TTL: Automatic
The three DKIM record names (abc123, def456, ghi789) are unique to your domain. Use the exact values shown in the Caffeine setup screen.
TXT Record — SPF
- Host:
mydomain.com - Value:
v=spf1 include:amazonses.com ~all - TTL: Automatic
TXT Record — DMARC
- Host:
_dmarc - Value:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@mydomain.com - TTL: Automatic
Apex redirect (optional)
Add a URL Redirect Record with host @ pointing to https://www.mydomain.com as a Permanent (301) redirect.
Frequently asked questions
Which registrars are supported?
Any registrar that lets you manage DNS records will work. Caffeine does not require a specific provider — as long as you can add CNAME and TXT records, you can connect your domain.
Do I need to add the mail DNS records?
Only if your app sends email. If your app does not use email sending, you can skip the mail records and add only the web records. If you add email to your app later, you will need to go back and add the mail records at that point — otherwise emails will not be delivered.
My app stopped sending emails after I connected my domain. What happened?
This almost certainly means the mail DNS records are missing. When you switch from the default Caffeine domain to your own domain, email starts sending from your domain instead. Without the DKIM, SPF, and DMARC records configured at your registrar, those emails cannot be delivered. Add the mail records shown in the Caffeine setup screen and allow time for DNS propagation.
Do I need to configure www separately?
No. The records Caffeine provides connect your app at www.mydomain.com.
Can I connect my domain directly to the apex (naked) domain?
Yes. To make mydomain.com also work, set up a permanent (301) redirect at your registrar pointing mydomain.com to https://www.mydomain.com.
Do I need to transfer my domain to Caffeine?
No. Your domain stays registered at your current registrar. You only need to add DNS records — no transfer is required.
How long does DNS propagation take?
It varies. Most changes are visible within a few minutes to a few hours. In some cases it can take up to 24 hours for all DNS resolvers worldwide to reflect the new records.
Can I transfer my existing domain to Caffeine instead?
No. Inbound domain transfers are not currently supported. You keep your domain at your existing registrar and point it to Caffeine using DNS records.
My registrar doesn't seem to support CNAME records on www. What should I do?
All major registrars support CNAME records on subdomains like www. If you're unsure how to add a CNAME, search your registrar's help center for "add CNAME record". If you're still stuck, contact support.
Can I use a subdomain other than www?
Yes. You can enter any subdomain when adding your domain, such as app.mydomain.com or store.mydomain.com. The CNAME record Caffeine generates will target whichever subdomain you specify.
Where do I buy a domain through Caffeine instead?
If you'd rather purchase and connect a domain without any DNS configuration, see Buying and Managing Custom Domains. Domains purchased through Caffeine are connected automatically.