TEP-74
TON's jetton standard. Defines the master + per-holder wallet architecture, the transfer/mint/burn message layouts, and all required get-methods.
Aliases: tep 74, ton jetton standard, jetton tep
TEP-74 is the standard for fungible tokens (jettons) on TON — the network’s analogue of ERC-20. It specifies how the jetton master, jetton wallets, and user wallets interact during mint, transfer, and burn. Every jetton that works in wallets, on DEXes, and in indexers conforms to TEP-74.
What it defines
- Architecture. One master contract plus a jetton-wallet contract per holder.
- Messages.
| Opcode | Message | Meaning |
|---|---|---|
0x0f8a7ea5 | transfer | Holder-to-holder transfer. |
0x178d4519 | internal_transfer | Between jetton-wallets. |
0x7362d09c | transfer_notification | Receiver notification. |
0x595f07bc | burn | Burn tokens. |
0xd53276db | excesses | Refund unused TON. |
- Get-methods.
get_jetton_data(master),get_wallet_data(wallet),get_wallet_address(owner)(master). - Addressing. A jetton-wallet’s address is computed deterministically from master + owner — clients can derive it without an on-chain query.
What matters for integration
- Forward-payload.
transfercarries an optional forward payload — data the receiver sees insidetransfer_notification. This is the basis of DEX and swap-bot integrations: the payload encodes the next step. - Forward TON. The sender attaches a small amount of TON to cover the receiver’s gas. If it’s too low, the transfer succeeds but
transfer_notificationfails. - excesses_address. Where to refund leftover TON. Usually the sender.
Subtleties
TEP-74 doesn’t mandate behaviour on failure: if a receiver rejects internal_transfer, the sender’s jetton-wallet must roll the transaction back and restore the balance. Quality implementations do this; some hype-driven jettons from 2024 didn’t — which is why people read jetton contract code before trusting them.
The spec lives at github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md. The recommended implementations (TON Foundation reference, Tact stdlib) follow it to the letter.