PRD: Seamless Domain Automation

From manual DNS to zero-click domain provisioning

NowPage • March 2026 • 6 Phases

Executive Summary

NowPage's domain provisioning currently automates 4 of 5 steps when a user adds a custom domain. The only remaining manual step is changing nameservers at the domain registrar. This PRD outlines the path to eliminating that final step, achieving fully automated domain setup where a user enters a domain name and it goes live in under 5 minutes with zero manual configuration.

Current State (Phase 1 + 2)

Step Status How
Cloudflare zone creation Auto POST /zones via CF API (Phase 2)
DNS records (A, CNAME, wildcard) Auto CF DNS API (Phase 1)
Vercel domain provisioning Auto Vercel API v10
Supabase database save Auto Direct insert
Nameserver change at registrar Manual User pastes 2 values at registrar

Key Files (Phase 1+2)

Environment Variables

Phase 3: Hostinger DNS API

Planned

For users who keep nameservers at Hostinger

Some users prefer to keep their nameservers at Hostinger rather than switching to Cloudflare. This phase adds direct DNS record creation via Hostinger's API, eliminating the need for Cloudflare in those cases.

Scope

When This Helps

Users with existing Hostinger hosting who don't want to switch nameservers. Their root site stays on Hostinger, and we add a wildcard CNAME for NowPage subdomains directly in Hostinger's DNS.

Limitations

Still requires the user to have a Hostinger account. Only works for domains registered at or using Hostinger nameservers.

Phase 4: Namecheap API via VPS Proxy

Planned

Auto-set nameservers at Namecheap

Namecheap's API requires IP whitelisting, which doesn't work with Vercel's dynamic IPs. Solution: proxy API calls through the Forge VPS (178.156.253.142) which has a fixed IP that can be whitelisted.

Architecture

User clicks "Add Domain"
  → Vercel creates CF zone + DNS records
  → Vercel calls Forge VPS endpoint
  → VPS calls Namecheap API: domains.dns.setCustom
  → Nameservers changed automatically
  → Domain is live (zero manual steps)

Scope

Impact

This phase fully eliminates the manual step for Namecheap domains. Combined with Phase 2 (Cloudflare zone creation), domains registered at Namecheap will go from "Add Domain" to "Live" with zero user intervention.

Prerequisites

Phase 5: Per-User Credentials

Future

Each user brings their own API tokens

Currently, all domain operations use admin-level API tokens. This phase adds a credential vault where users can store their own Cloudflare, Hostinger, and Namecheap tokens. Their domains auto-configure using their own credentials.

Scope

User Experience

Settings → Integrations → "Connect Cloudflare" / "Connect Namecheap" / "Connect Hostinger". One-time setup. After that, all their domains auto-configure using their own account.

Security Considerations

Phase 6: Multi-Registrar Support

Future

Auto-detect registrar + universal API

Automatically detect which registrar a domain uses (via WHOIS) and route nameserver changes through the appropriate API. Covers the long tail of registrars.

Scope

Architecture

createDomain("mybrand.com")
  → whoisLookup("mybrand.com") → "namecheap"
  → adapter.setNameservers("namecheap", "mybrand.com", [...ns])
  → namecheap.setCustom("mybrand.com", [...ns])
  → done

End State Vision

User clicks "Add Domain" → enters "mybrand.com" →
  App auto-detects registrar (Namecheap) →
  Creates Cloudflare zone →
  Creates DNS records →
  Sets nameservers at Namecheap (via VPS proxy) →
  Adds to Vercel →
  Domain is LIVE in <5 minutes
  Zero manual steps.

Phase Summary

Phase What Status Manual Steps After
1 Cloudflare DNS auto-config Shipped Nameservers + zone creation
2 Cloudflare zone auto-creation Shipped Nameservers only
3 Hostinger DNS API Planned Nameservers (unless Hostinger NS)
4 Namecheap API (VPS proxy) Planned None (for Namecheap)
5 Per-user credentials Future None (multi-user)
6 Multi-registrar auto-detect Future None (universal)

Dependencies & Risks

Technical Dependencies

Risks