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

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#/

get

Provides search, combining availability information and pricing, both in native token and USD.

Authorizations
Query parameters
limitany · min: 1 · max: 100Optional

Number of records to return for pagination.

Default: 25
skipanyOptional

Number of records to skip for pagination.

Default: 0
tldstringOptional

Top-level domain (TLD) of the name token to search for (comma separated list). Leave empty to search all available TLDs.

Example: com
sldstringRequired

Second-level domain (SLD) of the name token to search for (comma separated list)

Example: example
Responses
200Success
application/json
get
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"
    }
  ]
}

Get name recommendations

get

Returns name recommendations based on the provided SLDs and TLDs

Authorizations
Query parameters
tldstringOptional

Top-level domain (TLD) of the name token to recommend (comma separated list). Leave empty to recommend all available TLDs.

Example: com
sldstringRequired

Second-level domain (SLD) of the name token to recommend (comma separated list). Maximum of 5 SLDs allowed.

Example: example
Responses
200
Successful name recommendations
application/json
get
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"
  }
]

Mint a name token

post

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.

Authorizations
Body
sldstringRequired

Second-level domain (SLD) of the name to mint.

Example: example
tldstringRequired

Top-level domain (TLD) of the name to mint.

Example: com
userall ofRequired

User information required to mint the name.

Responses
202Success
application/json
post
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": "partner@d3.email"
  }
}
{
  "tokenId": "20719405654568256184282804044567699961418926341258048728655171573148113774124",
  "contractAddress": "0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8",
  "chainId": "1"
}

Get supported payment methods for name tokens

get

Returns the supported payment options (contract and token addresses) for the provided TLDs.

Authorizations
Query parameters
tldstringOptional

Top-level domain (TLD) of the name token to fetch payment options (comma separated list). Leave empty to fetch for all available TLDs.

Example: com
Responses
200
Returns payment options for name tokens.
application/json
get
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"
    }
  ]
}

Create a partner order for name token purchase

post

Creates a new order for name token purchase. The response includes a payment voucher and details necessary to complete the purchase.

Authorizations
Body
paymentOptionsall ofRequired

The payment options for the transaction

Responses
201
The order has been successfully created.
application/json
post
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"
}

Get name token metadata

get

Returns metadata and registration status of a name token.

Authorizations
Path parameters
tldanyRequired

Top-level domain (TLD) of the name token.

Example: com
sldanyRequired

Second-level domain (SLD) of the name token.

Example: example
Responses
200Success
application/json
get
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"
}

Get name token metadata by token ID

get

Returns metadata of a name token by token ID.

Authorizations
Path parameters
chainIdstringRequired

Chain ID of the blockchain network.

Example: 1
contractAddressstringRequired

NFT Smart Contract address.

Example: 0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8
tokenIdstringRequired

Minted Token ID.

Example: 20719405654568256184282804044567699961418926341258048728655171573148113774124
Responses
200Success
application/json
get
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"
}

Get name token metadata by multiple token IDs at once

post

Returns metadata of multiple name tokens by their token IDs.

Authorizations
Path parameters
chainIdstringRequired

Chain ID of the blockchain network.

Example: 1
contractAddressstringRequired

NFT Smart Contract address.

Example: 0x4F3775dfd49db0BBcd47eB6f45CEb6E6E9e15CD8
Body
tokenIdsstring[]Required

List of token ids to lookup for

Responses
200Success
application/json
post
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"
  }
]

Get name tokens for a wallet address

get

Returns registered name tokens for a wallet address

Authorizations
Path parameters
addressanyRequired

Wallet address.

Example: 0x2E7cC63800e77BB8c662c45Ef33D1cCc23861532
addressTypestring · enumRequired

Wallet address type.

Example: EVMPossible values:
Query parameters
limitany · min: 1 · max: 100Optional

Number of records to return for pagination.

Default: 25Example: 100
skipanyOptional

Number of records to skip for pagination.

Default: 0Example: 0
Responses
200Success
application/json
get
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