Epoch
Activity on Sui is partitioned in time, into epochs.
Epoch changes are opportunities for the network to reconfigure itself (perform protocol or system package upgrades, or change the committee) and distribute staking rewards. The network aims to keep epochs roughly the same duration as each other.
During a particular epoch the following data is fixed:
- protocol version,
 - reference gas price,
 - system package versions,
 - validators in the committee.
 
type Epoch {
  checkpoints(
    first: Int
    after: String
    last: Int
    before: String
    filter: CheckpointFilter
  ): CheckpointConnection
  coinDenyList: Object
  endTimestamp: DateTime
  epochId: UInt53!
  fundInflow: BigInt
  fundOutflow: BigInt
  fundSize: BigInt
  liveObjectSetDigest: String
  netInflow: BigInt
  protocolConfigs: ProtocolConfigs
  referenceGasPrice: BigInt
  safeMode: SafeMode
  startTimestamp: DateTime
  storageFund: StorageFund
  systemPackages(
    first: Int
    after: String
    last: Int
    before: String
  ): MovePackageConnection
  systemParameters: SystemParameters
  systemStakeSubsidy: StakeSubsidy
  systemStateVersion: UInt53
  totalCheckpoints: UInt53
  totalGasFees: BigInt
  totalStakeRewards: BigInt
  totalStakeSubsidies: BigInt
  totalTransactions: UInt53
  transactions(
    first: Int
    after: String
    last: Int
    before: String
    filter: TransactionFilter
  ): TransactionConnection
  validatorSet: ValidatorSet
}
Fields
Epoch.checkpoints ● CheckpointConnection object
The epoch's corresponding checkpoints.