StableDomains.net is built agent-first. Everything a person can do on the site is also available to software in three ways: a REST API, the x402 payment protocol, and an MCP server. An agent can search for a name, get a quote, pay in stablecoins and receive the domain without a human in the loop.
Real domains. Paid in stablecoins. Bought by agents.
This guide covers both agent routes and when to use each.
Option 1: the MCP server
The StableDomains MCP server runs at:
/api/mcp (Streamable HTTP)
Registry name: net.stabledomains/registrar. Version 2.4.0, 32 tools. Server card: /.well-known/mcp.json.
Connect your client
Claude Code
claude mcp add --transport http stabledomains /api/mcp
# with an API key:
claude mcp add --transport http stabledomains /api/mcp --header "Authorization: Bearer sd_live_..."
Claude.ai / Desktop: Settings → Connectors → Add custom connector → paste /api/mcp and sign in.
Cursor (~/.cursor/mcp.json or .cursor/mcp.json):
{ "mcpServers": { "stabledomains": {
"url": "/api/mcp",
"headers": { "Authorization": "Bearer sd_live_..." } } } }
Cline: set "type": "streamableHttp" explicitly; without it Cline assumes legacy SSE.
The headers block is optional for search-only use. Create an API key in your dashboard for anything that buys or manages domains.
The tools
The 32 tools fall into a few groups:
- Find and price:
search_domains,quote_domain,suggest_domains,estimate_domain_value - Buy and pay:
create_order,check_order,pay_order,buy_with_balance,create_cart(up to 20 domains in one payment),get_balance,topup_balance(USD 5–5000) - Manage:
list_domains,get_dns,set_dns,renew_domain,set_auto_renew,get_renewal_balance,transfer_domain,set_notification_webhook - Expiring names:
find_dropping_domains,drop_radar,radar_alert,is_domain_dropping,watch_domain - Lookups:
whois_lookup,dns_email_check - Referrals:
get_referral_link,get_referral_stats,set_payout_address - Agent directory:
search_agents,get_agent, and related listing tools
The live list is always tools/list on the server.
A typical agent flow
search_domainsfor "acme-agent" across TLDs.quote_domainfor the chosen name.create_orderwith chain and token. It returns payment requirements, or pays from balance.- Pay: either
pay_orderwith a transaction hash / Solana signature, or with an x402 payload (gasless USDC on Base). Or usebuy_with_balancein one call. check_orderuntil the order is completed.set_dnsto point the domain at the agent's app.
Option 2: x402
x402 uses HTTP 402 Payment Required so a client can pay for a request in-band. StableDomains uses it for paid data endpoints and for domain orders.
Discovery: /.well-known/x402 lists paid resources (x402Version 2). Today:
| Resource | Price |
|---|---|
GET /api/v1/drops/full |
$0.01 |
GET /api/v1/radar/full |
$0.02 (up to 1000 Drop Radar rows) |
GET /api/v1/suggest/bulk |
$0.02 |
POST /api/v1/orders |
price of the domain |
Request, get 402, pay, retry
curl -i "/api/v1/drops/full?limit=1"
HTTP/2 402
payment-required: <base64 JSON>
Decoded, the requirements include "scheme":"exact", "network":"eip155:8453", the USDC asset on Base, payTo, and amount in base units (6 decimals: 10000 = $0.01). The client signs an EIP-3009 transferWithAuthorization for that amount and repeats the request with PAYMENT-SIGNATURE (or X-PAYMENT). The response is 200 with a payment-response settlement receipt. Any x402 client library, such as @x402/fetch, does the sign-and-retry for you.
Domain orders over x402
POST /api/v1/orders (API key, Idempotency-Key header)
{"domain":"example-name.xyz","chain":"base","token":"USDC"}
→ 402 { x402Version, accepts:[{scheme:"exact",...},{scheme:"transfer",...}], order:{id,...} }
- Gasless: repeat the same request (same Idempotency-Key) with
X-PAYMENT: <base64 EIP-3009 payload>, or post it to/api/v1/orders/{id}/pay. - Any other chain or USDT: use the
transferscheme. Send the exact amount, then postX-PAYMENT-TX: <hash>.
Poll GET /api/v1/orders/{id} until status is completed.
MCP or x402?
- Use MCP when the agent runs in an MCP client (Claude, Cursor, Cline) and you want tool calls with descriptions the model can read.
- Use x402 / REST for backend agents, scripts and pay-per-request data access with no account. The OpenAPI spec has full schemas, and llms.txt is a compact summary for models.
Both routes share the same orders, so you can mix them.
Guardrails for autonomous buying
- Use a prepaid balance ($5–$5,000) as a spending cap and pay with
buy_with_balance. - Use an Idempotency-Key on every order so retries never double-buy.
- Webhooks via
set_notification_webhooklet you log every lifecycle event.
Related
For framework code (LangChain, CrewAI, Vercel AI SDK) see let your AI agent buy a domain and the MCP page. Agents can also load /skills.md or read our A2A card at /.well-known/agent.json. Wondering about a .agent extension? Read does the .agent TLD exist?
FAQ
Can an AI agent really buy a domain on its own? Yes. Search, quote, pay and registration are all API or MCP calls. No human step is needed.
How many tools does the MCP server have? 32, in version 2.4.0.
Which payment works gasless?
x402 exact scheme with USDC on Base (EIP-3009). Other chains and USDT use the transfer scheme.
Do agents need an account?
Search tools work without one. Orders over the API need an API key (or a guest session cookie from POST /api/v1/auth/guest).
Is StableDomains in the MCP Registry?
Yes, as net.stabledomains/registrar.