DNS Record Types
Complete reference for DNS record types supported by NFD
This page provides detailed examples and configurations for each DNS record type supported by NFD.
Supported Record Types
A Record — IPv4 Address
Point your domain to a server's IPv4 address.
{
"name": "@",
"type": "A",
"rrData": ["192.168.1.1"],
"ttl": 300
}
Multiple IP addresses (for load balancing):
{
"name": "@",
"type": "A",
"rrData": ["192.168.1.1", "192.168.1.2"],
"ttl": 300
}
AAAA Record — IPv6 Address
Point your domain to a server's IPv6 address.
CNAME Record — Alias
Point a subdomain to another domain name.
Common uses:
Point www to your hosting provider
Point subdomains to cloud services (Vercel, Netlify, etc.)
MX Record — Email
Configure where email should be delivered.
The number before the server is the priority—lower numbers are tried first.
MX record hostnames must end with a trailing dot (e.g., mail.example.com.).
TXT Record — Text Data
Store text data for verification, email authentication, and more.
SPF (email sender verification):
DMARC (email policy):
Domain verification:
SRV Record — Service Discovery
Define the location of specific services.
Format: priority weight port target
Load balancing between same priority servers
Server hostname (must end with .)
CAA Record — SSL Certificate Control
Specify which Certificate Authorities can issue SSL certificates for your domain.
Tags:
Authorize CA for regular certificates
Authorize CA for wildcard certificates
Report violations to an email/URL
Complete Configuration Examples
Point your NFD to a web server and create a www alias:
Website + Email (Google Workspace)
Host a website and receive email via Google Workspace:
Vercel/Netlify Deployment
Point your domain to a cloud hosting platform:
Full Professional Setup
Complete configuration with website, email, SSL, and verification:
Developer Integration
You can manage DNS records on NFDs programmatically using:
Algorand SDKs (Go, JS, Python)
Direct JSON updates to the dns property via contract transactions
On-chain logic to automate record updates from a contract
The records are stored in a structured format within the NFD's application state.
Quick Reference
I want to...
Record Type
Example rrData
["10 mail.provider.com."]
["\"v=spf1 include:... ~all\""]
["0 issue \"letsencrypt.org\""]
["10 5 80 server.example.com."]