Inscriptions on the TON Blockchain are defined as textual data embedded within transactions, typically formatted in JSON. These inscriptions describe key details such as the type of token, its total supply, and the current operation being performed. The concept draws inspiration from Bitcoin’s OP_RETURN function, which also enables embedding data in blockchain transactions.

TON-20 Token Lifecycle

graph TD
    A[Creator Deploys Token] -->|Deploy Inscription<br/>ticker, max supply, limit| B[Token Registered<br/>First-Come-First-Serve]
    B --> C[Users Mint Tokens]
    C -->|Mint Inscription<br/>within limits| D[Indexer Updates<br/>User Balances]
    D --> E{Max Supply<br/>Reached?}
    E -->|No| C
    E -->|Yes| F[Minting Complete]
    F --> G[Users Transfer Tokens]
    G -->|Transfer Inscription<br/>to address, amount| H[Indexer Updates<br/>Both Balances]
    H --> G

    style A fill:#4CAF50
    style B fill:#2196F3
    style C fill:#FF9800
    style D fill:#9C27B0
    style F fill:#F44336
    style G fill:#00BCD4
    style H fill:#9C27B0

Key Characteristics:

  • Deploy: First inscription for a ticker wins (immutable)
  • Mint: Users create tokens up to lim per transaction
  • Transfer: Requires indexer validation of balance
  • No Smart Contracts: All logic enforced by off-chain indexers

Token Deployment

A simple TON-20 token, named ‘nano’, is deployed using the following inscription format:

This inscription outlines the token protocol, operation command, token name, maximum supply, etc. In the TON Blockchain, deploying a token requires sending a zero-value transaction to oneself, with the following content. The TON 20 indexer recognizes the first appearance of such a token deployment inscription in the network as the official initiation of the token, assigning the initiator as the token’s founder. Any subsequent inscriptions with the same token name are ignored by the indexer.

data: application / json, { p: "ton-20", op: "deploy", tick: "nano", max: "2100000000000000000", lim: "100000000000" };

Minting

Following the deployment of a token inscription, others can engage in TON 20 token minting through their own inscription transactions. These inscriptions record the desired token standard, operation code, and token name. Based on the initial deployment transaction, subsequent minting inscriptions are indexed in order, leading to the acquisition of TON 20 tokens.

data: application / json, { p: "ton-20", op: "mint", tick: "nano", amt: "100000000000" };

Transfer

Once a large number of TON 20 token minting inscriptions have been initiated, the indexer defines and acknowledges the possession of TON 20 tokens. To transfer tokens, one must be aware of the token balance in an account, which the indexer calculates by indexing all deployment and minting inscriptions for TON 20 tokens. With the balance known, users can initiate TON 20 token transfer inscriptions, including operation codes for transfer, token name, destination address, and amount. These transfer inscriptions are indexed by the network, updating the balance of TON 20 tokens for each account.

data: application / json, { p: "ton-20", op: "transfer", tick: "nano", to: "UQDc4RBidUBLRYeGhSGoNzoxBkMJCCq-o6prwZW-PboQVu7P", amt: "1000000000" };

Frequently Asked Questions (FAQ)

Q: What is TON-20?

TON-20 is a token standard on the TON Blockchain that uses inscriptions (JSON-formatted textual data embedded in transactions) to manage token operations. It enables deployment, minting, and transfer of tokens without requiring smart contracts, similar to Bitcoin’s BRC-20 standard.

Q: How do TON-20 inscriptions work?

TON-20 inscriptions are JSON data embedded in zero-value transactions sent to oneself. An indexer monitors the blockchain and records these inscriptions chronologically to track token deployments, mints, and transfers. The first deployment inscription for a token name establishes the official token parameters.

Q: How to mint TON-20 tokens?

To mint TON-20 tokens, send a transaction with a minting inscription containing the protocol (“ton-20”), operation (“mint”), token ticker, and amount. The inscription format is: data:application/json,{"p":"ton-20","op":"mint","tick":"nano","amt":"100000000000"}. The indexer validates this against the token’s deployment parameters.

Q: What’s the difference between TON-20 and Jettons?

TON-20 uses inscriptions and indexers to track token balances off-chain, while Jettons use smart contracts for on-chain token management. TON-20 is simpler and doesn’t require contract deployment, but Jettons offer more programmability and are natively supported by TON wallets.

Q: How does the TON-20 indexer track token balances?

The TON-20 indexer scans all blockchain transactions for valid TON-20 inscriptions, processing them in chronological order. It maintains an off-chain database of token deployments, mints, and transfers to calculate each address’s token balance. This indexing approach ensures consistent balance tracking across the network.


This article provides a technical overview of the operational mechanics of inscriptions on the TON Blockchain, particularly focusing on TON-20 tokens. It elucidates the process of deploying, minting, and transferring these tokens, highlighting the sophisticated technology underpinning these operations. The TON Blockchain’s use of inscriptions for token management showcases its advanced capabilities in handling complex blockchain transactions and operations.