For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
DocsAPI Reference
DocsAPI Reference
    • What is Transak
  • Features
    • Auth Reliance
    • KYC Reliance using Sumsub
    • Webhooks
    • WebSockets
  • Products Overview
    • On Ramp
    • Off Ramp
    • NFT Checkout
  • Integration Options
    • API
  • Customization Options
    • Query Parameters
    • Customizing theme using query parameters
  • Guides
    • How To Create a Partner Dashboard Account
    • How to Add Partner Fees and Set Up Partner Payouts
    • How to Test using Sandbox Credentials
    • How to Test ACH Pull Transaction in Sandbox
    • How to Test Apple Pay in Sandbox
    • How to Track Order Status
    • Transak Different KYC Levels
    • How to Submit FCA Requirements
    • How to Use Advanced Query Params
    • How to Create a Widget URL with Parameters and Test Different Scenarios
    • How to Generate Calldata for NFT Checkout
    • How to Add NFT Smart Contract in the Dashboard and Create a contractId
    • Get Price based on User Region
    • How to Create Partner Access Token
    • How to Decrypt the Webhook Payload
    • How to add MCP Server for Transak Documentation
    • Widget with API Customization
    • Integration Update - Mandatory Migration to API based Transak Widget URL
    • Biconomy: Simplified Onboarding Using MEE-Compatible Smart Accounts
    • Partner FAQs
    • Need Help?
Dashboard
LogoLogo
On this page
  • What is contractId?
  • Prerequisites
  • Step 1: Open NFT Checkout in the Dashboard
  • Step 2: Add your custom smart contract
  • Step 3: Wait for contract approval
  • Step 4: Copy the generated contractId
  • Step 5: Generate calldata for your contract
  • Step 6: Use contractId in Create Widget URL
Guides

How to Add a NFT Smart Contract in the Dashboard and Create a contractId

Submit your NFT smart contract for review and generate a contractId to use with NFT Checkout
||View as Markdown|
Was this page helpful?
Edit this page
Previous

How to Generate Calldata for NFT Checkout

Next

Get Price Based on User Region

Built with

Use this guide to add your NFT smart contract in the Transak Dashboard and generate a contractId for NFT Checkout.

What is contractId?

contractId is a unique identifier for your approved smart contract. You must pass this value when creating an NFT Checkout widget session.

contractId
stringRequired

Unique identifier for your whitelisted smart contract address and network combination.

Prerequisites

  • Access to the Transak Partner Dashboard
  • The target smart contract address
  • The target EVM network
  • The contract ABI for calldata generation

NFT Checkout supports custom smart contracts on EVM-compatible chains. For production approval, Transak may review your contract and audit details before allowing it to be used live.

Step 1: Open NFT Checkout in the Dashboard

1

Log in to the dashboard

Go to dashboard.transak.com and sign in.

Dashboard
2

Select the correct environment

Choose Staging or Production from the environment selector.

Environment
3

Open NFT Checkout

Go to the Products section and open NFT Checkout.

NFT Checkout

Step 2: Add your custom smart contract

Submit the required contract details in the dashboard.

  • Smart contract address
  • Network / chain
  • Collection or project details
  • Any supporting metadata requested by the dashboard flow

For production, keep your contract verification and audit documentation ready if requested during review.

Screenshot 2026-05-18 at 1.54.34 PM

Step 3: Wait for contract approval

The contract must be whitelisted before it can be used in NFT Checkout.

EnvironmentExpected behavior
StagingUsed for testing and faster validation
ProductionSubject to Transak review before live use

If possible, verify the contract on the relevant block explorer before requesting production approval. This generally makes review easier.

Step 4: Copy the generated contractId

Once the contract is approved in the dashboard, Transak generates a contractId for that contract and network pair.

Save this value because you will need it in your widget session payload.

Step 5: Generate calldata for your contract

contractId is required, but it is not enough by itself. NFT Checkout also requires calldata.

Use the dedicated guide for this part:

  • How to Generate Calldata for NFT Checkout

Important rules:

  • Encode calldata from the ABI of the implementation contract if you use a proxy
  • If your function accepts to, recipient, or buyer, use Transak’s NFT Checkout smart contract address for that chain instead of the end user’s wallet address

Step 6: Use contractId in Create Widget URL

Pass contractId inside widgetParams together with the other NFT Checkout fields.

$curl --request POST \
> --url https://api-gateway-stg.transak.com/api/v2/auth/session \
> --header 'accept: application/json' \
> --header 'access-token: YOUR_ACCESS_TOKEN' \
> --header 'content-type: application/json' \
> --data '{
> "widgetParams": {
> "apiKey": "YOUR_API_KEY",
> "referrerDomain": "yourdomain.com",
> "walletAddress": "USER_WALLET_ADDRESS",
> "isNFT": true,
> "contractId": "YOUR_CONTRACT_ID",
> "cryptoCurrencyCode": "ETH",
> "estimatedGasLimit": 250000,
> "calldata": "0x...",
> "nftData": [
> {
> "imageURL": "https://example.com/nft.png",
> "nftName": "My NFT",
> "collectionAddress": "0x8a20e9e8e736643161ce6a2fe8dd8dd62050cd1e",
> "tokenID": ["1"],
> "price": [0.05],
> "quantity": 1,
> "nftType": "ERC721"
> }
> ]
> }
>}'