- Explains the NFT standard on TON (TEP-62, TEP-64) and key features for ownership and metadata.
- Demonstrates how to set up, compile, and deploy both NFT item and collection contracts.
- Shows how to interact with these contracts via Blueprint wrappers and test them using Sandbox.
- Provides a starting reference to extend NFT functionality on the TON blockchain.
Main article
In this tutorial, we will discuss the standard implementation of non-fungible tokens (NFTs) on the TON blockchain and walk through the development steps using the Blueprint environment and Sandbox.Run nodes on Chainstack
Start for free and get your app to production levels immediately. No credit card required. You can sign up with your GitHub, X, Google, or Microsoft account.Introduction
To develop NFTs on the TON blockchain, it’s essential to understand the standards that define their structure and behavior. The two key standards are:- TEP-62: NFT standard describes the interface and functionality of NFT smart contracts on TON. It specifies how NFTs are created, transferred, and managed.
- TEP-64: Token data standard defines how metadata associated with tokens (both fungible and non-fungible) is stored and retrieved. It ensures a consistent format for token metadata, whether stored on-chain or off-chain.
Development
Setting up project
First, ensure that you have Node.js and npm installed on your system. You can verify the installation by running:blueprint.config.ts
in the root of your project directory and add the following content:
Contracts
We’ll use the reference implementations of the NFT standard provided by the TON core team. To your project’s contracts directory, copy the following files:nft-item.fc
is the smart contract for individual NFT items.nft-collection.fc
is the smart contract for the NFT collection.op-codes.fc
,params.fc
are utility files that contain common functions and definitions used by the contracts.
nft-item.fc
and nft-collection.fc
, include:
op-codes.fc
:
wrappers
directory, create compile configuration files for each contract. For the NFT item contract, create NFTItem.compile.ts
:
NFTCollection.compile.ts
:
stdlib.fc
in the imports
folder with the one from the reference implementation.
Wrappers
To interact with our smart contracts in tests, we’ll create TypeScript wrappers that implement the contract interfaces. In the wrappers directory, createNFTItem.ts
and NFTCollection.ts
.
NFTConstants.ts
NFTCollection.ts
NFTItem.ts
Tests
The Blueprint framework incorporates Sandbox. The package allows developers to emulate TON smart contracts behaviour as if they were deployed on a real network. Please copy the tests from our repository.NFTCollection.spec.ts
Conclusion
We covered the the non-fungible token standard on the TON blockchain and its main development steps using Blueprint and Sandbox. In future tutorials, we will explore other aspects of NFT. Stay tuned!About the author

Anton Sauchyk
Developer Advocate @ ChainstackMultiple years of software development and Web3 expertise. Creator of the open-source Compare Dashboard for RPC provider performance benchmarking. Core contributor to the DevEx team’s pump.fun trading bot. Author of technical tutorials on EVM blockchains, Solana, TON and Subgraphs.