Register a domain
POST /domains/register
Registers a new domain name. This endpoint uses x402 dynamic pricing — the first request returns a 402 with payment details, and the client must retry with a valid x402 payment header. Rate limited: 10 requests per day per IP.
Request Body required
Section titled “Request Body required ”object
Fully qualified domain name to register (e.g. “example.com”)
Registration period in years
Optional DNS records to set on the domain after registration
object
DNS record type
Record hostname (e.g. ”@” for root, “www”, “mail”)
Record value (e.g. IP address, CNAME target)
Time-to-live in seconds
Priority for MX and SRV records
Responses
Section titled “ Responses ”Domain registered successfully (synchronous)
object
Unique transaction identifier
The registered domain name
Registration period in years
Price paid in USD
Domain expiration date
Assigned name servers
DNS records set on the domain
object
Unique record identifier
DNS record type
Record hostname
Record value
Time-to-live in seconds
MX priority or SRV weight, null for non-MX/SRV records
Registration accepted, processing asynchronously
object
Job ID for polling status
Human-readable status message
URL to poll for job status
Recommended polling interval in milliseconds
Validation error
object
Short error description
Human-readable error message
Machine-readable error code
Payment required. Retry the request with a valid x402 payment header.
object
The domain name
Total price in USD (e.g. “12.99”)
Registration/renewal period
Payment network in CAIP-2 format
Headers
Section titled “Headers ”X402 payment requirements encoded as a JSON object
Domain is unavailable for registration
object
Short error description
Human-readable error message
Machine-readable error code
Example
{ "error": "Domain unavailable", "message": "The domain is already registered", "code": "DOMAIN_UNAVAILABLE"}Rate limit exceeded
object
Short error description
Human-readable error message
Machine-readable error code