Mintless Jettons Processing
Introduction
For a clear understanding, the reader should be familiar with the basic principles of asset processing described in payments processing section and jetton processing.
The TON blockchain ecosystem has introduced an innovative extension to the Jetton standard called Mintless Jettons.
This extension enables decentralized, Merkle-proof airdrops without the need for traditional minting processes.
Overview
Mintless Jettons - are an extension (TEP-177 and TEP-176) of the standard Jetton implementation (TEP-74) on the TON blockchain.
This implementation enables large-scale, decentralized airdrops to millions of users without incurring significant costs or adding excessive load to the blockchain.
Basic Features
- Scalability: Traditional minting processes can be resource-intensive and costly when distributing tokens to a vast number of users.
- Efficiency: By utilizing Merkle trees, Mintless Jettons store a single hash representing all airdropped amounts, reducing storage requirements.
- User-Friendly Airdrops: Users have their jettons ready to use immediately—send, swap, and more—without any preparatory steps like withdrawal or claim!
Supporting Mintless Jettons in On-Chain Protocols
Since Mintless Jettons are an extension of Standard Jettons, no additional steps are needed. Just interact with them as you would with USDT, NOT, Scale, or STON.
Supporting Mintless Jettons in Wallet Applications
Wallet applications play a crucial role in enhancing user experience with Mintless Jettons:
- Display Unclaimed Jettons: Wallets should show users the jettons they are eligible to claim based on the Merkle tree data.
- Automated Claim Process: On initiating an outgoing transfer, the wallet should automatically include the necessary Merkle proof in the
transfer
message's custom payload.
This can be done by either:
-
Integration with the Off-Chain API Specified in the Custom Payload API**:
- For each jetton, check whether it is mintless.
- If it is mintless, check whether the owner of the wallet has claimed it.
- If not claimed, retrieve data from the Custom Payload API and add the off-chain balance to the on-chain one.
- On outgoing transfers, if the user has not yet claimed the airdrop, retrieve the custom payload and init state from the Custom Payload API and include it in the
transfer
message to the jetton wallet.
-
Custom API:
- Download the tree of airdrops from
mintless_merkle_dump_uri
in the jetton metadata. - Parse it (see section 6 below) and make the parsed result available via API.
- Download the tree of airdrops from
Supporting Mintless claims (in particular, indexing of airdrop trees) is not mandatory for wallets. It is expected that wallet applications may charge the jetton issuer for this service.