Skip to main content
This page describes all messages and methods related to Jetton processing that are specified in TEPs.

TEP 0074

Transfer message layout

FieldTypeDescription
transfer0x0f8a7ea5tag
query_iduint64arbitrary request number
amountVarUInteger 16amount of transferred jettons in elementary units
destinationMsgAddressaddress of the new owner of the jettons
response_destinationMsgAddressaddress where to send a response with confirmation of a successful transfer and the rest of the incoming message Toncoins
custom_payloadMaybe ^Celloptional custom data (which is used by either sender or receiver jetton wallet for inner logic)
forward_ton_amountVarUInteger 16the amount of nanotons to be sent to the destination address
forward_payloadEither Cell ^Celloptional custom data that should be sent to the destination address

Forward payload formats

If you want to send a simple comment in the forward_payload then the forward_payload must starts with 0x00000000 (32-bits unsigned integer equals to zero) and the comment is contained in the remainder of the forward_payload. If comment does not begin with the byte 0xff, the comment is a text one; it can be displayed “as is” to the end user of a wallet (after filtering invalid and control characters and checking that it is a valid UTF-8 string). For instance, users may indicate the purpose (“for coffee”) of a simple transfer from their wallet to the wallet of another user in this text field. On the other hand, if the comment begins with the byte 0xff, the remainder is a “binary comment”, which should not be displayed to the end user as text (only as hex dump if necessary). The intended use of “binary comments” is, e.g., to contain a purchase identifier for payments in a store, to be automatically generated and processed by the store’s software. If the forward_payload contains a binary message for interacting with the destination smart contract (for example, with DEX), then there are no prefixes.

Transfer notification message layout

FieldTypeDescription
transfer_notification0x7362d09ctag
query_iduint64should be equal with request’s query_id
amountVarUInteger 16amount of transferred jettons
senderMsgAddressan address of the previous owner of transferred jettons
forward_payloadEither Cell ^Cellshould be equal with request’s forward_payload

Excesses message layout

FieldTypeDescription
excesses0xd53276dbtag
query_iduint64should be equal with request’s query_id

Burn message layout

FieldTypeDescription
burn0x595f07bctag
query_iduint64arbitrary request number
amountVarUInteger 16amount of burned jettons
response_destinationMsgAddressan address where to send a response with confirmation of a successful burn and the rest of the incoming message coins
custom_payloadMaybe ^Celloptional custom data

get_wallet_data()

No arguments. Outputs:
FieldTypeDescription
balanceVarUInteger 16amount of jettons on wallet
ownerMsgAddressan address of wallet owner
jettonMsgAddressan address of Jetton master contract
jetton_wallet_codeCellcode of this wallet

get_jetton_data()

No arguments. Outputs:
FieldTypeDescription
total_supplyVarUInteger 16the total number of issues jettons
mintableBool(-1/0) flag which indicates whether number of jettons can increase
admin_addressMsgAddressan address of smart contract that controls Jetton
jetton_contentCelldata in accordance to TEP 0064
jetton_wallet_codeCellcode of wallet for that jetton

get_wallet_address()

Argument: owner_address as MsgAddress. Output: jetton_wallet_addressas MsgAddress.

TEP 0089

Provide wallet address message layout

FieldTypeDescription
provide_wallet_address0x2c76b973tag
query_iduint64arbitrary request number
owner_addressMsgAddressowner’s address of Jetton wallet of interest
include_addressBoolwhether to include owner’s address in the outgoing message

Take wallet address message layout

FieldTypeDescription
take_wallet_address0xd1735400tag
query_iduint64arbitrary request number
wallet_addressMsgAddressan address of Jetton wallet of interest
owner_addressMaybe ^MsgAddressoptional: owner’s address of Jetton wallet of interest
I