{"version":1,"resources":["https://stabledomains.dev/api/domain/dns","https://stabledomains.dev/api/check","https://stabledomains.dev/api/register","https://stabledomains.dev/api/domain/renew","https://stabledomains.dev/api/domain/list","https://stabledomains.dev/api/domain/status","https://stabledomains.dev/api/domain/transfer-out"],"mppResources":["https://stabledomains.dev/api/check","https://stabledomains.dev/api/register","https://stabledomains.dev/api/domain/renew"],"description":"Domain registration via micropayments. Pay with USDC. No API keys. No accounts.","instructions":"# StableDomains API\n> Domain registration via x402/MPP micropayments. No accounts. Pay USDC on Base, Solana, or Tempo.\n\n## Base URL\nhttps://stabledomains.dev\n\n## Auth\n- x402/MPP: HTTP 402 payment protocol. Paid endpoints.\n- SIWX: Wallet signature. Domain management endpoints.\n\n## Endpoints\n\n### POST /api/check\nCheck availability and pricing. Auth: x402/MPP.\nBody: { \"domain\": \"example.com\" }\nResponse: { \"domain\", \"available\", \"basePrice\", \"currentPrice\", \"bondingMultiplier\", \"dailySlotsRemaining\" }\nIf available is false, the domain cannot be registered.\n\n### POST /api/register\nRegister a domain. Auth: x402/MPP.\nBody: { \"domain\": \"example.com\", \"notificationEmail\": \"you@example.com\" }\nnotificationEmail is optional. Used for ICANN verification and expiry reminders.\nResponse: { \"domain\", \"status\", \"nameservers\", \"hostedZoneId\", \"orderId\" }\nUsually synchronous (~3s). If status is \"pending\", poll GET /api/domain/status until \"active\".\n\n### POST /api/domain/renew\nRenew for 1-10 years. Auth: x402/MPP.\nBody: { \"domain\": \"example.com\", \"count\": 3 }\ncount defaults to 1. Price = per-year renewal price × count.\n\n### GET /api/domain/list\nList domains owned by authenticated wallet. Auth: SIWX.\nResponse: array of { domain, status, expiresAt, daysRemaining, renewalPrice, icannVerified }\n\n### GET /api/domain/status?domain=example.com\nRegistration status and DNS propagation. Auth: SIWX.\nResponse: { domain, status, nsPropagated, nameservers, dnsRecords, expiresAt }\nAfter registration, poll until nsPropagated is true before configuring DNS.\n\n### GET/POST /api/domain/dns\nRead or modify DNS records. Auth: SIWX.\nGET query: ?domain=example.com\nPOST body: { \"domain\": \"example.com\", \"action\": \"upsert\"|\"delete\", \"records\": [{ \"type\": \"A\", \"name\": \"example.com\", \"value\": \"1.2.3.4\", \"ttl\": 300 }] }\nSupported types: A, AAAA, CNAME, MX, TXT, SRV, CAA. NS cannot be modified.\nMX values include priority (e.g., \"10 mail.example.com\"). ttl defaults to 300.\n\n### POST /api/domain/transfer-out\nTransfer to another registrar. Auth: SIWX.\nBody: { \"domain\": \"example.com\" }\n60-day lock after registration per ICANN policy.\n\n## TLDs and Pricing\n- .com/.org/.net/.info/.biz: $20 reg, $20 renew, $0.01 check\n- .xyz: $20 reg, $20 renew, $0.05 check\n- .dev/.app: $25 reg, $25 renew, $0.05 check\n- .io: $85 reg, $85 renew, $0.05 check\n- .ai: $150 reg, $150 renew, $0.05 check\n\n## Bonding Curve\nPrices increase as daily slots fill (max 10/day): slots 1-5 at 1.0x, 6-7 at 1.5x, 8-9 at 2.5x, slot 10 at 5.0x.\n"}