### GET /user/wallet/launch Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-management-endpoints Retrieves the status of a wallet associated with a server-generated secret. ```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 ### Parameters #### Query Parameters - **secret** (string) - Required - The server-generated secret associated with the wallet. ### Request Example ```json { "example": "request body not specified" } ``` ### Response #### Success Response (200) - **status** (string) - The status of the wallet. #### Response Example ```json { "example": "{\"status\": \"created\"}" } ``` ``` -------------------------------- ### GET /resolve/keys Source: https://docs.unstoppabledomains.com/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 ### Parameters #### Query Parameters #### Request Body ### Request Example ### Response #### Success Response (200) - **keys** (array) - A list of supported resolver keys. #### Response Example { "keys": [ "ENS", "UnstoppableDomains", "SNS" ] } ``` -------------------------------- ### GET /domains - Lookup Multiple Domains Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/domain-search/getmultipledomains Get domain availability and details for multiple domains using the query string search options. Optionally, use the $expand query parameter to include additional data in the response (e.g. ?$expand=registration&$expand=flags). If a domain is available for registration it will have an availability.status of AVAILABLE and will include an availability.price object. ```APIDOC ## GET /domains ### Description Get domain availability and details for multiple domains using the query string search options. Optionally, use the $expand query parameter to include additional data in the response (e.g. ?$expand=registration&$expand=flags). If a domain is available for registration it will have an availability.status of AVAILABLE and will include an availability.price object. ### Method GET ### Endpoint /domains ### Parameters #### Query Parameters - **$expand** (array) - Optional - Enum: "registration", "flags" - **ending** (array, required) - The domain endings to search for. - **query** (array, required) - The domain names to search for. ### Request Example ``` GET /domains?ending[]=crypto&ending[]=nft&query[]=mycool&query[]=newdomain GET /domains?ending[]=crypto&ending[]=nft&query[]=mycool&query[]=newdomain&$expand=registration&$expand=flags ``` ### Response #### Success Response (200) - **@type** (string, required) - Enum: "unstoppabledomains.com/partner.v3.List" - **items** (array, required) - A list of domain objects. - **items.name** (string, required) - The name of the domain. - **items.owner** (object, required) - Information about the domain owner. - **items.owner.type** (string, required) - Enum: "NONE", "UD", "UNKNOWN" - **items.owner.contactId** (string) - The contact ID of the owner. - **items.availability** (object, required) - Availability information for the domain. - **items.availability.source** (string, required) - Enum: "UD", "SEDO", "AFTERNIC" - **items.availability.status** (string, required) - Enum: "AVAILABLE", "AVAILABLE_BACKORDER", "REGISTERED", "PROTECTED", "COMING_SOON", "DISALLOWED", "RESERVED", "AVAILABLE_FROM_ISSUER", "AVAILABLE_FROM_SELLER", "EXCEEDS_PRICE_LIMIT", "REGISTRATION_PENDING", "UNKNOWN_MAINTENANCE" - **items.availability.issuer** (object) - Information about the issuer. - **items.availability.price** (object) - Pricing information for the domain. - **items.availability.price.listPrice** (object, required) - **items.availability.price.listPrice.usdCents** (number, required) - The list price in USD cents. - **items.availability.price.adjustments** (array) - Price adjustments. - **items.availability.price.subTotal** (object, required) - **items.availability.price.validUntilTimestamp** (number) - Timestamp until which the price is valid. - **items.availability.offer** (object) - Offer details. - **items.availability.offer.min** (object, required) - **items.availability.additionalPricing** (object) - Additional pricing details. - **items.availability.additionalPricing.extendedRegistration** (object) - **items.availability.additionalPricing.transfer** (object) - **items.availability.constraints** (object) - Registration constraints. - **items.availability.constraints.registration** (object, required) - **items.availability.constraints.registration.period** (object, required) - **items.availability.constraints.registration.period.max** (number, required) - Maximum registration period in years. - **items.availability.constraints.registration.period.increments** (number, required) - Allowed registration period increments in years. - **items.availability.availableAfterTimestamp** (number) - Timestamp after which the domain will be available. - **items.flags** (object) - Flags related to the domain. - **items.flags.DNS_RESOLUTION** (object, required) - **items.flags.DNS_RESOLUTION.readonly** (object) - **items.flags.DNS_RESOLUTION.readonly.state** (boolean, required) - Indicates if DNS resolution is read-only. - **items.flags.DNS_RESOLUTION.readonly.reasons** (array, required) - Reasons for DNS resolution being read-only. - **items.flags.DNS_TRANSFER_OUT** (object, required) - **items.flags.DNS_DELETE** (object, required) - **items.flags.DNS_UPDATE** (object, required) - **items.flags.DNS_RENEW** (object, required) - **items.flags.DNS_WHOIS_PROXY** (object, required) #### Response Example ```json { "@type": "unstoppabledomains.com/partner.v3.List", "items": [ { "name": "mycool.crypto", "owner": { "type": "NONE" }, "availability": { "source": "UD", "status": "AVAILABLE", "price": { "listPrice": { "usdCents": 1000000 }, "subTotal": { "usdCents": 1000000 }, "validUntilTimestamp": 1678886400 }, "constraints": { "registration": { "period": { "max": 10, "increments": 1 } } } } } ] } ``` ``` -------------------------------- ### GET /account Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/account/getaccount Retrieve your account summary including account ID and default wallet address. ```APIDOC ## GET /account ### Description Retrieve your account summary including account ID and default wallet address. ### Method GET ### Endpoint /account ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - `@type` (string, required) - Enum: "unstoppabledomains.com/partner.v3.AccountSummary" - `id` (string, required) - `defaultWalletAddress` (string | null, required) #### Response Example ```json { "@type": "unstoppabledomains.com/partner.v3.AccountSummary", "id": "123e4567-e89b-12d3-a456-426614174000", "defaultWalletAddress": "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B" } ``` ``` -------------------------------- ### POST /user/wallet/launch Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-management-endpoints Initiates an asynchronous request to create a new 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 #### Request Body - **user_id** (string) - Required - The identifier of the user for whom the wallet is being created. ### Request Example ```json { "example": "{\"user_id\": \"user_abc123\"}" } ``` ### Response #### Success Response (200) - **wallet_id** (string) - The unique identifier for the newly created wallet. - **secret** (string) - The server-generated secret for claiming custody later. #### Response Example ```json { "example": "{\"wallet_id\": \"wallet_xyz789\", \"secret\": \"your_server_generated_secret\"}" } ``` ``` -------------------------------- ### GET /public/{address}/swap Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/swap-endpoints/paths/~1public~1%7Baddress%7D~1swap/get Retrieves swap quotes for a specified token pair. This endpoint is used to get the best available rates for swapping one token to another. ```APIDOC ## GET /public/{address}/swap ### Description Retrieves swap quotes for a specified token pair. This endpoint is used to get the best available rates for swapping one token to another. ### Method GET ### Endpoint /public/{address}/swap ### Parameters #### Path Parameters - **address** (string) - Required - The wallet address initiating the swap #### Query Parameters - **fromChain** (string) - Optional - The source token chain. Must be one of the supported chains (Bitcoin, Ethereum, Polygon, Base or Solana) - **fromToken** (string) - Optional - The source token contract address or ticker symbol. Contract address recommended. - **fromTokenAmount** (string) - Optional - The desired swap amount, specified in token currency. A value in fromTokenAmount is prioritized over fromTokenAmountUsd. - **fromTokenAmountUsd** (string) - Optional - The desired swap amount, specified in US Dollars. A value in fromTokenAmount is prioritized over fromTokenAmountUsd. - **toChain** (string) - Optional - The destination token chain. Must be one of the supported chains (Bitcoin, Ethereum, Polygon, Base or Solana) - **toToken** (string) - Optional - The destination token contract address or ticker symbol. Contract address recommended. - **toWalletAddress** (string) - Optional - The destination wallet address for the swap funds. Defaults to source address if empty. ### Response #### Success Response (200) - **duration** (number) - **gas** (string) - **quote** (object) - **quote.integration** (string) - **quote.type** (string) - **quote.bridgeFee** (string) - **quote.bridgeFeeInNativeToken** (string) - **quote.amount** (string) - **quote.decimals** (number) - **quote.amountUSD** (string) - **quote.bridgeFeeUSD** (string) - **quote.bridgeFeeInNativeTokenUSD** (string) - **quote.priceImpact** (string) - **route** (array) - **route.bridge** (string) - **gasUsd** (string) #### Response Example ```json { "duration": 120, "gas": "0.005", "quote": { "integration": "Uniswap", "type": "SWAP", "bridgeFee": "0.001", "bridgeFeeInNativeToken": "0.0001", "amount": "100", "decimals": 18, "amountUSD": "250.00", "bridgeFeeUSD": "2.50", "bridgeFeeInNativeTokenUSD": "0.25", "priceImpact": "0.5%" }, "route": [ { "bridge": "Native" } ], "gasUsd": "10.00" } ``` #### Error Response (400) (Details for 400 errors are not provided in the input text) ``` -------------------------------- ### GET /public/{address}/swap - Retrieve Swap Quotes Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/swap-endpoints Retrieves swap quotes for a specified token pair. This endpoint is used to get an estimate of the exchange rate before initiating a swap. ```APIDOC ## GET /public/{address}/swap ### Description Retrieves swap quotes for a specified token pair. ### Method GET ### Endpoint /public/{address}/swap ### Parameters #### Path Parameters - **address** (string) - Required - The wallet address for which to retrieve swap quotes. #### Query Parameters - **fromToken** (string) - Required - The token to swap from. - **toToken** (string) - Required - The token to swap to. - **fromAmount** (string) - Required - The amount of the `fromToken` to swap. ### Request Example ```json { "example": "GET /public/0x123...abc/swap?fromToken=ETH&toToken=UDC&fromAmount=1000000000000000000" } ``` ### Response #### Success Response (200) - **data** (object) - Contains swap quote details. - **fromToken** (object) - Details of the token being swapped from. - **toToken** (object) - Details of the token being swapped to. - **fromAmount** (string) - The amount of `fromToken`. - **toAmount** (string) - The estimated amount of `toToken`. - **estimatedGas** (string) - Estimated gas cost for the transaction. - **price** (string) - The exchange rate. #### Response Example ```json { "example": { "data": { "fromToken": { "chainId": "1", "address": "0x...ETH", "symbol": "ETH", "decimals": 18 }, "toToken": { "chainId": "1", "address": "0x...UDC", "symbol": "UDC", "decimals": 18 }, "fromAmount": "1000000000000000000", "toAmount": "950000000000000000", "estimatedGas": "50000000000000", "price": "0.95" } } } ``` ``` -------------------------------- ### POST /user/wallet/launch Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-management-endpoints/paths/~1user~1wallet~1launch/post Asynchronously creates a new custodial wallet. The response includes a secret for the user to claim self-custody later. ```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. Example: "wallet-creation-secret" ### Response #### Success Response (200) - **secret** (string) - A secret created by the server and provided to the client only at initial wallet creation. Example: "server-generated-secret" - **state** (string) - Indicates custody state of the wallet (CUSTODY or SELF_CUSTODY). Example: "SELF_CUSTODY" - **status** (string) - Indicates status of the onboarding process. Example: "COMPLETE" - **addresses** (object) - Blockchain addresses associated with the wallet. - **addresses.SYMBOL** (string) - Blockchain address associated with symbol. Example: "blockchain-address" #### Error Response (403) [Details for 403 error] #### Error Response (409) [Details for 409 error] #### Error Response (429) [Details for 429 error] ``` -------------------------------- ### POST /user/{address}/wallet/simulate Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-data-endpoints Simulate a wallet transaction. Authentication with an API key is required. ```APIDOC ## POST /user/{address}/wallet/simulate ### Description Simulate a wallet transaction. Authentication with an API key is required. ### Method POST ### Endpoint /user/{address}/wallet/simulate ### Parameters #### Path Parameters - **address** (string) - Required - The wallet address for which to simulate the transaction. #### Query Parameters - **api_key** (string) - Required - Your API key for authentication. #### Request Body - **transaction** (object) - Required - The transaction details to simulate. - **to** (string) - Required - The recipient address. - **value** (string) - Optional - The value to send. - **data** (string) - Optional - The transaction data. ### Request Example { "transaction": { "to": "0x456...", "value": "1000000000000000000", "data": "0x..." } } ### Response #### Success Response (200) - **simulation_result** (object) - The result of the transaction simulation. - **success** (boolean) - Indicates if the simulation was successful. - **error** (string) - An error message if the simulation failed. #### Response Example { "simulation_result": { "success": true, "error": null } } ``` -------------------------------- ### GET /user/identity Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/identity-management-endpoints Requests the tokenization status of a user identity. ```APIDOC ## GET /user/identity ### Description Requests the tokenization status of a user identity. ### Method GET ### Endpoint /user/identity ### Parameters #### Query Parameters ### Request Example ### Response #### Success Response (200) - **status** (string) - The tokenization status of the user identity. #### Response Example { "status": "tokenized" } ``` -------------------------------- ### Configure Custom Nameservers Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/domain-management/updatedomain This snippet demonstrates how to configure custom nameservers for a domain. It requires an array of custom nameserver hostnames. This configuration is mutually exclusive with reverting to UD-managed nameservers. ```json { "nameservers": { "items": [ "ns1.example.com", "ns2.example.com" ] } } ``` -------------------------------- ### GET /user/profile Source: https://docs.unstoppabledomains.com/apis/loginref/openapi/public/userinfo Retrieves the profile information for the authenticated end-user. ```APIDOC ## GET /user/profile ### Description Retrieves the profile information for the authenticated end-user. ### Method GET ### Endpoint /user/profile ### Parameters #### Query Parameters None #### Request Body None ### Request Example ```json { "example": "No request body needed for this GET request." } ``` ### Response #### Success Response (200) - `birthdate` (string) - End-User's birthday, represented as an ISO 8601:2004 YYYY-MM-DD format. - `email` (string) - End-User's preferred e-mail address. - `email_verified` (boolean) - True if the End-User's e-mail address has been verified; otherwise false. - `family_name` (string) - Surname(s) or last name(s) of the End-User. - `gender` (string) - End-User's gender. - `given_name` (string) - Given name(s) or first name(s) of the End-User. - `locale` (string) - End-User's locale, represented as a BCP47 language tag. - `middle_name` (string) - Middle name(s) of the End-User. - `name` (string) - End-User's full name in displayable form. - `nickname` (string) - Casual name of the End-User. - `phone_number` (string) - End-User's preferred telephone number. - `phone_number_verified` (boolean) - True if the End-User's phone number has been verified; otherwise false. - `picture` (string) - URL of the End-User's profile picture. - `preferred_username` (string) - Non-unique shorthand name by which the End-User wishes to be referred to. - `profile` (string) - URL of the End-User's profile page. - `sub` (string) - Subject - Identifier for the End-User at the IssuerURL. - `updated_at` (integer) - Time the End-User's information was last updated. - `website` (string) - End-User's website. #### Response Example ```json { "birthdate": "1990-05-15", "email": "user@example.com", "email_verified": true, "family_name": "Doe", "gender": "male", "given_name": "John", "locale": "en-US", "middle_name": "M", "name": "John M. Doe", "nickname": "Johnny", "phone_number": "+1-555-123-4567", "phone_number_verified": true, "picture": "https://example.com/pictures/john.png", "preferred_username": "johndoe", "profile": "https://example.com/profiles/john", "sub": "auth0|1234567890abcdef", "updated_at": 1678886400, "website": "https://example.com" } ``` ``` -------------------------------- ### GET /status Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi This route can be used to determine if the application service is alive. ```APIDOC ## GET /status ### Description Checks the liveness of the application service. ### Method GET ### Endpoint /status ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **status** (string) - Indicates the service is alive. ``` -------------------------------- ### POST /xmtp/topics/register Source: https://docs.unstoppabledomains.com/apis/messaging-v1/openapi/chat/paths/~1xmtp~1topics~1register/post Registers an XMTP topic for a given owner address and provides details for push notification setup. ```APIDOC ## POST /xmtp/topics/register ### Description Registers an XMTP topic to associate with mobile device tokens for receiving push notifications. ### Method POST ### Endpoint /xmtp/topics/register ### Parameters #### Request Body - **ownerAddress** (string) - Required - Domain owner public wallet address - **signedPublicKey** (string) - Required - XMTP account public key - **registrations** (array) - Required - **accept** (boolean) - Optional - Indicates whether user has accepted the chat request - **block** (boolean) - Optional - Indicates whether user is reporting this topic as spam - **topic** (string) - Required - Topic ID to be registered - **peerAddress** (string) - Required - Peer wallet address associated with this conversation - **signature** (string) - Required - Topic ID signed with the XMTP account private key ### Request Example ```json { "ownerAddress": "123", "signedPublicKey": "456", "registrations": [ { "accept": true, "block": false, "topic": "topic-123", "peerAddress": "0xPeerAddress", "signature": "" } ] } ``` ### Response #### Success Response (200) (No specific fields documented for success response) #### Error Response (403) (No specific fields documented for 403 response) #### Error Response (404) (No specific fields documented for 404 response) ``` -------------------------------- ### POST /domains - Register a Domain Source: https://docs.unstoppabledomains.com/apis/partner/openapi/domain_registration/mintsingledomain Registers a domain to your account. If the domain is available, it will be minted or transferred to your custodial wallet. The domain's price is added to your running balance. ```APIDOC ## POST /domains ### Description Registers a domain to your account. If the domain is available, it will be minted or transferred to your custodial wallet. The domain's price is added to your running balance. ### Method POST ### Endpoint /domains ### Query Parameters - **$preview** (boolean) - Optional - Allows simulating the operation creation without actually starting any processing. When set to true, the operation in the response will have PREVIEW for all id and status values. ### Request Body - **name** (string) - Required - The name of the domain to register. - **records** (object) - Optional - Domain records. - **owner** (object) - Optional - Specifies the owner of the domain. - **owner.type** (string) - Required - Enum: "NONE", "UD", "SELF", "EXTERNAL". The type of owner. - **owner.address** (string) - Required - The wallet address of the owner. ### Request Example ```json { "name": "my-new-domain.crypto", "records": {}, "owner": { "type": "SELF", "address": "0x1234567890abcdef1234567890abcdef12345678" } } ``` ### Response #### Success Response (201) - **@type** (string) - Required - Enum: "unstoppabledomains.com/partner.v3.DomainOperationResult". The type of the operation result. - **operation** (object) - Required - Details of the domain operation. - **operation.id** (string) - Required - The unique identifier for the operation. Example: "op-4abb409c-9283-4589-bd36-d27a757a2165". - **operation.status** (string) - Required - Enum: "QUEUED", "SIGNATURE_REQUIRED", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED". The current status of the operation. - **operation.type** (string) - Required - Enum: "DOMAIN_CLAIM", "DOMAIN_UPDATE", "DOMAIN_RETURN", "WALLET_CREATE", "WALLET_UPDATE", "WALLET_VERIFY", "ACCOUNT_UPDATE". The type of operation. - **operation.domain** (string) - Optional - The domain name associated with the operation. - **operation.lastUpdatedTimestamp** (number) - Required - The timestamp when the operation was last updated. Example: 1684356429790. - **operation.dependencies** (array) - Required - A list of dependencies for the operation. #### Response Example ```json { "@type": "unstoppabledomains.com/partner.v3.DomainOperationResult", "operation": { "id": "op-4abb409c-9283-4589-bd36-d27a757a2165", "status": "QUEUED", "type": "DOMAIN_CLAIM", "domain": "my-new-domain.crypto", "lastUpdatedTimestamp": 1684356429790, "dependencies": [] } } ``` ``` -------------------------------- ### GET /user/wallet/claim Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-management-endpoints Retrieves the status of a wallet claim process for self-custody. ```APIDOC ## GET /user/wallet/claim ### Description Get status of a wallet claim to self custody. ### Method GET ### Endpoint /user/wallet/claim ### Parameters #### Query Parameters - **claim_id** (string) - Required - The identifier of the wallet claim process. ### Request Example ```json { "example": "request body not specified" } ``` ### Response #### Success Response (200) - **status** (string) - The current status of the wallet claim (e.g., pending, completed, failed). #### Response Example ```json { "example": "{\"status\": \"completed\"}" } ``` ``` -------------------------------- ### GET /followers/rankings Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/follower-endpoints Generates a list of domains ordered by their number of followers. ```APIDOC ## GET /followers/rankings ### Description Generates a list of domains ordered by the number of followers. This endpoint provides insights into the most popular domains based on follower count. ### Method GET ### Endpoint /followers/rankings ### Parameters (No parameters for this endpoint) ### Request Example (No request body for GET request) ### Response #### Success Response (200) - **rankings** (array of objects) - A list of domains and their follower counts, ordered by follower count. - **domain** (string) - The name of the domain. - **follower_count** (integer) - The number of followers the domain has. #### Response Example ```json { "rankings": [ { "domain": "popular.com", "follower_count": 1500 }, { "domain": "trending.eth", "follower_count": 1200 } ] } ``` ``` -------------------------------- ### GET /public/swap/chains Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/swap-endpoints/paths/~1public~1swap~1chains/get Retrieves a list of supported swap chains. This endpoint is useful for understanding the available options for performing swaps. ```APIDOC ## GET /public/swap/chains ### Description Retrieves a list of supported swap chains. ### Method GET ### Endpoint /public/swap/chains ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **chains** (array) - A list of supported swap chain objects. - **id** (string) - The unique identifier for the swap chain. - **name** (string) - The human-readable name of the swap chain. - **network** (string) - The blockchain network associated with the swap chain. - **nativeCurrency** (object) - Information about the native currency of the network. - **symbol** (string) - The symbol of the native currency. - **decimals** (integer) - The number of decimal places for the native currency. - **explorerUrl** (string) - The URL for the blockchain explorer of the network. #### Response Example ```json { "chains": [ { "id": "ethereum-mainnet", "name": "Ethereum Mainnet", "network": "ETH", "nativeCurrency": { "symbol": "ETH", "decimals": 18 }, "explorerUrl": "https://etherscan.io" }, { "id": "polygon-mainnet", "name": "Polygon Mainnet", "network": "MATIC", "nativeCurrency": { "symbol": "MATIC", "decimals": 18 }, "explorerUrl": "https://polygonscan.com" } ] } ``` ``` -------------------------------- ### Get Status Source: https://docs.unstoppabledomains.com/apis/resolution/openapi/status Retrieves the current operational status of the Unstoppable Domains API. ```APIDOC ## GET /status ### Description Retrieves the current operational status of the Unstoppable Domains API. ### Method GET ### Endpoint /status ### Parameters #### Path Parameters None #### Query Parameters None ### Request Example None ### Response #### Success Response (200) - **status** (string) - The current status of the API (e.g., "ok", "degraded", "maintenance"). #### Response Example { "status": "ok" } ``` -------------------------------- ### GET /account/webhooks/{id} Source: https://docs.unstoppabledomains.com/apis/reseller/openapi/account/getwebhook Retrieve details of a specific webhook subscription by ID. ```APIDOC ## GET /account/webhooks/{id} ### Description Retrieve details of a specific webhook subscription by ID. ### Method GET ### Endpoint /account/webhooks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - Webhook ID (format: wh-) Example: "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890" ### Response #### Success Response (200) - **@type** (string) - Required - Enum: "unstoppabledomains.com/partner.v3.Webhook" - **id** (string) - Required - Webhook ID Example: "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890" - **url** (string) - Required - **type** (object) - Required #### Response Example ```json { "@type": "unstoppabledomains.com/partner.v3.Webhook", "id": "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890", "url": "https://example.com/webhook", "type": {} } ``` ``` -------------------------------- ### POST /push/group/join Source: https://docs.unstoppabledomains.com/apis/messaging-v1/openapi/communities Requests to join a token-gated community for a given wallet address. The request is granted if the token gating requirements are satisfied. ```APIDOC ## POST /push/group/join ### Description Requests to join a token-gated community for a given wallet address. The request is granted if the token gating requirements are satisfied. ### Method POST ### Endpoint /push/group/join ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **group_id** (string) - Required - The ID of the group to join. - **wallet_address** (string) - Required - The wallet address of the user requesting to join. ### Request Example ```json { "group_id": "group_id_to_join", "wallet_address": "0x123...abc" } ``` ### Response #### Success Response (200 OK) - **message** (string) - A message indicating the result of the join request. #### Response Example ```json { "message": "Successfully joined the group." } ``` ``` -------------------------------- ### GET /public/swap/tokens - List Supported Tokens for a Chain Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/swap-endpoints Retrieves a list of tokens that are supported for swaps on a specified blockchain chain. ```APIDOC ## GET /public/swap/tokens ### Description Retrieves supported tokens for a specified chain. ### Method GET ### Endpoint /public/swap/tokens ### Parameters #### Query Parameters - **chainId** (string) - Required - The chain ID for which to retrieve supported tokens. - **network** (string) - Optional - Filter tokens by network type (e.g., 'mainnet', 'testnet'). ### Request Example ```json { "example": "GET /public/swap/tokens?chainId=1" } ``` ### Response #### Success Response (200) - **tokens** (array) - A list of supported token objects for the specified chain. - **chainId** (string) - The chain ID the token is on. - **address** (string) - The contract address of the token. - **symbol** (string) - The symbol of the token (e.g., 'USDC', 'DAI'). - **decimals** (number) - The number of decimals for the token. - **logoURI** (string) - URL to a logo of the token. - **name** (string) - The full name of the token. - **wrappedToken** (object) - Details of the wrapped version of the token, if applicable. - **address** (string) - The contract address of the wrapped token. #### Response Example ```json { "example": [ { "chainId": "1", "address": "0xA0b86991c6218b36c1d13418da77708607521053", "symbol": "USDC", "decimals": 6, "logoURI": "https://.../usdc.png", "name": "USD Coin", "wrappedToken": null }, { "chainId": "1", "address": "0x6B175474E89094C44A973A6718418277C5291758", "symbol": "DAI", "decimals": 18, "logoURI": "https://.../dai.png", "name": "Dai Stablecoin", "wrappedToken": null } ] } ``` ``` -------------------------------- ### GET /search Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/search-endpoints/paths/~1search/get Retrieves a list of domains that match the specified query parameters. ```APIDOC ## GET /search ### Description Retrieves a list of domains that match the query. ### Method GET ### Endpoint /search ### Parameters #### Query Parameters - **name** (string) - Optional - Search by domain name. Example: "matt" - **profile-required** (boolean) - Optional - Whether domains need to have a profile configured. - **reverse-resolution-required** (boolean) - Optional - Whether domains need to have reverse resolution configured. ### Response #### Success Response (200) - **address** (string) - Wallet address that owns the domain. Example: "7.917046959778566e+47" - **name** (string) - The domain name. Example: "brad.crypto" - **avatarUrl** (string) - Path to the profile image. Example: "https://api.unstoppabledomains.com/metadata/image-src/brad.crypto?withOverlay=false&ref=1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317" - **imageUrl** (string) - Direct path to profile image metadata URL, if available. Example: "https://path.to/image" - **imageType** (string) - Defines the type of image represented by the URL - default, onChain, offChain. Example: "onChain" - **imagePath** (string) - Path to the profile image. Example: "https://api.unstoppabledomains.com/metadata/image-src/brad.crypto?withOverlay=false&ref=1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317" - **linkUrl** (string) - Link to the domain resource. Example: "https://ud.me/brad.crypto" - **ownerAddress** (string) - Wallet address that owns the domain. Example: "7.917046959778566e+47" - **market** (object) - Market availability info. - **market.price** (number) - Price of the domain in cents. Example: 1000 - **market.location** (string) - Market type (primary or secondary). Example: "primary" #### Response Example ```json { "address": "7.917046959778566e+47", "name": "brad.crypto", "avatarUrl": "https://api.unstoppabledomains.com/metadata/image-src/brad.crypto?withOverlay=false&ref=1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317", "imageUrl": "https://path.to/image", "imageType": "onChain", "imagePath": "https://api.unstoppabledomains.com/metadata/image-src/brad.crypto?withOverlay=false&ref=1/erc1155:0xc7e5e9434f4a71e6db978bd65b4d61d3593e5f27/14317", "linkUrl": "https://ud.me/brad.crypto", "ownerAddress": "7.917046959778566e+47", "market": { "price": 1000, "location": "primary" } } ``` ``` -------------------------------- ### GET /followers/{domain} Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/follower-endpoints Returns a list of followers or following for a specified domain. ```APIDOC ## GET /followers/{domain} ### Description Returns a list of followers or following for a domain. You can specify whether to retrieve followers or domains being followed. ### Method GET ### Endpoint /followers/{domain} ### Parameters #### Path Parameters - **domain** (string) - Required - The domain for which to retrieve the list. #### Query Parameters - **list_type** (string) - Optional - Specifies whether to retrieve 'followers' or 'following'. Defaults to 'followers'. ### Request Example (No request body for GET request) ### Response #### Success Response (200) - **domains** (array of strings) - A list of domain names. #### Response Example ```json { "domains": [ "domain1.com", "domain2.eth" ] } ``` ``` -------------------------------- ### POST /user/{address}/wallet/simulate Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/wallet-data-endpoints/paths/~1user~1%7Baddress%7D~1wallet~1simulate/post Simulates a wallet transaction for a given address. Requires JWT authentication. ```APIDOC ## POST /user/{address}/wallet/simulate ### Description Simulate a wallet transaction. Authentication with an API key is required. ### Method POST ### Endpoint /user/{address}/wallet/simulate ### Parameters #### Path Parameters - **address** (string) - Required - The address to simulate a transaction. Supported addresses include EVM or Solana. #### Header Parameters - **Authorization** (string) - Required - The JWT access token that authorizes the request. Example: "my-jwt-access-token" #### Request Body - **serializedTx** (string) - Optional - Serialized transaction request. Example: "291" ### Request Example ```json { "serializedTx": "291" } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates transaction success. - **logs** (array) - Transaction logs. - **results** (object) - Transaction results. - **results.delta** (number) - Estimated token balance change as a result of transaction. - **results.metadata** (object) - Metadata about the transaction. - **results.metadata.tokenName** (string) - Name of the token. - **results.metadata.tokenSymbol** (string) - Symbol of the token. - **results.metadata.tokenLogo** (string) - Logo of the token. - **errorMessage** (string) - Error message associated with transaction. #### Response Example (200) ```json { "success": true, "logs": ["Log entry 1"], "results": { "delta": -1, "metadata": { "tokenName": "USD Coin", "tokenSymbol": "USDC", "tokenLogo": "https://path.to/logo.png" } }, "errorMessage": "An error message" } ``` #### Error Responses - **400**: Bad Request - **404**: Not Found ``` -------------------------------- ### GET /badges/rankings/sponsors Source: https://docs.unstoppabledomains.com/apis/profile-v1/openapi/badge-endpoints Retrieves a list of sponsors, ordered by the number of badges they sponsor. ```APIDOC ## GET /badges/rankings/sponsors ### Description Generates a list of sponsors ordered by largest number of sponsored badges. ### Method GET ### Endpoint /badges/rankings/sponsors ### Response #### Success Response (200) - **sponsor_rankings** (array) - A list of sponsors and their sponsored badge counts, ordered by sponsorship volume. ```