Skip to main content


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.

type ChangeEpochTransaction {
epoch: Epoch
protocolVersion: Int!
storageCharge: BigInt!
computationCharge: BigInt!
storageRebate: BigInt!
nonRefundableStorageFee: BigInt!
startTimestamp: DateTime!
first: Int
after: String
last: Int
before: String
): MovePackageConnection!


ChangeEpochTransaction.epoch ● Epoch object

The next (to become) epoch.

ChangeEpochTransaction.protocolVersion ● Int! non-null scalar

The protocol version in effect in the new epoch.

ChangeEpochTransaction.storageCharge ● BigInt! non-null scalar

The total amount of gas charged for storage during the previous epoch (in MIST).

ChangeEpochTransaction.computationCharge ● BigInt! non-null scalar

The total amount of gas charged for computation during the previous epoch (in MIST).

ChangeEpochTransaction.storageRebate ● BigInt! non-null scalar

The SUI returned to transaction senders for cleaning up objects (in MIST).

ChangeEpochTransaction.nonRefundableStorageFee ● BigInt! non-null scalar

The total gas retained from storage fees, that will not be returned by storage rebates when the relevant objects are cleaned up (in MIST).

ChangeEpochTransaction.startTimestamp ● DateTime! non-null scalar

Time at which the next epoch will start.

ChangeEpochTransaction.systemPackages ● MovePackageConnection! non-null object

System packages (specifically framework and move stdlib) that are written before the new epoch starts, to upgrade them on-chain. Validators write these packages out when running the transaction.

ChangeEpochTransaction.systemPackages.first ● Int scalar
ChangeEpochTransaction.systemPackages.after ● String scalar
ChangeEpochTransaction.systemPackages.last ● Int scalar
ChangeEpochTransaction.systemPackages.before ● String scalar

Implemented By

EndOfEpochTransactionKind union ● TransactionBlockKind union