Resolution Service (1.0.0)

The Resolution Service provides APIs for resolving domain metadata and records from multiple blockchain and naming services. The service currently supports the following naming services:

  • Unstoppable Domain's UNS and CNS with TLDs: .x, .polygon, .nft, .crypto, .blockchain, .bitcoin, .dao, .888, .wallet, .binanceus, .hi, .klever, .kresus, .anime, .manga, .go, .zil

  • Unstoppable Domain's Zilliqa with TLDs: zil

  • Ethereum Naming Service - ENS with TLDs: .eth



The service caches blockchain events in a database for easy retrieval without accessing any blockchain APIs. With the Resolution Service API, you can quickly build applications directly communicating with the blockchain to get UD domain data with a single API request.

Note: public endpoints for metadata and images have rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Domains

Get domain

Get Records for a Domain
Note: The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.

SecurityapiKeyAuth
Request
path Parameters
domainName
required
string[^\/#\?]+?

A domain name registered by Unstoppable Domains

Responses
200
get/domains/{domainName}
Request samples
Response samples
application/json
{
  • "meta": {
    },
  • "records": { }
}

Get domains list

Get Records for Multiple Domains

The API only supports Unstoppable Domains' naming services for backward compatibility. A new API version is coming soon for other naming services

  • Unstoppable Domain's UNS and CNS with TLDs: .x, .polygon, .nft, .crypto, .blockchain, .bitcoin, .dao, .888, .wallet, .binanceus, .hi, .klever, .kresus, .anime, .manga, .go, .zil

  • Unstoppable Domain's Zilliqa with TLDs: zil


**Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.
SecurityapiKeyAuth
Request
query Parameters
resolution
any

See this list for all the resolution keys supported

object

Wallet addresses of the owners of domains

tlds
any

Domain ending supported such as crypto, x, or polygon. See supported tlds for the full list

sortBy
string

Sort key to specify how the returned domain list is sorted

Enum: "id" "name" "created_at"
sortDirection
string

Sort order of the returned domain list

Enum: "ASC" "DESC"
startingAfter
string [ 1 .. 200 ]

Query offset to skip a number of record, example: 100

perPage
number

Number of domains returned in the list, example: 50

Responses
200

Successful response

get/domains
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "meta": { }
}

Get domains last transfer

Get Domain Transfer Events
Note: The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.

SecurityapiKeyAuth
Request
path Parameters
domainName
required
string[^\/#\?]+?

A domain name registered by Unstoppable Domains

Responses
200

Successful response

get/domains/{domainName}/transfers/latest
Request samples
Response samples
application/json
{
  • "data": [
    ]
}

Get domains records

Get Records for Multiple Domains
It's recommended to use this API on different naming services as they support different record keys

  • Unstoppable Domain's UNS and CNS with TLDs: .x, .polygon, .nft, .crypto, .blockchain, .bitcoin, .dao, .888, .wallet, .binanceus, .hi, .klever, .kresus, .anime, .manga, .go, .zil
    See this list for all the resolution keys supported

  • Ethereum Naming Service - ENS with TLDs: .eth
    See Ens' document for all the resolution keys supported


Note: The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.

SecurityapiKeyAuth
Request
query Parameters
required
object <= 50 items

Domain names registered by Unstoppable Domains. At least 1 domain must be passed in

key
string

Filtered resolution key. See above to see the supported keys on different naming services

Responses
200

Successful response

get/records
Request samples
Response samples
application/json
{
  • "data": [
    ]
}

Meta Data

Get dead data

This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?
Responses
200
get/deaddata/{domainOrToken}
Request samples

Head meta data

This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?
Responses
200
head/metadata/{domainOrToken}
Request samples

Get meta data

Get Metadata for a Domain
This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?

A domain name or the eip137 namehash of a domain registered by Unstoppable Domains

Responses
200
get/metadata/{domainOrToken}
Request samples

Head image

This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?
query Parameters
withOverlay
boolean
theme
string
Enum: "light" "dark"
Responses
200
head/image/{domainOrToken}
Request samples

Get image

Get Domain SVG Image
This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?

A domain name or the eip137 namehash of a domain registered by Unstoppable Domains

query Parameters
withOverlay
boolean
theme
string
Enum: "light" "dark"
Responses
200
get/image/{domainOrToken}
Request samples

Get image src

Get Domain Image Source
This API has rate limit per IP address which is sufficient client applications. If you would like a higher limit rate for a backend system, please send a request to partnerengineering@unstoppabledomains.com to acquire an API token.

Request
path Parameters
domainOrToken
required
string[^\/#\?]+?

A domain name or the eip137 namehash of a domain registered by Unstoppable Domains

query Parameters
withOverlay
boolean
theme
string
Enum: "light" "dark"
Responses
200

Successful response

get/image-src/{domainOrToken}
Request samples

Reverse

Get reverse

Get Reverse Record for an Address
Note: The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.

SecurityapiKeyAuth
Request
path Parameters
address
required
string[^\/#\?]+?

A wallet address to query for reverse record

Responses
200
get/reverse/{address}
Request samples
Response samples
application/json
{
  • "meta": {
    },
  • "records": { }
}

Get reverses

Get Records for Multiple Domains

The API only supports Unstoppable Domains' naming services for backward compatibility. A new API version is coming soon for other naming services

  • Unstoppable Domain's UNS and CNS with TLDs: .x, .polygon, .nft, .crypto, .blockchain, .bitcoin, .dao, .888, .wallet, .binanceus, .hi, .klever, .kresus, .anime, .manga, .go, .zil

  • Unstoppable Domain's Zilliqa with TLDs: zil


**Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.
SecurityapiKeyAuth
Request
query Parameters
object

See this list for all the resolution keys supported

object

Wallet addresses of the owners of domains

object

Domain ending supported such as crypto, x, or polygon. See supported tlds for the full list

sortBy
string

Sort key to specify how the returned domain list is sorted

sortDirection
string

Sort order of the returned domain list

startingAfter
string

Query offset to skip a number of record, example: 100

perPage
number

Number of domains returned in the list, example: 50

Request Body schema: application/json

BulkReverseQueryParams

addresses
required
Array of strings [ 1 .. 1000 ] items unique
Responses
200
post/reverse/query
Request samples
application/json
{
  • "addresses": [
    ]
}
Response samples
application/json
{
  • "data": [
    ]
}

Rpc Proxy

Proxy eth

Ethereum RPC provider to interact with Unstoppable Domain Smart Contract
This endpoint is meant to be use by Unstoppable Domains's SDKs to query directly onchain data

SecurityapiKeyAuth
Request
Request Body schema: application/json
any
Responses
200
post/chains/eth/rpc
Request samples
application/json
null
Response samples
application/json
{
  • "jsonrpc": "string",
  • "id": 0,
  • "data": "string",
  • "error": "string"
}

Proxy pol

Polygon RPC provider to interact with Unstoppable Domain Smart Contract
This endpoint is meant to be use by Unstoppable Domains's SDKs to query directly onchain data

SecurityapiKeyAuth
Request
Request Body schema: application/json
any
Responses
200
post/chains/matic/rpc
Request samples
application/json
null
Response samples
application/json
{
  • "jsonrpc": "string",
  • "id": 0,
  • "data": "string",
  • "error": "string"
}

Status

Head root

Responses
200

Successful response

head/
Request samples

Get root

Responses
200

Successful response

get/
Request samples

Get status

Responses
200
get/status
Request samples
Response samples
application/json
{
  • "blockchain": {
    }
}

Liveness check

Responses
200

Successful response

get/liveness_check
Request samples

Readiness check

Responses
200

Successful response

get/readiness_check
Request samples

List supported tlds

Responses
200

Successful response

get/supported_tlds
Request samples

Owner

Get domain

Get Domains by Address
Note: The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.

SecurityapiKeyAuth
Request
path Parameters
address
required
string[^\/#\?]+?
query Parameters
cursor
any
Responses
200

Successful response

get/owners/{address}/domains
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "next": "/owners/0x8aad44321a86b170879d7a244c1e8d360c99dda8/domains?cursor=123"
}