# audit.domains verified-listing market Domains for sale by their DNS-verified owners, at a fixed price. A buyer pays by card into a held authorization that releases only when the domain has moved. The site brokers no sale and holds no funds. Prices are the sellers'; the appraisal beside each is a model estimate with a published range, not an offer. ## Start here - Manifest (JSON): https://audit.domains/api/market - OpenAPI 3.1: https://audit.domains/api/market/openapi.json - MCP server: https://audit.domains/mcp (tools: search_domain_listings, ask_domain_market, quote_domain_purchase, get_order_status, act_on_order, get_seller_listing, set_listing_terms, prepare_bulk_listing, read_for_sale_page, read_for_sale_dns, build_portfolio_lander) - Discovery record: https://audit.domains/.well-known/audit-domains-market ## Find - GET /api/market/listings?q=&tld=&maxPriceCents=&maxLength=&acceptsOffers=&sort=&limit=&offset= sorts: newest, price_asc, price_desc, value_asc, value_desc, length_asc, ratio_asc; format=jsonld returns schema.org markup. - GET /api/market/ask?q= runs a search from a sentence and says how it read it. - GET /api/market/changes?cursor= lists what was listed, changed or removed. Poll it; do not re-crawl the listings. - GET /api/market/dns-listing?domain= reads any name's own RFC 10023 _for-sale DNS records: for sale or not, the asking price (indicative), and a buy link when checkout is live. - Every listings reply also carries "advertised": the same filters run over names their owners advertise for sale in their own DNS (RFC 10023 _for-sale, read by our last scan), each with the owner's price, the owner's buy link (Atom, Sedo, Nameshift or their own site) and recordUrl to re-read the record now. The same set alone: GET https://audit.domains/for-sale/?format=json&q=&tld=&max=&sort=price_desc|price_asc|length_asc&page=. To judge an ask, send the person to https://audit.domains/check/?d=&ask=. ## Buy 1. GET /api/market/quote?domain= for the live price and terms. Its verify block names the seller's DNS record, two public resolvers and the RDAP link, so the proof can be checked without trusting this site. 2. A card token comes from the cardholder's browser: hand them buyUrl. 3. POST /api/market/checkout with an Idempotency-Key, then follow nextActions from GET /api/market/order until done is true. ## Sell The owner opens /market/sell?domain= and connects Square (a human step, a few minutes), then adds the one _odvs-pay TXT record /market/list shows and sets a price there; the listing goes live when the record resolves. After that, GET/POST /api/market/listing with the manage token. Without Square: if the name already sells on Dan.com, Afternic, Sedo, Atom, GoDaddy or an Escrow.com pay link, the owner publishes _for-sale TXT records v=FORSALE1;fval=USD and v=FORSALE1;furi=, then POST /api/market/link-listing {"domain"} lists it on /for-sale/. That marketplace runs payment and escrow; no fee here. Remove the records and it leaves on the next checks. ## Park Point registrar forwarding at the seller kit's /for-sale link, or POST /api/seller-kit/lander for one page covering a whole portfolio. Read any parked page as JSON with format=json. ## Manners Per-IP limits apply; a 429 carries Retry-After. Public reads are cacheable for 60 seconds and support ETag. Paths not listed here are not part of the API.