Skip to content

Add a DNS record

POST
/dns/{domain}

Adds a new DNS record to a domain owned by the authenticated wallet. Requires x402 payment of $0.10 USDC. Rate limited: 100 requests per hour per wallet.

domain
required
string

Fully qualified domain name (e.g. “example.com”)

object
type
required

DNS record type

string
Allowed values: A AAAA CNAME MX TXT NS SRV CAA
host

Record hostname (e.g. ”@” for root, “www”, “mail”)

string
default: @ >= 1 characters <= 253 characters
value
required

Record value (e.g. IP address, CNAME target, MX server)

string
>= 1 characters <= 4096 characters
ttl

Time-to-live in seconds

integer
default: 3600 >= 300 <= 86400
priority

Priority for MX and SRV records

integer
<= 65535

DNS record created

object
id
required

Unique record identifier

string
type
required

DNS record type

string
Allowed values: A AAAA CNAME MX TXT NS SRV CAA
host
required

Record hostname

string
value
required

Record value

string
ttl
required

Time-to-live in seconds

integer
distance
required

MX priority or SRV weight, null for non-MX/SRV records

integer | null

Authentication required

object
error
required

Short error description

string
message
required

Human-readable error message

string
code
required

Machine-readable error code

string

Payment required

object
error
required

Short error description

string
message
required

Human-readable error message

string
code
required

Machine-readable error code

string
PAYMENT-REQUIRED
string

X402 payment requirements encoded as a JSON object

Ownership denied

object
error
required

Short error description

string
message
required

Human-readable error message

string
code
required

Machine-readable error code

string

Rate limit exceeded

object
error
required

Short error description

string
message
required

Human-readable error message

string
code
required

Machine-readable error code

string