Skip to main content

Finality

Every trace-based notification carries a finality field. The lifecycle is monotonic per trace: pendingconfirmedfinalized. At any point before finalized, a trace_invalidated event may signal rollback.
LevelLatencyGuarantee
Finality.PENDING~30-100 msSpeculative / emulated. May be rolled back.
Finality.CONFIRMEDSecondsIn a signed shard block. Small rollback risk.
Finality.FINALIZEDSecondsCommitted in masterchain. Irreversible.
min_finality sets the minimum level a handler accepts. Default: Finality.FINALIZED.
min_finalityPendingConfirmedFinalized
PendingDeliveredDeliveredDelivered
ConfirmedSkippedDeliveredDelivered
FinalizedSkippedSkippedDelivered
Convenience properties: .is_pending, .is_confirmed, .is_finalized.

Event types

TypeFinalityDescription
EventType.TRANSACTIONSPending, Confirmed, FinalizedTransaction list per trace (LT descending).
EventType.ACTIONSPending, Confirmed, FinalizedClassified actions (transfers, swaps, etc.).
EventType.TRACEPending, Confirmed, FinalizedFull trace tree with transactions + actions.
EventType.ACCOUNT_STATE_CHANGEConfirmed, FinalizedBalance, status, code/data hash changes.
EventType.JETTONS_CHANGEConfirmed, FinalizedJetton wallet balance updates.
EventType.TRACE_INVALIDATEDn/aServer-only. Cannot be subscribed directly.

Models

All models are Pydantic BaseModel subclasses from toncenter.streaming.
FieldTypeDescription
typeLiteral["transactions"]Always "transactions".
finalitystr"pending", "confirmed", "finalized".
trace_external_hash_normstrLinks related notifications for a trace.
transactionslist[dict]Transaction objects (LT descending).
address_bookdict | NoneAddress -> name mapping.
metadatadict | NoneToken metadata.
FieldTypeDescription
typeLiteral["actions"]Always "actions".
finalitystr"pending", "confirmed", "finalized".
trace_external_hash_normstrLinks related notifications for a trace.
actionslist[dict]Classified action objects.
address_bookdict | NoneAddress -> name mapping.
metadatadict | NoneToken metadata.
FieldTypeDescription
typeLiteral["trace"]Always "trace".
finalitystrFinality level.
trace_external_hash_normstrTrace identifier.
tracedict | NoneTrace tree structure.
transactionsdict | NoneHash -> transaction object map.
actionslist[dict] | NoneClassified actions for this trace.
address_bookdict | NoneAddress -> name mapping.
metadatadict | NoneToken metadata.
FieldTypeDescription
typeLiteral["account_state_change"]Always "account_state_change".
finalitystr"confirmed" or "finalized" only.
accountstrAddress in raw format.
stateAccountState | NoneAccount state snapshot.
AccountState fields: hash, balance, account_status, data_hash, code_hash.
FieldTypeDescription
typeLiteral["jettons_change"]Always "jettons_change".
finalitystr"confirmed" or "finalized" only.
jettonJettonWallet | NoneJetton wallet snapshot.
address_bookdict | NoneAddress -> name mapping.
metadatadict | NoneToken metadata.
JettonWallet fields: address, balance, owner, jetton, last_transaction_lt.
FieldTypeDescription
typeLiteral["trace_invalidated"]Always "trace_invalidated".
trace_external_hash_normstrHash of the invalidated trace.
Fires when a previously delivered pending or confirmed trace becomes invalid. Discard cached data for that trace_external_hash_norm. No invalidation after finalized.
No invalidation for account_state_change or jettons_change. Use Finality.FINALIZED for irreversible balance data.

Action types

Enum memberWire value
ActionType.TON_TRANSFERton_transfer
ActionType.JETTON_TRANSFERjetton_transfer
ActionType.JETTON_SWAPjetton_swap
ActionType.JETTON_BURNjetton_burn
ActionType.JETTON_MINTjetton_mint
ActionType.NFT_MINTnft_mint
ActionType.CALL_CONTRACTcall_contract
ActionType.CONTRACT_DEPLOYcontract_deploy
ActionType.STAKE_DEPOSITstake_deposit
ActionType.STAKE_WITHDRAWALstake_withdrawal
ActionType.STAKE_WITHDRAWAL_REQUESTstake_withdrawal_request
ActionType.DEX_DEPOSIT_LIQUIDITYdex_deposit_liquidity
ActionType.DEX_WITHDRAW_LIQUIDITYdex_withdraw_liquidity
ActionType.ELECTION_DEPOSITelection_deposit
ActionType.ELECTION_RECOVERelection_recover
ActionType.AUCTION_BIDauction_bid
ActionType.CHANGE_DNSchange_dns
ActionType.DELETE_DNSdelete_dns
ActionType.RENEW_DNSrenew_dns
ActionType.TICK_TOCKtick_tock
ActionType.SUBSCRIBEsubscribe
ActionType.UNSUBSCRIBEunsubscribe