A dead simple API for registering domains. Built for bots. Pay in stablecoins, get a key, register domains.
Send USDT, USDC, or USD1 on Solana to your unique deposit address. Credits load 1:1 on confirmation. Use credits to check and register domains via the API. No account creation. No email. No browser required.
1. Call POST /v1/wallet/new — get a deposit address and API key.
2. Send stablecoins to your address. $1 = $1.00 in credits.
3. Use your API key to check availability and register domains.
| Action | Cost |
|---|---|
| Domain availability check | $0.01 per domain |
| Domain registration | Domain cost + $1.00 flat fee |
| DNS record update | Free |
| List domains / wallet balance | Free |
Credits never expire. Check costs are deducted to prevent abuse, not to make money.
Accepted tokens on Solana mainnet:
USDT USDC USD1
Each API key is tied to a unique Solana wallet address. Send any supported token to that address to top up. Credits appear after 1 block confirmation (~400ms).
Domain costs are passed through from Namecheap at cost, plus a $1.00 flat service fee. Call /v1/check to get the exact price before registering.
| TLD | Approx. domain cost | Service fee | Approx. total |
|---|---|---|---|
| .com | $9.98 | $1.00 | $10.98 |
| .ai | $79.98 | $1.00 | $80.98 |
| .io | $39.98 | $1.00 | $40.98 |
| .xyz | $1.18 | $1.00 | $2.18 |
| .net | $12.98 | $1.00 | $13.98 |
Prices vary by TLD and promotional period. Always check first.
Base URL: https://api.domainsforagents.com
All authenticated requests must include:
Authorization: Bearer YOUR_API_KEY
All responses are application/json.
Generate a new Solana deposit wallet and API key. No authentication required. Rate limited: 5 requests per IP per hour.
No request body needed.
Response:
{
"api_key": "sk_live_4xKj9mR...",
"wallet": "7fG3mQpVbN2eKs9TxYwZ1uLoDaHrCvJpW8iE5nA",
"network": "solana",
"accepted": ["USDT", "USDC", "USD1"],
"credits": 0.00
}
Get your deposit address and current credit balance.
Response:
{
"wallet": "7fG3mQpVbN2eKs9TxYwZ1uLoDaHrCvJpW8iE5nA",
"network": "solana",
"credits": 24.37
}
Set registrant contact info. Required before you can call /v1/register. Must be a real legal person or organization per ICANN policy. Only needs to be set once.
Request:
{
"first_name": "Jane",
"last_name": "Smith",
"email": "[email protected]",
"phone": "+1.5555550100",
"address": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "US",
"organization": "Acme Corp"
}
Response:
{
"saved": true,
"whois_privacy": true
}
WHOIS privacy is enabled by default at no extra cost.
Check domain availability and get the current registration price. Deducts $0.01 per domain checked.
Single domain:
{
"domain": "myagent.ai"
}
Multiple domains (batch):
{
"domains": ["myagent.ai", "myagent.com", "myagent.xyz"]
}
Response:
{
"results": [
{
"domain": "myagent.ai",
"available": true,
"price": {
"domain_cost": 79.98,
"service_fee": 1.00,
"total": 80.98,
"currency": "USD"
}
},
{
"domain": "myagent.com",
"available": false,
"price": null
}
],
"credits_deducted": 0.03,
"credits_remaining": 24.34
}
Register a domain. Credits are deducted immediately. Requires registrant info to be set via /v1/registrant first.
Request:
{
"domain": "myagent.ai",
"years": 1,
"auto_renew": false,
"nameservers": ["ns1.example.com", "ns2.example.com"]
}
nameservers is optional. Defaults to Namecheap's DNS if omitted.
Response:
{
"domain": "myagent.ai",
"registered": true,
"expires_at": "2027-02-19T00:00:00Z",
"nameservers": ["ns1.example.com", "ns2.example.com"],
"credits_deducted": 80.98,
"credits_remaining": 0.00
}
Set DNS records for a domain registered through this API. Free. Overwrites existing records.
Request:
{
"domain": "myagent.ai",
"records": [
{ "type": "A", "host": "@", "value": "76.76.21.21", "ttl": 300 },
{ "type": "CNAME", "host": "www", "value": "myagent.ai", "ttl": 300 },
{ "type": "TXT", "host": "@", "value": "v=spf1 include:mx ~all", "ttl": 300 },
{ "type": "MX", "host": "@", "value": "mail.example.com", "ttl": 300, "priority": 10 }
]
}
Response:
{
"domain": "myagent.ai",
"updated": true
}
List all domains registered under this API key. Free.
Response:
{
"domains": [
{
"domain": "myagent.ai",
"registered_at": "2026-02-19T10:00:00Z",
"expires_at": "2027-02-19T00:00:00Z",
"auto_renew": false,
"nameservers": ["dns1.registrar-servers.com", "dns2.registrar-servers.com"]
}
],
"total": 1
}
| HTTP | Code | Meaning |
|---|---|---|
| 401 | unauthorized | Missing or invalid API key. |
| 402 | insufficient_credits | Not enough credits. Top up your wallet. |
| 404 | domain_not_found | Domain not registered under this key. |
| 409 | domain_unavailable | Domain is already taken. |
| 422 | invalid_domain | Malformed domain name. |
| 422 | missing_registrant | Set registrant info via /v1/registrant first. |
| 429 | rate_limited | Too many requests. See rate limits. |
| 500 | registrar_error | Namecheap returned an error. Credits not deducted. |
All errors follow this shape:
{
"error": "insufficient_credits",
"message": "You have $0.36. This registration costs $80.98.",
"credits_remaining": 0.36
}
| Endpoint | Limit |
|---|---|
| POST /v1/wallet/new | 5 / IP / hour |
| POST /v1/check | 60 / minute / key |
| POST /v1/register | 10 / minute / key |
| POST /v1/dns | 30 / minute / key |
| All others | 120 / minute / key |
Rate limit state is included on every response:
X-RateLimit-Limit: 60 X-RateLimit-Remaining: 47 X-RateLimit-Reset: 1708344120
When limited, you'll receive a 429 with a Retry-After header.
Domains for AI Agents &mdash