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.

circle-info

CNAME targets must end with a trailing dot (e.g., myapp.vercel.app.).

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.

circle-exclamation

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

Field
Description

priority

Lower = preferred

weight

Load balancing between same priority servers

port

Service port number

target

Server hostname (must end with .)


CAA Record — SSL Certificate Control

Specify which Certificate Authorities can issue SSL certificates for your domain.

Tags:

Tag
Purpose

issue

Authorize CA for regular certificates

issuewild

Authorize CA for wildcard certificates

iodef

Report violations to an email/URL


Complete Configuration Examples

Basic Website

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

Point domain to IP

A

["1.2.3.4"]

Point to IPv6

AAAA

["2001:db8::1"]

Create subdomain alias

CNAME

["target.com."]

Receive email

MX

["10 mail.provider.com."]

Add verification

TXT

["verification-code"]

Email authentication

TXT

["\"v=spf1 include:... ~all\""]

Restrict SSL issuers

CAA

["0 issue \"letsencrypt.org\""]

Service discovery

SRV

["10 5 80 server.example.com."]

Last updated