Skip to main content

ESDT Operations Events

ESDT Operations Events are generated in response to interactions with an ESDT token. These events help keep track of actions like creating new tokens, transferring tokens between addresses, burning tokens, etc.

Fungible token transfer

The ESDTTransfer event is emitted when a fungible token undergoes a transfer operation via the ESDTTransfer built-in function.

FieldValue
identifierESDTTransfer
addressthe sender of the token
topicstopics[0] - token identifier base64 encoded
topics[1] - empty
topics[2] - value bytes base64 encoded
topics[3] - receiver address address bytes base64 encoded
dataempty

Semi-fungible, non-fungible or meta-esdt token creation

The ESDTNFTCreate event is generated when a new token is created using the built-in function ESDTNFTCreate.

FieldValue
identifierESDTNFTCreate
addressthe creator of the token
topicstopics[0] - token identifier base64 encoded
topics[1] - token nonce bytes base64 encoded
topics[2] - value bytes base64 encoded
topics[3] - ESDigitalToken structure marshalled with gogo proto serializer
dataempty

Semi-fungible, non-fungible or meta-esdt token transfer

The ESDTNFTTransfer event is generated when a token, which can be semi-fungible, non-fungible, or meta-esdt, is moved through the ESDTNFTTransfer built-in function.

FieldValue
identifierESDTNFTTransfer
addressthe sender of the token
topicstopics[0] - token identifier base64 encoded
topics[1] - token nonce bytes base64 encoded
topics[2] - value bytes base64 encoded
topics[3] - receiver address bytes base64 encoded
dataempty

Multi token transfer

The MultiESDTNFTTransfer event is generated when one or multiple tokens are transferred using the built-in function MultiESDTNFTTransfer.

FieldValue
identifierMultiESDTNFTTransfer
addressthe sender of the token
topicstopics[0] - token identifier
topics[1] - token nonce base64 encoded (can be empty in case of fungible token)
topics[2] - value bytes base64 encoded
topics[3] - receiver address bytes base64 encoded
dataempty
note

For a multi-token transfer operation, multiple MultiESDTNFTTransfer events will be generated, one for each token being transferred.

Important

Starting from release rc/v1.6.0, the MultiESDTNFTTransfer will be changed when the flag ScToScLogEventEnableEpoch will be enabled.

Instead of generating multiple events with the same identifier, only one event will be generated for the entire multi-token transfer operation. The event will follow the new format outlined below:

FieldValue
identifierMultiESDTNFTTransfer
addressthe sender of the token
topicsPAIRS OF
<
topics[i] - token identifier
topics[i+1] - token nonce base64 encoded (can be empty in case of fungible token)
topics[i+2] - value bytes base64
>
topics[n-1] - receiver address
dataempty