search_domains
Search domain availability
Check availability and USD price for a name across TLDs. Each result has premium (boolean; premium = registry price + 12%) and renewal_price (USD/yr). If the name is taken, suggestions[] lists close AVAILABLE alternatives (live-checked, cheapest first).
Parametersqrequired
search_aftermarket
Aftermarket links for a taken name
For a taken name: affiliate links to Atom.com, an OUTSIDE aftermarket (not StableDomains), to find premium alternatives for the keyword. Exact-name listing on Atom is not verified (no public API). Atom handles payment/transfer.
Parametersqrequired
agent_signup
Get a guest API key
Instant signup: returns an API key immediately (no form, no email). Guest tier (30 req/min) until claimed by email or wallet. Rate limited per IP (3/hour). Store the key; it is shown once.
Takes no parameters.
quote_domain
Quote a domain price
Live price quote for one domain. Returns premium (boolean) and renewal_price (USD/yr). Premium orders are refused if they exceed what we can currently fund.
Parametersyearsdomainrequired
create_order
Create a domain order
Create a registration order (a price-locked quote). Returns quote{price_usd, locked_until}, payment requirements (exact amount, address, x402 accepts) and checkout_url: a prefilled /order/{id} page a human can pay from. Policy: check availability right before buying, show the quote to the human and get confirmation before paying; pass idempotency_key (retries with the same key never create a second order; if omitted, identical calls within 15 min are de-duplicated). pay_with=balance pays instantly from prepaid balance.
Parametersrefchaintokenyearsdomainrequiredpay_withshowcasenameserversshowcase_titleidempotency_keyshowcase_categoryshowcase_description
buy_with_balance
Buy a domain with balance
Register a domain and pay from prepaid balance in one call.
Parametersyearsdomainrequiredidempotency_key
check_order
Check order status
Get order status and next actions.
Parametersorder_idrequired
Submit payment: tx_hash (EVM hash or Solana signature) of your transfer, or x_payment (base64 x402 EIP-3009 payload, gasless).
Parameterstx_hashorder_idrequiredx_payment
get_balance
Get prepaid balance
Get your prepaid USD balance and its ledger of top-ups and spends.
Takes no parameters.
topup_balance
Create a balance top-up order
Create a top-up order (USD 1–5000); pay it like any order.
Parameterschaintokenamount_usdrequiredidempotency_key
find_dropping_domains
Find expiring domains
Find expiring, pending-delete and just-dropped domains ranked by a verified quality score (0-100) built from sampled Wayback snapshots (real site vs parked/for-sale), Common Crawl presence, dictionary/brandability and spam heuristics; Majestic referring subnets only count when the archive shows a real site. Parked and spam names are hidden by default; each item includes quality_reasons. Free tier returns top 25; status=available names can be bought immediately with create_order. For presets, estimated value, multi-TLD and keyword filters use drop_radar.
Parametersqtldsortlimitordercursorstatusmax_lenmin_agemin_lenmax_pricemin_brand+8 more
drop_radar
Domain Drop Radar search
Domain Drop Radar: expiring, pending-delete and just-dropped domains filtered by TLD(s), length, keywords, value, quality and drop date, with presets (short-brandable, ai-names, dictionary-com, real-history, cheap-good, dropping-this-week). Returns a summary plus the top 25 with quality reasons, est. value, price, and a ready create_order body for available names or a watch body for others. For up to 500 rows call GET /api/v1/drops/full via x402 ($0.01). Page with limit + cursor (next_cursor in the response); sort with sort + order. To be alerted on future matches call radar_alert.
Parameterssorttldslimitordercursorpresetstatusmax_lenmin_agemin_lenkeywordsends_with+11 more
radar_alert
Save a Drop Radar alert
Save a Drop Radar search and get a signed webhook (event radar.match, header X-StableDomains-Signature = sha256 HMAC of the body with the returned secret) and/or email (double opt-in) when new names match or a pending-delete name drops. Free: 3 alerts per IP, 25 with an API key, max 20 events per alert per day. filters takes the same fields as drop_radar.
Parametersnameemailfiltersrequiredwebhook_url
suggest_domains
Suggest available domains
Free. Pass domain (e.g. a taken name like agent.com) to get close AVAILABLE alternatives (other extensions, get/try/hq/app variants), live-checked and ranked by price. Or pass idea to generate brandable names for a product idea. Returns only names available right now with USD price and checkout_url.
Parametersideatldsdomainmax_price
estimate_domain_value
Estimate domain value
Heuristic USD value estimate for any domain (length, TLD, dictionary words, brandability, Wayback age, backlinks) with factor breakdown and availability.
Parametersdomainrequired
whois_lookup
WHOIS / RDAP lookup
RDAP (modern WHOIS) lookup for any domain: registrar, created/expires dates, status codes, nameservers, DNSSEC.
Parametersdomainrequired
dns_email_check
DNS and email security check
DNS + email security audit via DNS-over-HTTPS: A/AAAA/MX/NS/CAA, SPF, DKIM (common or given selectors), DMARC policy, grade A-F and concrete fixes.
Parametersdomainrequireddkim_selectors
is_domain_dropping
Check if a domain is dropping
Is an expired domain about to become available? Returns lifecycle (grace, redemption, pending delete, available, registered), estimated drop date and backlink data if in our drop feed.
Parametersdomainrequired
watch_domain
Watch a domain for drops
Get notified when an expiring domain changes status or drops (becomes registrable). Pass webhook_url (active immediately, POSTs JSON events domain.status_changed / domain.available with a ready order_api body) and/or email (double opt-in). Free.
Parametersemaildomainrequiredwebhook_url
set_url_forward
Set URL forwarding
FREE 301 URL forwarding for a domain you registered with us: forward the whole domain (subdomain '@', also covers www) or a subdomain to any https URL. Points DNS at our redirect service. preserve_path keeps /path?query.
Parameterscodedomainrequiredtargetrequiredsubdomainpreserve_path
list_url_forwards
List URL forwards
URL forwards configured on a domain you own.
Parametersdomainrequired
apply_dns_template
Apply a DNS template
FREE one-call DNS setup for a domain you own. template: vercel | netlify (params.site) | github-pages (params.user) | google-workspace | microsoft-365 | zoho-mail (params.region: com|eu|in|com.au). Replaces only the conflicting web or MX/SPF records.
Parametersdomainrequiredparamstemplaterequired
Nameservers and DNS records (A/AAAA/CNAME/MX/TXT) of a domain you own.
Parametersdomainrequired
set_dns
Set DNS records / nameservers
Set DNS records and/or nameservers of a domain you own. records: [{type: A|AAAA|CNAME|MX|TXT|NS (SRV/CAA/ALIAS not supported on hosted DNS: use custom nameservers), name: '@'|sub, value, ttl?, priority? (MX)}]. mode 'replace' (default) replaces the FULL record set; mode 'merge' adds/updates the given records, deletes any in remove [{type,name,value?}], and keeps everything else (safer for adding MX/TXT next to a website).
Parametersmodedomainrequiredremoverecordsnameservers
renew_domain
Renew a domain
Renew a domain you own. Returns USDC payment requirements (402), or pay_with=balance to renew instantly from prepaid balance. dry_run=true previews quote, new expiry and blockers without charging.
Parameterschaintokenyearsdomainrequireddry_runpay_withidempotency_key
set_notification_webhook
Set notification webhook
Signed account webhook (returns secret). Events: domain.registered, domain.registration_pending, domain.registration_completed, domain.transfer_started, domain.transfer_completed, domain.renewed, domain.expiring, dns.changed. Verify X-StableDomains-Signature = sha256 HMAC of the raw body with the secret; retries for 24h, dedupe on X-StableDomains-Delivery. null to remove.
Parameterswebhook_urlrequired
transfer_domain
Transfer a domain in
Transfer a domain in from another registrar using its auth/EPP code; paid in USDC (adds 1 year). Unlock it at the current registrar first. Completes in ~5-7 days.
Parametersrefchaintokenyearsdomainrequiredpay_withauth_coderequiredidempotency_key
create_cart
Create a multi-domain cart
Register up to 20 available domains with ONE payment (exact total in the 402). Returns a price-locked quote, checkout_url for a human to pay, and is idempotent via idempotency_key. After payment each is registered; any failure is refunded to prepaid balance.
Parametersrefchaintokendomainsrequirednameserversidempotency_key
get_referral_link
Get referral link
Your referral code and shareable link (?ref=<code>, 30-day attribution). Referrers earn 10% of our margin on paid orders by people/agents they refer; agents pass ref=<code> on create_order, create_cart or transfer_domain.
Takes no parameters.
get_referral_stats
Get referral stats
Referral dashboard: clicks, referred users, sales, earned / unpaid / pending / paid USD, recent sales and payouts. Payouts are USDC on Base, batched weekly (min $5, capped, admin-approved) to your payout address.
Takes no parameters.
set_payout_address
Set referral payout address
Set the Base USDC address that receives your weekly referral payouts (null to clear).
Parameterspayout_addressrequired
set_auto_renew
Set auto-renew / fund renewal vault
Turn auto-renew on/off for a domain you own and/or fund its renewal balance (vault). deposit_usd moves USDC from your prepaid balance (topup_balance) into the domain's vault; withdraw_usd moves it back. The daily job renews 1 year when ≤30 days from expiry if the vault covers the price, otherwise emails reminders at 30/14/7/1 days.
Parametersdomainrequiredenableddeposit_usdwithdraw_usd
get_renewal_balance
Get renewal balance
Auto-renew vault for a domain: renewal balance, 1-year renewal price, whether it is covered, shortfall, days to expiry and ledger. Omit domain to list all your domains' renewal balances.
Parametersdomain
search_agents
Search agent directory
Search the StableDomains.net agent directory (approved AI agents and MCP servers) by keyword or capability. Returns name, description, url, endpoint_url, mcp_url, capabilities, payment_methods and profile_url.
Parametersqlimitcapability
get_agent
Get agent profile
Get one agent directory profile by slug.
Parametersslugrequired
list_my_agent
List my agent profiles
Agent profiles you submitted (any status: pending, approved, rejected) with review notes. Submit a new one with POST /api/v1/agents (auth required, moderated).
Takes no parameters.
list_domains
List my domains
List the domains owned by the caller, with expiry dates and status.
Takes no parameters.
Open a support ticket with a person at StableDomains (order, payment, DNS, transfer, account or abuse issues). Pass the order_id or its SD- ref if there is one. A person replies by email to the given address; the response is a ticket ref (T-XXXXXX). Do not include secrets, API keys or wallet keys in the message.
Parametersemailrequiredordertopicrequiredmessagerequired