---
updatedAt: 2026-05-27T08:48:31.000Z
agentTools:
  projectIndex: https://docs.tatum.io/llms.txt
---

# Get the address of an NFT smart contract by its transaction hash

<p style="display: none">/v3/nft/address/{chain}/{hash}</p>
<p><p>This endpoint is deprecated. Do not use it.<br/>
Instead, use <a href="https://apidoc.tatum.io/tag/Blockchain-utils#operation/SCGetContractAddress" target="_blank">this API</a>.</b></p><br/>
<p><b>1 credit per API call</b></p>
<p>Get NFT contract address from deploy transaction.</p>
<p>This API is supported for the following blockchains:</p>
<ul>
<li>Algorand</li>
<li>BNB Smart Chain</li>
<li>Celo</li>
<li>Ethereum</li>
<li>Harmony</li>
<li>Klaytn</li>
<li>KuCoin Community Chain</li>
<li>Polygon</li>
<li>TRON</li>
<li>Flare</li>
<li>Cronos</li>
<li>Base</li>
<li>Avalanche</li>
<li>Fantom</li>
<li>Optimism</li>
</ul>


# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://api.tatum.io"
    }
  ],
  "info": {
    "version": "1.0.1",
    "title": "SMART CONTRACTS"
  },
  "tags": [
    {
      "description": "<p>\"NFT\" stands for \"Non-Fungible Token\", which means that each token is unique and irreplaceable. NFTs are described by the ERC-721 standard on the Ethereum blockchain or by the equivalent standard on the other blockchains.</p>\n<p>NFTs can be used for nearly any digital asset or good to ensure authenticity and scarcity, for example:<p>\n<ul>\n<li><b>In-game assets:</b> NFTs can be used to create unique collectibles in the form of characters, weapons, skins, or other equipment. Players can resell or trade assets directly as they choose, and their authenticity is easily verifiable.</li>\n<li><b>Music and other digital media:</b> NFTs can be used to create rare and unique collectible digital releases. Similarly, NFTs can be used to sell videos, art, or any other type of digital media. Collectors can own digital originals of their favorite songs, movies, and so on.</li>\n<li><b>Digital sports merchandise:</b> Trading cards, memorabilia, classic moments in sports history, and one-of-a-kind experiences can be sold as NFTs.</li>\n</ul>\n<p>Each NFT-related API its own set of the blockchains. The list of the supported blockchains is provided in the API description further in this section.</p>\n",
      "name": "NFT (ERC-721 or compatible)"
    }
  ],
  "paths": {
    "/v3/nft/address/{chain}/{hash}": {
      "get": {
        "description": "<p style=\"display: none\">/v3/nft/address/{chain}/{hash}</p>\n<p><p>This endpoint is deprecated. Do not use it.<br/>\nInstead, use <a href=\"https://apidoc.tatum.io/tag/Blockchain-utils#operation/SCGetContractAddress\" target=\"_blank\">this API</a>.</b></p><br/>\n<p><b>1 credit per API call</b></p>\n<p>Get NFT contract address from deploy transaction.</p>\n<p>This API is supported for the following blockchains:</p>\n<ul>\n<li>Algorand</li>\n<li>BNB Smart Chain</li>\n<li>Celo</li>\n<li>Ethereum</li>\n<li>Harmony</li>\n<li>Klaytn</li>\n<li>KuCoin Community Chain</li>\n<li>Polygon</li>\n<li>TRON</li>\n<li>Flare</li>\n<li>Cronos</li>\n<li>Base</li>\n<li>Avalanche</li>\n<li>Fantom</li>\n<li>Optimism</li>\n</ul>\n",
        "deprecated": true,
        "operationId": "NftGetContractAddress",
        "parameters": [
          {
            "description": "The blockchain to work with",
            "in": "path",
            "name": "chain",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ALGO",
                "ETH",
                "ONE",
                "KLAY",
                "CELO",
                "TRON",
                "MATIC",
                "KCS",
                "BSC",
                "FLR",
                "CRO",
                "BASE",
                "AVAX",
                "FTM",
                "OPTIMISM"
              ]
            }
          },
          {
            "description": "Transaction hash",
            "in": "path",
            "name": "hash",
            "required": true,
            "schema": {
              "type": "string",
              "example": "0xe6e7340394958674cdf8606936d292f565e4ecc476aaa8b258ec8a141f7c75d7"
            }
          },
          {
            "description": "Type of Ethereum testnet. Defaults to Sepolia. Valid only for ETH invocations for testnet API Key. For mainnet API Key, this value is ignored.",
            "in": "header",
            "name": "x-testnet-type",
            "required": false,
            "schema": {
              "default": "ethereum-sepolia",
              "type": "string",
              "enum": [
                "ethereum-sepolia"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contractAddress": {
                      "type": "string",
                      "description": "Address of the NFT token.",
                      "example": "0xc21C81ef03f98898Fb155E00C364e8a7b9D158b8"
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "description": "Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403TxNotFound"
                }
              }
            }
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "X-API-Key": []
          }
        ],
        "x-codeSamples": [],
        "summary": "Get the address of an NFT smart contract by its transaction hash",
        "tags": [
          "NFT (ERC-721 or compatible)"
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "X-API-Key": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header",
        "description": "Your **API key** is used to identify your account & your plan, including the number of API calls per second and total monthly calls you have.\n\nEach key is for individual use only.\n\nIf you don't have a key already you can [Sign up for a Free Tatum account](https://co.tatum.io/signup) to get two keys (testnet and mainnet), allowing up to 5 API calls per second and 1,000,000 Credits.\n\nFor testing purposes, you can use the following key which only works inside docs and has limited functionality (e.g. you cannot create virtual accounts or notification subscriptions with it):\n* t-66a730ccccfd17001c479705-2f597d14ad7543f289a03418\n\nFor more details on limits and plans, [click here](https://docs.tatum.io/docs/plans-limits).\n"
      }
    },
    "responses": {
      "Error400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": "validation.failed",
                  "description": "validation.failed",
                  "type": "string"
                },
                "message": {
                  "example": "Request validation failed. Please see data for additional information.",
                  "description": "Request validation failed. Please see data for additional information.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 400,
                  "description": "400",
                  "type": "number"
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "target"
                    ],
                    "properties": {
                      "target": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Request object present in the body of the HTTP request",
                        "example": {
                          "property": 12345
                        }
                      },
                      "value": {
                        "type": "number",
                        "description": "Value of the target object which validation is wrong. Can be of any data type, example here is using type number.",
                        "example": 12345
                      },
                      "property": {
                        "type": "string",
                        "description": "Property name of the target object which validation is wrong",
                        "example": "property1"
                      },
                      "constraints": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Object of failed constraints for the target object. Key is the constraint, value is detailed description of the failed constraint.",
                        "example": {
                          "min": "property1 must not be less than 50000"
                        }
                      }
                    }
                  }
                }
              },
              "required": [
                "errorCode",
                "message",
                "statusCode",
                "data"
              ],
              "type": "object"
            }
          }
        }
      },
      "Error401": {
        "description": "Unauthorized. Not valid or inactive subscription key present in the HTTP Header.",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "properties": {
                    "errorCode": {
                      "example": "subscription.not.active",
                      "description": "subscription.not.active",
                      "type": "string"
                    },
                    "message": {
                      "example": "Subscription not active anymore.",
                      "description": "Subscription not active anymore.",
                      "type": "string"
                    },
                    "statusCode": {
                      "example": 401,
                      "description": "401",
                      "type": "number"
                    }
                  },
                  "required": [
                    "errorCode",
                    "message",
                    "statusCode"
                  ],
                  "type": "object"
                },
                {
                  "properties": {
                    "errorCode": {
                      "example": "subscription.invalid",
                      "description": "subscription.invalid",
                      "type": "string"
                    },
                    "message": {
                      "example": "Unable to find valid subscription for '${apiKey}'",
                      "description": "Unable to find valid subscription for '${apiKey}'",
                      "type": "string"
                    },
                    "statusCode": {
                      "example": 401,
                      "description": "401",
                      "type": "number"
                    }
                  },
                  "required": [
                    "errorCode",
                    "message",
                    "statusCode"
                  ],
                  "type": "object"
                }
              ]
            }
          }
        }
      },
      "Error500": {
        "description": "Internal server error. There was an error on the server during the processing of the request.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "message": {
                  "example": "Internal server error",
                  "description": "Internal server error",
                  "type": "string"
                },
                "statusCode": {
                  "example": 500,
                  "description": "500",
                  "type": "number"
                }
              },
              "required": [
                "statusCode",
                "message"
              ],
              "type": "object"
            }
          }
        }
      }
    },
    "schemas": {
      "Error403TxNotFound": {
        "properties": {
          "errorCode": {
            "description": "tx.missing",
            "example": "tx.missing",
            "type": "string"
          },
          "message": {
            "description": "No such tx.",
            "example": "No such tx.",
            "type": "string"
          },
          "statusCode": {
            "description": "403",
            "example": 403,
            "type": "number"
          }
        },
        "required": [
          "errorCode",
          "message",
          "statusCode"
        ],
        "type": "object"
      }
    }
  }
}
```