Moving a Domain to Another Registrar
2025-10-17
The Situation
The domain for my first SaaS project 1st-things-1st.com was registered with GoDaddy. Even though the whole project was already running under my company’s name, I never really bothered to move the domain to my company’s account at Namecheap.
Last week I noticed that the domain was about to expire, and I thought, alright, time to finally do it.
I had never transferred a domain before, so I wasn’t sure how it would go or whether I could pull it off without any downtime. Here’s how it went.
The Story
Namecheap has this feature called “Transfer to Us.” You just follow a few simple steps: request a transfer for your domain, enter a one-time Auth code (also called as EPP - Extensible Provisioning Protocol - code) from another registrar to confirm you’re the owner, and pay for another year.
At GoDaddy’s side, there was a whole confirmation process to make sure I really wanted to transfer the domain and understood it couldn’t be undone. Once that was done, I got the code I needed for Namecheap.
Then came the waiting part. It took almost a week to get the confirmation that the transfer was successful, which was expected according to their help docs. As soon as I got the notification, I jumped into my Namecheap settings to check if everything looked right.
Unfortunately, the domain records weren’t migrated automatically. Only the ownership was transferred. The nameserver settings in Namecheap were still pointing to GoDaddy’s servers.
And since GoDaddy no longer listed the domain or its DNS records, I had to recover those values myself.
I needed to extract the following records for each subdomain:
- A – IPv4 Address
- CNAME – Canonical Name
- MX – Mail Exchange
- TXT – Text
I did it from the command line like this:
$ dig 1st-things-1st.com ANY > 1st-things-1st.txt
$ dig www.1st-things-1st.com ANY >> 1st-things-1st.txt
$ dig my.1st-things-1st.com ANY >> 1st-things-1st.txt
$ dig our.1st-things-1st.com ANY >> 1st-things-1st.txt
$ dig apps.1st-things-1st.com ANY >> 1st-things-1st.txt
$ dig analytics.1st-things-1st.com ANY >> 1st-things-1st.txt
Alternatively, you can look up WHOIS information on sites like who.is.
Once I had all the records, I switched to Namecheap’s nameservers (Namecheap BasicDNS) and added everything manually.
The website was down for about 30 to 60 minutes, depending on where in the world the visitor was. Some downtime was unavoidable, but overall, the transfer went through successfully.
The Learnings
The whole thing could have been smoother if I had known what to expect. Here’s how I’d do it next time:
- Save all domain records to a local file before starting.
- Get the Auth/EPP code from the old registrar.
- Request the transfer at the new registrar.
- Wait for the transfer to complete.
- Pick the best time for downtime and let users know in advance.
- Switch to the new nameservers and add all records manually.
Also by me
Django Paddle Subscriptions app
For Django-based SaaS projects.
Django GDPR Cookie Consent app
For Django websites that use cookies.