- Demonstrates how to use TonWeb (JavaScript SDK) with a Chainstack endpoint to fetch Jetton metadata, user balances, and transaction histories on the TON blockchain.
- Shows step-by-step examples of requesting token data via TonWeb or HTTP, highlighting the modular approach for Jetton data, balance, and transfer queries.
- Emphasizes the difference between the minter contract (master) and wallet contracts, and how to verify or fetch wallet addresses and check balances.
- Provides working code snippets to integrate these concepts easily into your application.
Introduction
Jettons are the standard token implementation on the TON blockchain, analogous to ERC-20 tokens on Ethereum. They enable developers to create and manage custom tokens that can represent a variety of assets or utilities within decentralized applications. The standard for Jettons on TON is described in TEP64.Get you own node endpoint today
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.TON APIs
To interact with the TON blockchain, developers can use either HTTP APIs or the ADNL protocol. HTTP APIs are simpler and suitable for most applications, while ADNL offers advanced low-level network communication. Chainstack dedicated nodes provide ADNL support for advanced use cases requiring direct network layer interaction. The TON HTTP API has two versions: V2, which provides real-time data, and V3, which offers indexed blockchain data. In this tutorial, we will use TonWeb, which operates on the V2 JSON-RPC endpoint.Jettons on TON
Jettons are smart contracts on TON that follow a standard interface, allowing wallets and applications to interact with them uniformly. Each Jetton consists of:- Master (or minter) contract: the contract that manages the Jetton metadata and logic.
- Wallet contract: a contract for each user holding the Jetton, managing the user’s balance and transfers.
Prerequisites
- Node.js and npm installed.
- TonWeb installed.
- RPC endpoint from Chainstack.
Interactions
Fetching Jetton metadata
Fetching Jetton metadata allows you to retrieve essential information about a specific Jetton token. To achieve the same using HTTP requests, you can use the/getTokenData
endpoint of TON API v2.
Fetching user Jetton balance
To display a user’s Jetton balance, you need to query the blockchain for the amount of a specific Jetton that the user holds. The first example shows how to obtain a Jetton wallet for a specific user.Fetching user Jetton transfers
Fetching a user’s Jetton transfer history allows you to display past transactions involving the Jetton token for that user.Conlcusion
TonWeb is a JavaScript SDK that simplifies the process of interacting with Jetton contracts on the TON blockchain. In this tutorial, we explored how to peform basic fetching operations with Jettons.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.