TEP-74
Стандарт jetton-токенов в TON. Описывает архитектуру master + per-holder wallet, форматы сообщений transfer/mint/burn и все get-методы.
Синонимы: tep 74, ton jetton standard, jetton tep
TEP-74 — стандарт взаимозаменяемых токенов (jetton-ов) на TON. Это TON-аналог ERC-20: формализует, как jetton-master, jetton-wallet и пользовательский кошелёк взаимодействуют между собой при mint, transfer и burn. Все jetton-ы, которые работают в кошельках, на DEX и в индексеров, соответствуют TEP-74.
Что определяет
- Архитектуру. Один master-контракт + по jetton-wallet на каждого держателя.
- Сообщения.
| Opcode | Сообщение | Смысл |
|---|---|---|
0x0f8a7ea5 | transfer | Перевод от держателя другому. |
0x178d4519 | internal_transfer | Между jetton-wallet-ами. |
0x7362d09c | transfer_notification | Уведомление получателю. |
0x595f07bc | burn | Сжечь токены. |
0xd53276db | excesses | Возврат лишних TON. |
- Get-методы.
get_jetton_data(master),get_wallet_data(wallet),get_wallet_address(owner)(master). - Адресация. Адрес jetton-wallet рассчитывается детерминированно от master + owner — клиент может его получить без on-chain запроса.
Что важно для интеграции
- Forward-payload. В
transferесть необязательный forward-payload — данные, которые получатель увидит вtransfer_notification. Это основа интеграции с DEX-ми и swap-ботами: payload содержит инструкции на следующий шаг. - Forward TON. Отправитель кладёт небольшую сумму TON, чтобы покрыть gas получателя. Если её не хватит, transfer пройдёт, но
transfer_notificationупадёт. - excesses_address. Куда вернуть «лишние» TON после операции. Обычно — отправителю.
Тонкости
TEP-74 не предписывает, что делать с failures: если получатель отказывается от internal_transfer, jetton-wallet отправителя должен корректно отыграть транзакцию назад, восстановив баланс. Качественные реализации это делают; «хайповые» jetton-ы из 2024 иногда нет — это причина, по которой при оценке токена смотрят на код контракта.
Спецификация — github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md. Все рекомендуемые реализации (от TON Foundation, в Tact stdlib) следуют ей буквально.