### Install the CLI Source: https://docs.unstoppabledomains.com/user-api/cli.md Methods for installing the ud CLI on various systems. ```bash curl -fsSL https://raw.githubusercontent.com/unstoppabledomains/ud-cli/main/install.sh | sh ``` ```bash npm install -g @unstoppabledomains/ud-cli ``` ```bash git clone https://github.com/unstoppabledomains/ud-cli.git cd ud-cli npm install npm run build npm install -g . ``` -------------------------------- ### Initialize and Run Setup Script Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Commands to make the setup script executable and run it to initialize the project directory and dependencies. ```shell chmod +x setup-pav3-guide.sh ./setup-pav3-guide.sh ``` -------------------------------- ### Verify CLI Installation Source: https://docs.unstoppabledomains.com/user-api/cli.md Check that the CLI is installed and accessible. ```bash ud --help ``` -------------------------------- ### Install Agent Skills Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Installs agent skills for supported IDEs or via npx. ```bash ud install --skills ``` ```bash npx skills add unstoppabledomains/ud-cli ``` -------------------------------- ### GET /user/wallet/launch Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints.md Retrieves the status of a wallet creation request. ```APIDOC ## GET /user/wallet/launch ### Description Get status of a wallet associated with a server generated secret. The secret is provided to the client at wallet create time. ### Method GET ### Endpoint /user/wallet/launch ``` -------------------------------- ### Start Project Services Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Commands to launch the full project or individual components. ```shell npm run start ``` ```shell npm run start:client ``` ```shell npm run start:server ``` -------------------------------- ### Get configuration defaults Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Displays saved default settings for a command. ```bash ud config get [command] ``` -------------------------------- ### Get domain details Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Retrieves detailed information for one or more specified domains. ```bash ud domains get ``` ```bash ud domains get example.com ud domains get example.com mybrand.io ``` -------------------------------- ### POST /user/wallet Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints.md Requests a one-time code for wallet setup (deprecated). ```APIDOC ## POST /user/wallet ### Description If a wallet does not already exist, a one time code will created and sent to the provided email address. ### Method POST ### Endpoint /user/wallet ``` -------------------------------- ### GET /partner/v3/pricing/dns/domains/{domain} Source: https://docs.unstoppabledomains.com/apis/reseller/implementation-guide.md Retrieve detailed pricing information for a specific domain. ```APIDOC ## GET /partner/v3/pricing/dns/domains/{domain} ### Description Get detailed pricing for a specific domain, including registration price, renewal price, and applicable fees. ### Method GET ### Endpoint https://api.ud-sandbox.com/partner/v3/pricing/dns/domains/{domain} ### Parameters #### Path Parameters - **domain** (string) - Required - The domain name to check pricing for. ``` -------------------------------- ### ud domains get Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Get detailed information about one or more domains. ```APIDOC ## ud domains get ### Description Get detailed information about one or more domains. ### Usage `ud domains get ` ### Example `ud domains get example.com` `ud domains get example.com mybrand.io` ``` -------------------------------- ### Manage Environments Source: https://docs.unstoppabledomains.com/user-api/cli.md Switch between production and sandbox environments. ```bash # Set the active environment ud env set sandbox # Check current environment ud env show # Override per-command ud search "test" --env sandbox ``` -------------------------------- ### GET /user/{domain}/notifications/preferences Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/profile-management-endpoints.md Get notifications preferences related to the domain, such as mobile push notifications and email. ```APIDOC ## GET /user/{domain}/notifications/preferences ### Description Get notifications preferences related to the domain, such as mobile push notifications and email. ### Method GET ### Endpoint /user/{domain}/notifications/preferences ``` -------------------------------- ### Authenticate via Signup Source: https://docs.unstoppabledomains.com/user-api/cli.md Create a new account or verify an existing signup session. ```bash ud auth signup ``` ```bash # Step 1: Create account (outputs the verify command to stdout) ud auth signup --email user@example.com --password 'SecurePass1!' # Step 2: Verify with the code from your email ud auth signup --token --code ABC123 ``` -------------------------------- ### Initialize LowDB Databases Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Sets up local JSON database instances for orders, transfers, and returns, ensuring they are initialized on server startup. ```typescript // LowDB instances for each JSON database const orderDB = new Low(new JSONFile(orderDBPath), defaultOrderData); const transferDB = new Low(new JSONFile(transferDBPath), defaultTransferData); const returnDB = new Low(new JSONFile(returnDBPath), defaultReturnData); /** * Initializes local JSON databases for orders, transfers, and returns. * Reads data from the database files and writes default data if none exists. */ const initDB = async () => { // Initialize Orders database await orderDB.read(); orderDB.data = orderDB.data || defaultOrderData; await orderDB.write(); // Initialize Transfers database await transferDB.read(); transferDB.data = transferDB.data || defaultTransferData; await transferDB.write(); // Initialize Returns database await returnDB.read(); returnDB.data = returnDB.data || defaultReturnData; await returnDB.write(); console.log('Databases initialized'); }; // Initialize the databases on server start initDB().catch((error) => console.error('Error initializing DB:', error)); ``` -------------------------------- ### GET /records Source: https://docs.unstoppabledomains.com/apis/resolution Retrieves records for domains. ```APIDOC ## GET /records ### Description Retrieves records for domains. ### Method GET ### Endpoint /records ``` -------------------------------- ### Register a New Domain Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Follow these steps to search for a domain, create a contact, and complete the purchase process. ```bash # 1. Search for available domains ud search "mybusiness" # 2. Create an ICANN contact (required for first registration) ud domains contacts create --data '{ "firstName": "Jane", "lastName": "Doe", "email": "jane@example.com", "phone": "+1.5551234567", "address1": "123 Main St", "city": "San Francisco", "state": "CA", "postalCode": "94102", "country": "US" }' # 3. Add the domain to your cart ud cart add registration mybusiness.com # 4. Review your cart ud cart list # 5. Complete the purchase ud cart checkout ``` -------------------------------- ### Sign up for account Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Creates a new account via an interactive terminal prompt. ```bash ud auth signup ``` -------------------------------- ### GET /domains Source: https://docs.unstoppabledomains.com/apis/resolution Retrieves a list of domains. ```APIDOC ## GET /domains ### Description Retrieves a list of domains. ### Method GET ### Endpoint /domains ``` -------------------------------- ### Set Up DNS for a Website Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Configure A, CNAME, and MX records for a domain. Note that DNS changes may take up to 48 hours to propagate. ```bash # View existing records ud domains dns records show mybrand.io # Point the root domain to your server ud domains dns records add mybrand.io --data '{"type":"A","hostName":"@","value":"192.0.2.1","ttl":3600}' # Add a www CNAME ud domains dns records add mybrand.io --data '{"type":"CNAME","hostName":"www","value":"mybrand.io","ttl":3600}' # Add MX records for email (e.g., Google Workspace) ud domains dns records add mybrand.io --data '{"type":"MX","hostName":"@","value":"aspmx.l.google.com","priority":1,"ttl":3600}' ``` -------------------------------- ### GET /account/webhooks Source: https://docs.unstoppabledomains.com/web3/apis/partner/openapi.md Retrieve a list of registered webhooks. ```APIDOC ## GET /account/webhooks ### Description Get list of your webhooks. ### Method GET ### Endpoint /account/webhooks ``` -------------------------------- ### GET /domains Source: https://docs.unstoppabledomains.com/web3/apis/resolution/openapi/domains Retrieves records for multiple domains. ```APIDOC ## GET /domains ### Description Get records for multiple domains. Note: The API should be used in a backend system. ### Method GET ### Endpoint /domains ``` -------------------------------- ### Show nameservers Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Displays the current nameservers configured for a domain. ```bash ud domains dns nameservers show ``` -------------------------------- ### Show environment Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Displays the currently active environment. ```bash ud env show ``` -------------------------------- ### GET /followers/rankings Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/follower-endpoints.md Retrieves follower rankings for domains. ```APIDOC ## GET /followers/rankings ### Description Generates a list of domains ordered by number of followers. ### Method GET ### Endpoint /followers/rankings ``` -------------------------------- ### GET /suggestions/domains Source: https://docs.unstoppabledomains.com/apis/partner/latest Retrieve suggestions for available domains. ```APIDOC ## GET /suggestions/domains ### Description Retrieve suggestions for available domains. ### Method GET ### Endpoint /suggestions/domains ``` -------------------------------- ### Initialize mock databases Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Sets up local lowdb JSON databases to store order, transfer, and return responses. ```typescript import path from 'path'; import { dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; import { JSONFile } from 'lowdb/node'; import { Low } from 'lowdb'; import { Orders } from './types/orders'; import { Transfers } from './types/transfers'; import { Returns } from './types/returns'; // Directory setup for the databases const __dirname = dirname(fileURLToPath(import.meta.url)); // Default data for databases const defaultOrderData: Orders = { items: [] } const defaultTransferData: Transfers = { items: [] } const defaultReturnData: Returns = { items: [] } // Paths for local JSON databases const orderDBPath = path.join(__dirname, 'data/orders.json') const transferDBPath = path.join(__dirname, 'data/transfers.json') const returnDBPath = path.join(__dirname, 'data/returns.json') ``` -------------------------------- ### POST /user/wallet/launch Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints.md Initiates an asynchronous request to create a custodial wallet. ```APIDOC ## POST /user/wallet/launch ### Description An asynchronous request to create a wallet. The resulting wallet will be custodial, but the user can claim custody at a later time using the server generated secret provided in the response. ### Method POST ### Endpoint /user/wallet/launch ``` -------------------------------- ### Get Checkout URL Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Generates a URL to complete the purchase process in a web browser. ```bash ud cart url ``` -------------------------------- ### GET /user/wallet/claim Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints.md Retrieves the status of a wallet claim request. ```APIDOC ## GET /user/wallet/claim ### Description Get status of a wallet claim to self custody. ### Method GET ### Endpoint /user/wallet/claim ``` -------------------------------- ### Marketplace Purchase Workflow Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Steps to search, add to cart, and purchase a domain from the marketplace. ```bash # Search for the domain ud search "premium.com" # Add the marketplace listing to your cart ud cart add listed premium.com # Review the cart ud cart list # Complete the purchase ud cart checkout ``` -------------------------------- ### POST /user/wallet/launch Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints/paths/~1user~1wallet~1launch/post Initiates the creation of a new custodial wallet. ```APIDOC ## POST /user/wallet/launch ### Description An asynchronous request to create a wallet. The resulting wallet will be custodial, but the user can claim custody at a later time using the server generated secret provided in the response. ### Method POST ### Endpoint /user/wallet/launch ### Parameters #### Header Parameters - **x-api-key** (string) - Required - Required to authorize the request for a new wallet ### Response #### Success Response (200) - **secret** (string) - A secret created by the server and provided to the client only at initial wallet creation - **state** (string) - Indicates custody state of the wallet (CUSTODY or SELF_CUSTODY) - **status** (string) - Indicates status of the onboarding process - **addresses** (object) - Blockchain addresses associated with the wallet - **addresses.SYMBOL** (string) - Blockchain address associated with symbol #### Response Example { "secret": "server-generated-secret", "state": "SELF_CUSTODY", "status": "COMPLETE", "addresses": { "SYMBOL": "blockchain-address" } } ``` -------------------------------- ### GET /public/swap/tokens Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/swap-endpoints.md Retrieves supported tokens for a specified chain. ```APIDOC ## GET /public/swap/tokens ### Description Retrieves supported tokens for a specified chain. ### Method GET ### Endpoint /public/swap/tokens ``` -------------------------------- ### Create Marketplace Listing Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Lists one or more domains for sale on the marketplace. ```bash ud marketplace listings create ``` -------------------------------- ### GET /public/swap/chains Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/swap-endpoints/paths/~1public~1swap~1chains/get Retrieves a list of supported swap chains. ```APIDOC ## GET /public/swap/chains ### Description Retrieves a list of supported swap chains. ### Method GET ### Endpoint /public/swap/chains ``` -------------------------------- ### GET /resolve/keys Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/search-endpoints.md Retrieves a list of all supported resolver keys. ```APIDOC ## GET /resolve/keys ### Description Retrieves a list of all supported resolver keys. ### Method GET ### Endpoint /resolve/keys ``` -------------------------------- ### GET /resolve/keys Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/search-endpoints/paths/~1resolve~1keys/get Retrieves a list of all supported resolver keys. ```APIDOC ## GET /resolve/keys ### Description Retrieves a list of all supported resolver keys. ### Method GET ### Endpoint /resolve/keys ### Response #### Success Response (200) - **fields** (array) - List of supported resolver keys. ``` -------------------------------- ### Initialize Cart Page Component Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Sets up the cart page structure with necessary context hooks, total price calculation, and wallet connection logic. ```typescript 'use client'; import Link from 'next/link'; import Nav from '../components/NavBar'; import { claimDomain } from '../api/claimDomain'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { useCart } from '../context/CartContext'; import { useAuth } from '../context/AuthContext'; import { fetchAvailability } from '../api/fetchAvailability'; const Cart = () => { const { cart, removeFromCart, updateCartItemOperation, updateCartItemAvailability, clearCart } = useCart(); const { auth, login } = useAuth(); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const router = useRouter(); const [isClient, setIsClient] = useState(false); const [allAvailable, setAllAvailable] = useState(false); const [availabilityLoading, setAvailabilityLoading] = useState(false); // Calculate total price of items in the cart let total = 0; cart.forEach((item) => { total += (item?.suggestion?.price?.listPrice?.usdCents ?? 0); }); /** * Initiates the login process for wallet connection. */ const connectWallet = () => { try { login(); } catch (error) { console.error('Error:', error); } } // Early return to avoid server-side rendering issues if (!isClient) { return (
); } return (
) }; export default Cart; ``` -------------------------------- ### GET /user/identity Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/identity-management-endpoints/paths/~1user~1identity/get Retrieves the tokenization status for a user identity. ```APIDOC ## GET /user/identity ### Description Request the tokenization status of a user identity. ### Method GET ### Endpoint /user/identity ### Parameters #### Header Parameters - **Authorization** (string) - Required - The JWT access token that authorizes the request. - **x-auth-subject** (string) - Required - The user identity associated with request for tokenization. ### Response #### Success Response (200) - **account** (string) - Account identifier associated with the identity. - **domain** (string) - Obfuscated domain name associated with the identity. - **status** (string) - Describes the state of the tokenized identity. #### Response Example { "account": "user123xyz", "domain": "22aba33b5d41558729dd176c8727239577562ccd1a939ca8931957b352c8342d.crypto", "status": "ready" } ``` -------------------------------- ### POST /mcp/v1/actions/ud_listing_create Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/marketplace/listingcreate Create one or more domain listings on the marketplace. ```APIDOC ## POST /mcp/v1/actions/ud_listing_create ### Description List one or more domains for sale on the marketplace. Supports buy-now pricing, offers, and lease-to-own options. ### Method POST ### Endpoint /mcp/v1/actions/ud_listing_create ### Parameters #### Request Body - **domains** (array) - Required - List of domains to list - **domainName** (string) - Required - The domain name to list - **priceInCents** (number) - Optional - Buy-now price in cents (0 for offers-only) - **expiresAt** (string) - Optional - Listing expiration date as ISO 8601 string - **isEmailAliasUsed** (boolean) - Optional - Enable message seller feature - **listingSettings** (object) - Optional - **isOfferFeatureEnabled** (boolean) - Optional - **minOfferAmountInCents** (number) - Optional - **domainDisplayName** (string) - Optional - Human-readable domain display name - **leaseToOwnOptions** (object) - Optional - **type** (string) - Optional - Enum: "equal_installments", "down_payment_plus_equal_installments" - **maxTermLength** (integer) - Optional - Maximum term length in months (2-120) - **downPaymentPercentage** (number) - Optional - Down payment percentage (10-90) ### Response #### Success Response (200) - **results** (array) - List of processing results - **domainName** (string) - **success** (boolean) - **listingId** (number) - **status** (string) - **isLazy** (boolean) - **error** (string) - **successCount** (number) - **failureCount** (number) - **message** (string) - **signatureRequired** (boolean) - **signatureNote** (string) ``` -------------------------------- ### GET /partner/v3/operations/{id} Source: https://docs.unstoppabledomains.com/apis/reseller/implementation-guide.md Track the progress of an asynchronous operation. ```APIDOC ## GET /partner/v3/operations/{id} ### Description Poll the operation endpoint to track the status of a registration request. ### Method GET ### Endpoint https://api.ud-sandbox.com/partner/v3/operations/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The operation ID returned from the registration request. ### Response #### Success Response (200) - **id** (string) - Operation ID - **status** (string) - Current status (e.g., COMPLETED, FAILED) - **type** (string) - Operation type ``` -------------------------------- ### GET /account Source: https://docs.unstoppabledomains.com/web3/apis/partner/openapi/account/getaccount Retrieves the account details for the authenticated partner. ```APIDOC ## GET /account ### Description Retrieves the account summary details for the authenticated partner. ### Method GET ### Endpoint /account ### Response #### Success Response (200) - **@type** (string) - Required - Enum: "unstoppabledomains.com/partner.v3.AccountSummary" - **id** (string) - Required - The unique identifier for the account. - **defaultWalletAddress** (any) - Required - The default wallet address associated with the account. ``` -------------------------------- ### Search for domains Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Use this command to check domain availability and pricing. ```bash ud search ``` ```bash ud search "mybusiness" ud search "coffee.com" ``` -------------------------------- ### GET /{domainOrToken} Source: https://docs.unstoppabledomains.com/web3/apis/metadata/openapi/domains/domains_getmetadata Retrieves the metadata for a specified domain or token. ```APIDOC ## GET /{domainOrToken} ### Description Retrieves the metadata for a specified domain or token. ### Method GET ### Endpoint /{domainOrToken} ### Parameters #### Path Parameters - **domainOrToken** (string) - Required - A domain name or the eip137 namehash of a domain registered by Unstoppable Domains ### Response #### Success Response (200) - **external_link** (string) - External link associated with the domain - **image_url** (string) - URL of the domain image - **attributes** (array) - List of domain attributes - **background_color** (string) - Background color hex code - **animation_url** (string) - URL for animation content - **youtube_url** (string) - YouTube URL associated with the domain - **name** (string) - Name of the domain - **tokenId** (string) - The token ID - **namehash** (string) - The EIP-137 namehash - **description** (string) - Description of the domain - **image** (string) - Primary image URL - **external_url** (string) - Primary external URL ``` -------------------------------- ### POST /domains Source: https://docs.unstoppabledomains.com/openapi/partner/v3 Register new domains. Use $preview=true to validate requests and get price quotes. ```APIDOC ## POST /domains ### Description Register new domains. Use $preview=true to validate requests and get price quotes before committing. ### Method POST ### Endpoint /domains ``` -------------------------------- ### Add domain hosting redirect Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Initiates the process to add a new redirect configuration. ```bash ud domains hosting redirects add ``` -------------------------------- ### GET /supported_tlds Source: https://docs.unstoppabledomains.com/apis/resolution Retrieves a list of TLDs supported by the service. ```APIDOC ## GET /supported_tlds ### Description Retrieves a list of TLDs supported by the service. ### Method GET ### Endpoint /supported_tlds ``` -------------------------------- ### Register a Domain Source: https://docs.unstoppabledomains.com/apis/reseller/implementation-guide.md Executes a domain registration using a verified contact ID. Ensure the contact is verified before proceeding. ```bash curl -X POST "https://api.ud-sandbox.com/partner/v3/domains?$preview=false" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "example.com", "owner": { "type": "SELF", "contact": { "id": "ct-a1b2c3d4-5678-90ab-cdef-1234567890ab" } }, "dns": { "period": 1, "contacts": { "admin": { "id": "ct-a1b2c3d4-5678-90ab-cdef-1234567890ab" }, "tech": { "id": "ct-a1b2c3d4-5678-90ab-cdef-1234567890ab" }, "billing": { "id": "ct-a1b2c3d4-5678-90ab-cdef-1234567890ab" } } } }' ``` -------------------------------- ### GET /status Source: https://docs.unstoppabledomains.com/apis/resolution Retrieves the current status of the Resolution Service. ```APIDOC ## GET /status ### Description Retrieves the current status of the Resolution Service. ### Method GET ### Endpoint /status ``` -------------------------------- ### Configure CLI Environments Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Switch between sandbox and production environments to safely test commands before executing them in production. ```bash # Create an account or sign in on sandbox ud auth signup --env sandbox # Or sign in to an existing account ud auth login --env sandbox # Run commands against sandbox ud search "test.com" --env sandbox # Or set sandbox as default ud env set sandbox # Switch back to production ud env set production ``` -------------------------------- ### GET /domains Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/domain-search/getmultipledomains Retrieve availability and details for a list of domains. ```APIDOC ## GET /domains ### Description Get domain availability and details for multiple domains. Optionally, use the $expand query parameter to include additional data in the response. ### Method GET ### Endpoint /domains ### Parameters #### Query Parameters - **$expand** (array) - Optional - Enum: "registration", "flags" - **ending** (array) - Required (when query is unqualified) - TLD or domain endings to combine with unqualified query labels. - **query** (array) - Required - Domain names or labels to search. ### Response #### Success Response (200) - **@type** (string) - Enum: "unstoppabledomains.com/partner.v3.List" - **items** (array) - List of domain details - **items.name** (string) - Domain name - **items.owner** (object) - Owner information - **items.availability** (object) - Availability status and pricing information ``` -------------------------------- ### POST /api/oauth/signup Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/account/oauthsignup Registers a new user with email and password, sends a verification code via email, and returns a signup_session_token. ```APIDOC ## POST /api/oauth/signup ### Description Registers a new user with email and password, sends a verification code via email, and returns a signup_session_token. Use the returned token with /api/oauth/signup/verify to complete the process. ### Method POST ### Endpoint /api/oauth/signup ### Request Body - **email** (string) - Required - Email address for the new account - **password** (string) - Required - Password with at least 8 characters, one uppercase, one lowercase, one digit, and one special character ### Response #### Success Response (200) - **signup_session_token** (string) - Token to use with /api/oauth/signup/verify - **expires_in** (number) - Session TTL in seconds (900) ``` -------------------------------- ### GET /account/domain-registrations Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/account/getaccountdomainregistrations Retrieve a paginated list of the domains in your account. ```APIDOC ## GET /account/domain-registrations ### Description Retrieve a paginated list of the domains in your account. Results are returned using cursor-based pagination. ### Method GET ### Endpoint /account/domain-registrations ### Parameters #### Query Parameters - **$cursor** (string) - Optional - Opaque cursor for paginating through results. - **$expand** (array) - Optional - Use $expand=flags to additionally include the EPP domain flags for each returned domain. ### Response #### Success Response (200) - **@type** (string) - Enum: "unstoppabledomains.com/partner.v3.CursorList" - **items** (array) - List of domains - **items.name** (string) - The fully qualified domain name. - **items.status** (string) - The current registration status of the domain. - **items.namingSystem** (string) - The naming system the domain is registered under. - **items.blockchain** (string) - The blockchain the domain is minted on. - **items.expirationTimestamp** (integer, null) - Unix epoch timestamp (milliseconds) when the domain expires. - **items.flags** (object) - EPP domain flags for the domain. - **next** (object, null) - Pagination object containing the next cursor. ``` -------------------------------- ### GET /domains/{domainName} Source: https://docs.unstoppabledomains.com/apis/registry Check the availability of a specific domain. ```APIDOC ## GET /domains/{domainName} ### Description Check domain availability. ### Method GET ### Endpoint https://api.unstoppabledomains.com/registry/v1/domains/{domainName} ### Parameters #### Path Parameters - **domainName** (string) - Required - The name of the domain to check. ``` -------------------------------- ### Contact a Domain Seller via CLI Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Use these commands to initiate and manage conversations with domain owners through the marketplace. ```bash # Open a conversation with the seller ud marketplace leads open # View your lead conversations ud marketplace leads list # Send and read messages ud marketplace leads messages list ud marketplace leads messages send ``` -------------------------------- ### GET /account/webhooks Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/account/getwebhooks Retrieve all webhook subscriptions configured for your account. ```APIDOC ## GET /account/webhooks ### Description Retrieve all webhook subscriptions configured for your account. ### Method GET ### Endpoint /account/webhooks ### Response #### Success Response (200) - **@type** (string) - Required - Enum: "unstoppabledomains.com/partner.v3.CursorList" - **items** (array) - Required - List of webhook subscriptions - **items.id** (string) - Required - Webhook ID - **items.url** (string) - Required - Webhook URL - **items.type** (object) - Required - Webhook type - **next** (object/null) - Required - Pagination cursor object - **next.$cursor** (string) - Optional - Cursor string for pagination #### Error Response (401, 403, 500) - **code** (string) - Required - Machine-readable error code - **message** (string) - Optional - Human-readable error description - **errors** (array) - Optional - Individual errors when code is MULTIPLE_ERRORS - **errors.code** (string) - Required - Error code - **errors.message** (string) - Optional - Error message ``` -------------------------------- ### GET /user/wallet/claim Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/wallet-management-endpoints/paths/~1user~1wallet~1claim/get Retrieves the status and custody state of a wallet claim. ```APIDOC ## GET /user/wallet/claim ### Description Get status of a wallet claim to self custody. ### Method GET ### Endpoint /user/wallet/claim ### Parameters #### Header Parameters - **x-api-key** (string) - Required - The server generated secret required to authorize the request. ### Response #### Success Response (200) - **secret** (string) - A secret created by the server and provided to the client only at initial wallet creation - **state** (string) - Indicates custody state of the wallet (CUSTODY or SELF_CUSTODY) - **status** (string) - Indicates status of the onboarding process - **addresses** (object) - Blockchain addresses associated with the wallet - **addresses.SYMBOL** (string) - Blockchain address associated with symbol #### Response Example { "secret": "server-generated-secret", "state": "SELF_CUSTODY", "status": "COMPLETE", "addresses": { "SYMBOL": "blockchain-address" } } ``` -------------------------------- ### POST /api/oauth/signup Source: https://docs.unstoppabledomains.com/apis/user-api/openapi.md Registers a new user with email and password for headless account creation. ```APIDOC ## POST /api/oauth/signup ### Description Step 1 of headless account creation. Registers a new user with email and password, sends a verification code via email, and returns a signup_session_token. Use POST /api/oauth/signup/verify with the token and code to get OAuth tokens. ### Method POST ### Endpoint /api/oauth/signup ``` -------------------------------- ### GET /public/swap/tokens Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/swap-endpoints/paths/~1public~1swap~1tokens/get Retrieves a list of supported tokens for a specified blockchain. ```APIDOC ## GET /public/swap/tokens ### Description Retrieves supported tokens for a specified chain. ### Method GET ### Endpoint /public/swap/tokens ### Parameters #### Query Parameters - **chain** (string) - Required - The token chain, one of (Bitcoin, Ethereum, Polygon, Base or Solana) - **token** (string) - Optional - The source token contract address or ticker symbol. Contract address recommended. ### Response #### Success Response (200) - **symbol** (string) - Token symbol - **name** (string) - Token name - **address** (string) - Token contract address - **chain** (string) - Token chain - **decimals** (number) - Token decimals - **logo** (string) - Token logo URL - **price** (number) - Current token price - **liquidityUsd** (number) - Liquidity in USD - **tags** (array) - Token tags ``` -------------------------------- ### POST /mcp/v1/actions/ud_dns_hosting_add Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/dns-management/dnshostingadd Configure hosting for one or more domains, including for-sale listing pages, redirects, or reverse proxies. ```APIDOC ## POST /mcp/v1/actions/ud_dns_hosting_add ### Description Configure hosting for one or more domains: for-sale listing page, permanent redirect (301), temporary redirect (302), or reverse proxy. Supports up to 50 domains per request. ### Method POST ### Endpoint /mcp/v1/actions/ud_dns_hosting_add ### Request Body - **domains** (array) - Required - Array of domain hosting configurations - **name** (string) - Required - Domain name - **type** (string) - Required - Hosting type (Enum: "LISTING_PAGE", "REDIRECT_301", "REDIRECT_302", "REVERSE_PROXY") - **targetUrl** (string) - Optional - Destination URL (required for REDIRECT_301, REDIRECT_302, REVERSE_PROXY) - **subName** (string) - Optional - Subdomain to configure - **forceCompatibility** (boolean) - Optional - Auto-configure UD nameservers if needed ### Response #### Success Response (200) - **results** (array) - List of operation results - **domain** (string) - Domain name - **success** (boolean) - Whether the operation succeeded - **operationId** (string) - Track with ud_domain_pending_operations - **nameservers** (array) - Configured nameservers - **hasDnssec** (boolean) - Whether DNSSEC is configured - **config** (object) - Hosting config - **error** (string) - Error message if failed - **successCount** (number) - Number of successful operations - **failureCount** (number) - Number of failed operations ``` -------------------------------- ### GET /user/{domain} Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/profile-management-endpoints/paths/~1user~1%7Bdomain%7D/get Retrieves the profile information for a given domain. ```APIDOC ## GET /user/{domain} ### Description Retrieves detailed profile information for a specified domain, including crypto verification messages, on-chain records, storage settings, market transaction history, and wallet portfolio data. ### Method GET ### Endpoint /user/{domain} ### Parameters #### Path Parameters - **domain** (string) - Required - The domain name to retrieve profile information for. ### Response #### Success Response (200) - **cryptoVerifications.plaintextMessage** (string) - Message that must be signed by the domain owner with the private key of the verified blockchain address - **cryptoVerifications.signedMessage** (string) - Signature resulting from signing plaintextMessage - **records** (object) - On chain record key/value pairs - **storage.apiKey** (string) - User specific API key for remote storage endpoint - **storage.type** (string) - Storage type identifier - **market.primary** (object) - Primary mint information - **market.secondary** (array) - List of secondary market transactions - **portfolio.wallet** (object) - Wallet portfolio details - **portfolio.account** (object) - Account portfolio details - **walletBalances** (object) - Wallet balance and token information ``` -------------------------------- ### List Marketplace Offers Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Retrieves a list of incoming offers for domains. ```bash ud marketplace offers list ``` -------------------------------- ### GET /status Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/status/paths/~1status/get Retrieves the current health status of the application service. ```APIDOC ## GET /status ### Description This route can be used to determine if the application service is alive. ### Method GET ### Endpoint /status ### Response #### Success Response (200) - **status** (object) - Break down of application component status - **status.http** (string) - Status of http server - **status.db** (string) - Status of DB availability ``` -------------------------------- ### GET /search Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/search-endpoints.md Retrieves a list of domains that match a specific query. ```APIDOC ## GET /search ### Description This route retrieves a list of domains that match the query. ### Method GET ### Endpoint /search ``` -------------------------------- ### Verify Claude Desktop Configuration Source: https://docs.unstoppabledomains.com/user-api/troubleshooting.md Check the contents of the Claude Desktop configuration file to ensure proper setup. ```bash cat ~/Library/Application\ Support/Claude/claude_desktop_config.json ``` -------------------------------- ### GET /followers/{domain} Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/follower-endpoints.md Returns a list of followers or following for a domain. ```APIDOC ## GET /followers/{domain} ### Description Returns a list of followers or following for a domain. ### Method GET ### Endpoint /followers/{domain} ### Parameters #### Path Parameters - **domain** (string) - Required - The domain name. ``` -------------------------------- ### POST /api/oauth/signup Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/account Registers a new user with email and password and initiates the verification process. ```APIDOC ## POST /api/oauth/signup ### Description Step 1 of headless account creation. Registers a new user with email and password, sends a verification code via email, and returns a signup_session_token. Returns identical responses for new and existing users to prevent account enumeration. ### Method POST ### Endpoint /api/oauth/signup ``` -------------------------------- ### GET /badges/rankings Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/badge-endpoints/paths/~1badges~1rankings/get Generates a list of badges ordered by the number of holders. ```APIDOC ## GET /badges/rankings ### Description Generates a list of badges ordered by number of holders. ### Method GET ### Endpoint /badges/rankings ### Parameters #### Query Parameters - **count** (number) - Optional - The number of rankings to retrieve - **communityOnly** (boolean) - Optional - Include only community sponsored badges ### Response #### Success Response (200) - **badge** (object) - Badge details - **name** (string) - Name of the Badge - **code** (string) - Unique badge code - **active** (boolean) - Indicates that the badge is active - **logo** (string) - Badge logo, could be url or emoji - **linkUrl** (string) - Link to external website - **videoUrl** (string) - Link to video - **coverImage** (string) - Link to cover image - **type** (string) - Type of badge - **count** (number) - Number of items associated with the badge - **description** (string) - Description of the badge - **gallery** (object) - Gallery settings - **enabled** (boolean) - Indicates whether the partner token gallery is enabled - **featured** (array) - A list of featured token IDs - **tier** (number) - Indicates the badge feature tier - **marketplace** (object) - Marketplace listings - **listings** (array) - List of NFT marketplace entries ``` -------------------------------- ### Respond to Marketplace Offer Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Accepts or declines an offer received on a domain. ```bash ud marketplace offers respond ``` -------------------------------- ### GET /user/identity Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/identity-management-endpoints.md Retrieves the current tokenization status of a user identity. ```APIDOC ## GET /user/identity ### Description Request tokenization status of a user identity. ### Method GET ### Endpoint /user/identity ``` -------------------------------- ### Configure Next.js Environment Variables Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Define the base API URL, client ID, redirect URI, and authentication scopes in the .env file. ```javascript NEXT_PUBLIC_API_BASE_URL=http://localhost:3001 NEXT_PUBLIC_CLIENT_ID=1234567890 NEXT_PUBLIC_REDIRECT_URI=http://localhost:3000 NEXT_PUBLIC_SCOPES=openid wallet profile ``` -------------------------------- ### GET /badges/rankings Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/badge-endpoints.md Generates a list of badges ordered by number of holders. ```APIDOC ## GET /badges/rankings ### Description Generates a list of badges ordered by number of holders. ### Method GET ### Endpoint /badges/rankings ``` -------------------------------- ### POST /partner/v3/domains Source: https://docs.unstoppabledomains.com/apis/reseller/implementation-guide.md Register a domain or preview registration details. ```APIDOC ## POST /partner/v3/domains ### Description Register a domain or use preview mode to validate fields and get a price quote. ### Method POST ### Endpoint https://api.ud-sandbox.com/partner/v3/domains ### Parameters #### Query Parameters - **$preview** (boolean) - Required - Set to true for price quote/validation, false to execute registration. ### Request Body - **name** (string) - Required - **owner** (object) - Required - **dns** (object) - Required ``` -------------------------------- ### Show domain hosting redirects Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Displays the current redirect configuration for a specific domain. ```bash ud domains hosting redirects show ``` -------------------------------- ### GET /followers/{domain}/follow-status Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/follower-endpoints/paths/~1followers~1%7Bdomain%7D~1follow-status/get Retrieves the following status of a domain. ```APIDOC ## GET /followers/{domain}/follow-status ### Description Retrieves the following status of a domain to determine if a specific follower is following the followee. ### Method GET ### Endpoint /followers/{domain}/follow-status ### Parameters #### Path Parameters - **domain** (string) - Required - The followee domain #### Query Parameters - **follower-domain** (string) - Required - The follower domain ### Response #### Success Response (200) - **isFollowing** (boolean) - Indicates whether the follower is following the followee ``` -------------------------------- ### Marketplace Listing Management Source: https://docs.unstoppabledomains.com/user-api/cli-workflows.md Commands for listing domains for sale and managing incoming offers. ```bash # List your domain for sale ud marketplace listings create premium.com # Check for incoming offers ud marketplace offers list # Respond to an offer ud marketplace offers respond ``` -------------------------------- ### GET /followers/rankings Source: https://docs.unstoppabledomains.com/web3/apis/profile-v1/openapi/follower-endpoints/paths/~1followers~1rankings/get Retrieves a list of domains ordered by the number of followers. ```APIDOC ## GET /followers/rankings ### Description Generates a list of domains ordered by number of followers. ### Method GET ### Endpoint /followers/rankings ### Parameters #### Query Parameters - **count** (number) - Required - The number of rankings to retrieve ### Response #### Success Response (200) - **domain** (string) - The domain name - **rank** (number) - The rank of the domain - **count** (number) - The number of followers #### Response Example [ { "domain": "matt.crypto", "rank": 1, "count": 100 } ] ``` -------------------------------- ### Initialize Checkout Source: https://docs.unstoppabledomains.com/web3/domain-distribution-and-management/guides/sell-domains.md Initiates the checkout process for a domain by sending a POST request to the /api/checkout/:domain endpoint. ```typescript import axios from 'axios'; /** * Initializes the checkout process for a specific domain. * * @param {string} domain - The domain name being checked out. * @param {string} walletAddress - The wallet address for the domain transfer. * @param {boolean} payment - The payment status; 'true' if payment is confirmed. * @param {string} operationId - The unique ID for the checkout operation. * @returns {Promise} - A promise that resolves to the server response on checkout initiation. * @throws {Error} - If an error occurs during the request, throws an error with details. */ export const initCheckout = async (domain: string, walletAddress: string, payment: boolean, operationId: string) => { try { const url = process.env.NEXT_PUBLIC_API_BASE_URL + '/api/checkout/' + encodeURIComponent(domain); const res = await axios.post(url, { wallet: walletAddress, payment: payment, operationId: operationId, } ); return res.data; } catch (err: unknown) { if (err instanceof Error) { throw new Error('Error processing checkout: ', err); } } } ``` -------------------------------- ### GET /partner/v3/domains/{domain}/flags Source: https://docs.unstoppabledomains.com/apis/reseller/implementation-guide.md View the current flags for a domain. ```APIDOC ## GET /partner/v3/domains/{domain}/flags ### Description View the current flags for a domain. ### Method GET ### Endpoint https://api.ud-sandbox.com/partner/v3/domains/{domain}/flags ### Parameters #### Path Parameters - **domain** (string) - Required - The domain name. ``` -------------------------------- ### POST /mcp/v1/actions/ud_offer_respond Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/marketplace/offerrespond Accept or reject incoming offers on your domains. ```APIDOC ## POST /mcp/v1/actions/ud_offer_respond ### Description Accept or reject incoming offers on your domains. ### Method POST ### Endpoint /mcp/v1/actions/ud_offer_respond ### Request Body - **offers** (array) - Required - List of offers to process - **id** (number) - Required - Offer ID - **action** (string) - Required - Enum: "accept", "reject" ### Response #### Success Response (200) - **results** (array) - List of processed results - **offerId** (number) - Offer ID - **domainName** (string) - Domain name - **action** (string) - Action performed - **success** (boolean) - Success status - **priceInCents** (number) - Price in cents - **priceFormatted** (string) - Formatted price - **newStatus** (string) - New status of the offer - **error** (string) - Error message if applicable - **successCount** (number) - Total successful operations - **failureCount** (number) - Total failed operations - **message** (string) - Status message - **signatureRequired** (boolean) - Whether a signature is required - **signatureNote** (string) - Note regarding signature requirement ``` -------------------------------- ### POST /mcp/v1/actions/ud_dns_nameservers_list Source: https://docs.unstoppabledomains.com/apis/user-api/openapi/dns-management List current nameservers and check if using UD defaults or custom nameservers. ```APIDOC ## POST /mcp/v1/actions/ud_dns_nameservers_list ### Description List current nameservers and check if using UD defaults or custom nameservers. ### Method POST ### Endpoint /mcp/v1/actions/ud_dns_nameservers_list ``` -------------------------------- ### List MCP Servers Source: https://docs.unstoppabledomains.com/user-api/troubleshooting.md Verify if the MCP server is correctly configured in the Claude environment. ```bash claude mcp list # Check if server is configured ``` -------------------------------- ### Check for CLI Updates Source: https://docs.unstoppabledomains.com/user-api/cli-commands.md Checks for available updates without performing an installation. ```bash ud update check ```