Every paid product needs a real address before it needs a single line of code. This session buys your domain, points it at the app you already deployed, and lays the two DNS records that keep your future emails out of spam.
Before you fall for a name, check what it actually costs. Run domains check, then domains price, right from the terminal, or open the dashboard and click Buy: either path shows the first year price and the renewal price before you pay a cent.
Buying is one command: vercel domains buy, then the domain name. Or from the dashboard, click Buy and confirm the price. Either way charges the card on file for your Vercel team, and the domain is yours outright, independent of any one project.
Point the domain at your project with domains add, then the domain and the project name. Bought through Vercel and added to a Vercel project, there is no DNS to touch: Vercel controls both ends. Confirm it resolved with domains verify.
If you bought elsewhere, two records carry the whole site. An A record at the apex points at Vercel's address, and a CNAME at www points at the host your dashboard shows. Give it minutes to a couple of days to fully propagate everywhere.
DMARC tells mail servers what to do with email forged as your domain. Start soft, at p equals none, so reports flow without blocking anything. After clean weeks, tighten to quarantine so forged mail lands in spam, not the inbox it was forged for.
Most domains run somewhere between ten and forty dollars a year, though a two letter or premium name costs more, sometimes a lot more. Whatever you land on, you now own it outright, in the same account that hosts your project.
You are done when your domain resolves to your live project over HTTPS, domains verify reports it configured, and a dmarc TXT record exists at your domain, even at the soft p equals none setting. Members also get the full checklist in the vault.
Your domain is live, pointed at your project, and already reporting DMARC activity even before you tighten it. Next, you turn that domain into somewhere people can actually sign in, with a magic link instead of one more password to leak.
A paid product needs a real address before it needs a single line of code. In this session you buy a domain, point it at the app you already deployed, and lay the two DNS records that keep your future emails out of spam. Do this first: every other session in this course (accounts, payment, email) assumes a domain that already resolves.
npm i -g vercel, signed in with vercel loginYou can buy a domain almost anywhere (Namecheap, Cloudflare, GoDaddy) and point it at Vercel afterward, or buy it directly through Vercel, which skips the pointing step entirely. Vercel is both registrar and host here, so a domain bought there attaches to a project with one command. The dashboard and the CLI both call the same underlying domains registrar API.
vercel domains check yourdomain.com
vercel domains price yourdomain.com
Dashboard path: vercel.com, your team, Domains, "Buy", type the name. The price for the first year and the renewal price both show before you pay. Read both; the renewal number is what you actually pay every year after. A short, ordinary domain typically runs somewhere between ten and forty dollars a year depending on the top-level domain; a two-letter or premium name costs more, sometimes a lot more, so check before you commit.
vercel domains buy yourdomain.com
This charges the card on file for your Vercel team and registers the domain in that team's scope. From the dashboard: Domains, "Buy", confirm the price, pay. Either way you now own the domain outright, independent of which project you eventually point it at.
vercel domains add yourdomain.com your-project-name
Or from the dashboard: your project, Settings, Domains, "Add", type the domain. A domain bought through Vercel and added to a Vercel project needs no DNS changes at all, since Vercel already controls both ends. A domain bought elsewhere needs the A record and CNAME the dashboard shows you, set at that registrar instead.
Confirm it resolved:
vercel domains verify yourdomain.com
Two records carry almost every small site:
yourdomain.com) pointing at 76.76.21.21 (confirm the exact value on your project's Domains settings, since it can differ by account)www pointing at the host your project's Domains tab showsDNS changes are not instant. Allow up to 24 to 48 hours for full propagation, though most resolvers pick up a change within minutes to a few hours.
DMARC is a DNS record that tells other mail servers what to do with an email that claims to be from your domain but fails authentication. Add it once your SPF and DKIM records are in (covered in Email that arrives); doing it out of order can bounce your own mail.
Start soft, at p=none, so reports flow without blocking anything:
vercel dns add yourdomain.com _dmarc TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com"
After a couple of clean weeks, tighten it to quarantine so forged mail lands in spam, not the inbox it was forged for:
vercel dns add yourdomain.com _dmarc TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"
Buy or point your domain, add the apex A record and www CNAME if you bought elsewhere, and add the p=none DMARC record today, even though you will not read the reports until the email session.
p=reject on DMARC. A forgotten sending service not yet listed in your SPF record will have its mail rejected outright, including your own, if you skip the soft rollout.Your domain resolves to your live project over HTTPS, vercel domains verify yourdomain.com reports it configured, and a _dmarc TXT record exists on the domain, even at the soft p=none setting.
Sources: https://vercel.com/docs/domains/registrar-api, https://vercel.com/docs/cli/domains, https://vercel.com/docs/cli/dns, https://vercel.com/docs/domains/working-with-dns
Template included: Members get a one-page domain, DNS, and DMARC checklist covering both the CLI and dashboard paths. Find it in your member dashboard under Templates.
Short on time? Agentic Quarks will implement this end to end, wired into your stack, and hand you the keys.
Domain, logins, payments, email, and a launch day that goes as planned
6 sessions, 210 minutes, 1 free.
One payment, no subscription, and a 14-day money back you trigger yourself from your account page. This course on its own is $99.