Skip to main content


The kind of transaction block, either a programmable transaction or a system transaction.

union TransactionBlockKind = ConsensusCommitPrologueTransaction | GenesisTransaction | ChangeEpochTransaction | ProgrammableTransactionBlock | AuthenticatorStateUpdateTransaction | RandomnessStateUpdateTransaction | EndOfEpochTransaction

Possible types

TransactionBlockKind.ConsensusCommitPrologueTransaction object

System transaction that runs at the beginning of a checkpoint, and is responsible for setting the current value of the clock, based on the timestamp from consensus.

TransactionBlockKind.GenesisTransaction object

System transaction that initializes the network and writes the initial set of objects on-chain.

TransactionBlockKind.ChangeEpochTransaction object

A system transaction that updates epoch information on-chain (increments the current epoch). Executed by the system once per epoch, without using gas. Epoch change transactions cannot be submitted by users, because validators will refuse to sign them.

This transaction kind is deprecated in favour of EndOfEpochTransaction.

TransactionBlockKind.ProgrammableTransactionBlock object

A user transaction that allows the interleaving of native commands (like transfer, split coins, merge coins, etc) and move calls, executed atomically.

TransactionBlockKind.AuthenticatorStateUpdateTransaction object

System transaction for updating the on-chain state used by zkLogin.

TransactionBlockKind.RandomnessStateUpdateTransaction object

System transaction to update the source of on-chain randomness.

TransactionBlockKind.EndOfEpochTransaction object

System transaction that supersedes ChangeEpochTransaction as the new way to run transactions at the end of an epoch. Behaves similarly to ChangeEpochTransaction but can accommodate other optional transactions to run at the end of the epoch.

Member Of

TransactionBlock object