D3 API
D3 API Overview
D3 API allow for a fully custom integration of D3 features directly into your application. The API exposes an interface for interacting with Web3 Name Tokens on the D3 registry and allows searching, purchasing and minting, and more.
Getting Started
Sample Source Code (See our github repository for an example app built using our APIs)
Detailed Steps 👇
Sign up at D3 Developer Dashboard to get your own API keys today.
Swagger for these APIs can also be viewed at https://api-public.d3.app/swagger#/
Provides search, combining availability information and pricing, both in native token and USD.
Number of records to return for pagination.
25
Number of records to skip for pagination.
0
Top-level domain (TLD) of the name token to search for (comma separated list). Leave empty to search all available TLDs.
com
Second-level domain (SLD) of the name token to search for (comma separated list)
example
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing SEARCH permission.
GET /v1/partner/search?sld=example HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
{
"total": 100,
"pageItems": [
{
"sld": "example",
"tld": "com",
"status": "available",
"isListed": true,
"registrationExpiresAt": "2025-05-15T00:00:00.000Z",
"reservationExpiresAt": "2025-05-15T00:00:00.000Z",
"registryUsdPrice": "9.99",
"registryNativePrice": "1.23456",
"listNativePrice": "1.23456",
"listUsdPrice": "1.23456",
"nativeCurrency": "ETH",
"clickUrl": "https://d3.app/search?sld=example&product=example.com&partner=com&utm_source=developer&utm_medium=api",
"lockExpiresAt": "2025-05-15T00:00:00.000Z"
}
]
}
Returns name recommendations based on the provided SLDs and TLDs
Top-level domain (TLD) of the name token to recommend (comma separated list). Leave empty to recommend all available TLDs.
com
Second-level domain (SLD) of the name token to recommend (comma separated list). Maximum of 5 SLDs allowed.
example
Successful name recommendations
Invalid TLDs or other request issues
Forbidden. API Key is missing necessary permissions.
GET /v1/partner/recommendations?sld=text HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
[
{
"sld": "example",
"tld": "com",
"status": "available",
"isListed": true,
"registrationExpiresAt": "2025-05-15T00:00:00.000Z",
"reservationExpiresAt": "2025-05-15T00:00:00.000Z",
"usdPrice": "9.99",
"nativeAmount": "1.23456",
"nativeCurrency": "ETH",
"clickUrl": "https://d3.app/search?sld=example&product=example.com&partner=com&utm_source=developer&utm_medium=api",
"lockExpiresAt": "2025-05-15T00:00:00.000Z"
}
]
Accepts mint name request. Only allows minting of non-premium name tokens (requires NON_PREMIUM_MINT permission).Token is not minted immediately but is scheduled for minting. Mint status could be checked using token status endpoint.
Second-level domain (SLD) of the name to mint.
example
Top-level domain (TLD) of the name to mint.
com
User information required to mint the name.
Bad Request. Unable to mint the requested name token.
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing NON_PREMIUM_MINT permission.
Conflict. Name token is already minted.
POST /v1/partner/mint HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 119
{
"sld": "example",
"tld": "com",
"user": {
"wallet": "0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532",
"email": "[email protected]"
}
}
{
"tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
"contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"chainId": "1"
}
Returns the supported payment options (contract and token addresses) for the provided TLDs.
Top-level domain (TLD) of the name token to fetch payment options (comma separated list). Leave empty to fetch for all available TLDs.
com
Returns payment options for name tokens.
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing PURCHASE permission.
GET /v1/partner/payment/options HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
{
"options": [
{
"chainId": "1",
"chainName": "Ethereum",
"addressType": "EVM",
"contractAddress": "0x46A7bEA3dBb87522834c8b24FA14D051893deE8a",
"tokenAddress": "0x0000000000000000000000000000000000000000",
"symbol": "BTC",
"icon": "https://cdn.d3.app/assets/tokens/token_image_BTC.png",
"price": "0.3983550997142373"
}
]
}
Creates a new order for name token purchase. The response includes a payment voucher and details necessary to complete the purchase.
The payment options for the transaction
The order has been successfully created.
Bad Request. Some names are not available for purchase.
Forbidden. API Key is missing necessary permissions.
POST /v1/partner/order HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 280
{
"paymentOptions": {
"contractAddress": "0x46A7bEA3dBb87522834c8b24FA14D051893deE8a",
"tokenAddress": "0x0000000000000000000000000000000000000000",
"buyerAddress": "0x65d90DBa570408f8D512c91556d8E405acd99EE2"
},
"names": [
{
"sld": "example1",
"tld": "shib",
"autoRenew": false,
"domainLength": 1
}
]
}
{
"voucher": {
"buyer": "0x0FB3F00e792F17B7D45611932ac72FcD4cdFfE6E",
"token": "0x0000000000000000000000000000000000000000",
"amount": "23295578965024017037",
"voucherExpiration": 1727104758,
"paymentId": "47cbbdaa-0a3c-4e80-94e9-139415e86fdd",
"orderId": "3434-3675-5844-7264",
"names": [
{
"registry": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"label": "example",
"tld": "tst",
"expirationTime": 1758585600,
"owner": "0x0FB3F00e792F17B7D45611932ac72FcD4cdFfE6E",
"renewal": false
}
]
},
"signature": "0x57235cf3bc5d305cc1dc4b040ae3b1dd34ade899ecc97d33e2167346c05f217348f80012d8081bdfaeed3f02a81e12483fdf12afd6715f5c5c1f322c390defc61c"
}
Returns metadata and registration status of a name token.
Top-level domain (TLD) of the name token.
com
Second-level domain (SLD) of the name token.
example
Bad Request. Wrong SLD or TLD format.
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing NON_PREMIUM_MINT permission.
Not Found. Name token is not registered and mint is not in progress.
GET /v1/partner/token/{sld}/{tld} HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
{
"status": "registered",
"sld": "example",
"tld": "com",
"expirationDate": "2025-05-15T00:00:00.000Z",
"owner": "0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532",
"tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
"contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"chainId": "1",
"txHash": "2sXoUFPpgFXRKiAXYUWkwtAEQd46azUEFwoebcYQbN6s",
"imageURL": "https://cdn.d3.app/tokens/1234567890abcdf123467890.png"
}
Returns metadata of a name token by token ID.
Chain ID of the blockchain network.
1
NFT Smart Contract address.
0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8
Minted Token ID.
20719405654568256184282804044567699961418926341258048728655171573148113774124
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing SEARCH permission.
Not Found. Name token does not exist for this contract on this chain or contract not found.
GET /v1/partner/token/{chainId}/{contractAddress}/{tokenId} HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
{
"status": "registered",
"sld": "example",
"tld": "com",
"expirationDate": "2025-05-15T00:00:00.000Z",
"owner": "0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532",
"tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
"contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"chainId": "1",
"txHash": "2sXoUFPpgFXRKiAXYUWkwtAEQd46azUEFwoebcYQbN6s",
"imageURL": "https://cdn.d3.app/tokens/1234567890abcdf123467890.png"
}
Returns metadata of multiple name tokens by their token IDs.
Chain ID of the blockchain network.
1
NFT Smart Contract address.
0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8
List of token ids to lookup for
Bad Request. Wrong address or address type format.
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing SEARCH permission.
Not Found. Chain or Contract not found.
POST /v1/partner/tokens/{chainId}/{contractAddress} HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"tokenIds": [
"text"
]
}
[
{
"status": "registered",
"sld": "example",
"tld": "com",
"expirationDate": "2025-05-15T00:00:00.000Z",
"owner": "0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532",
"tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
"contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"chainId": "1",
"txHash": "2sXoUFPpgFXRKiAXYUWkwtAEQd46azUEFwoebcYQbN6s",
"imageURL": "https://cdn.d3.app/tokens/1234567890abcdf123467890.png"
}
]
Returns registered name tokens for a wallet address
Wallet address.
0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532
Wallet address type.
EVM
Possible values: Number of records to return for pagination.
25
Example: 100
Number of records to skip for pagination.
0
Example: 0
Bad Request. Wrong address or address type format.
Unauthorized. API Key is missing or invalid.
Forbidden. API Key is missing SEARCH permission.
GET /v1/partner/tokens/{addressType}/{address} HTTP/1.1
Host:
Api-Key: YOUR_API_KEY
Accept: */*
{
"total": 42,
"pageItems": [
{
"sld": "example",
"tld": "com",
"expirationDate": "2025-05-15T00:00:00.000Z",
"tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
"contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
"chainId": "1"
}
]
}
Last updated