suix_getLatestSuiSystemState
Return the latest SUI system state object on-chain.
Parameters
None.
Result
SuiSystemStateSummary·SuiSystemStateSummaryactiveValidators·SuiValidatorSummary[] · requiredThe list of active validators in the current epoch.atRiskValidators· [SuiAddress,BigInt<u64>][] · requiredMap storing the number of epochs for which each validator has been below the low stake threshold.epoch·BigInt<u64>· requiredThe current epoch ID, starting from 0.epochDurationMs·BigInt<u64>· requiredThe duration of an epoch, in milliseconds.epochStartTimestampMs·BigInt<u64>· requiredUnix timestamp of the current epoch startinactivePoolsId·ObjectID· requiredID of the object that maps from a staking pool ID to the inactive validator that has that pool as its staking pool.inactivePoolsSize·BigInt<u64>· requiredNumber of inactive staking pools.maxValidatorCount·BigInt<u64>· requiredMaximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.minValidatorJoiningStake·BigInt<u64>· requiredLower-bound on the amount of stake required to become a validator.pendingActiveValidatorsId·ObjectID· requiredID of the object that contains the list of new validators that will join at the end of the epoch.pendingActiveValidatorsSize·BigInt<u64>· requiredNumber of new validators that will join at the end of the epoch.pendingRemovals·BigInt<u64>[] · requiredRemoval requests from the validators. Each element is an index pointing toactive_validators.protocolVersion·BigInt<u64>· requiredThe current protocol version, starting from 1.referenceGasPrice·BigInt<u64>· requiredThe reference gas price for the current epoch.safeMode·boolean· requiredWhether the system is running in a downgraded safe mode due to a non-recoverable bug. This is set whenever we failed to execute advance_epoch, and ended up executing advance_epoch_safe_mode. It can be reset once we are able to successfully execute advance_epoch.safeModeComputationRewards·BigInt<u64>· requiredAmount of computation rewards accumulated (and not yet distributed) during safe mode.safeModeNonRefundableStorageFee·BigInt<u64>· requiredAmount of non-refundable storage fee accumulated during safe mode.safeModeStorageRebates·BigInt<u64>· requiredAmount of storage rebates accumulated (and not yet burned) during safe mode.safeModeStorageRewards·BigInt<u64>· requiredAmount of storage rewards accumulated (and not yet distributed) during safe mode.stakeSubsidyBalance·BigInt<u64>· requiredBalance of SUI set aside for stake subsidies that will be drawn down over time.stakeSubsidyCurrentDistributionAmount·BigInt<u64>· requiredThe amount of stake subsidy to be drawn down per epoch. This amount decays and decreases over time.stakeSubsidyDecreaseRate·integer(uint16) · requiredThe rate at which the distribution amount decays at the end of each period. Expressed in basis points.stakeSubsidyDistributionCounter·BigInt<u64>· requiredThis counter may be different from the current epoch number if in some epochs we decide to skip the subsidy.stakeSubsidyPeriodLength·BigInt<u64>· requiredNumber of distributions to occur before the distribution amount decays.stakeSubsidyStartEpoch·BigInt<u64>· requiredThe starting epoch in which stake subsidies start being paid outstakingPoolMappingsId·ObjectID· requiredID of the object that maps from staking pool's ID to the sui address of a validator.stakingPoolMappingsSize·BigInt<u64>· requiredNumber of staking pool mappings.storageFundNonRefundableBalance·BigInt<u64>· requiredThe non-refundable portion of the storage fund coming from storage reinvestment, non-refundable storage rebates and any leftover staking rewards.storageFundTotalObjectStorageRebates·BigInt<u64>· requiredThe storage rebates of all the objects on-chain stored in the storage fund.systemStateVersion·BigInt<u64>· requiredThe current version of the system state data structure type.totalStake·BigInt<u64>· requiredTotal amount of stake from all active validators at the beginning of the epoch.validatorCandidatesId·ObjectID· requiredID of the object that stores preactive validators, mapping their addresses to theirValidatorstructs.validatorCandidatesSize·BigInt<u64>· requiredNumber of preactive validators.validatorLowStakeGracePeriod·BigInt<u64>· requiredA validator can have stake belowvalidator_low_stake_thresholdfor this many epochs before being kicked out.validatorLowStakeThreshold·BigInt<u64>· requiredValidators with stake amount belowvalidator_low_stake_thresholdare considered to have low stake and will be escorted out of the validator set after being below this threshold for more thanvalidator_low_stake_grace_periodnumber of epochs.validatorReportRecords· [SuiAddress,SuiAddress[]][] · requiredA map storing the records of validator reporting each other.validatorVeryLowStakeThreshold·BigInt<u64>· requiredValidators with stake belowvalidator_very_low_stake_thresholdwill be removed immediately at epoch change, no grace period.
Example
Request
bash
curl https://mainnet-api.inodra.com/v1/jsonrpc \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "suix_getLatestSuiSystemState",
"params": []
}'Response
json
{
"jsonrpc": "2.0",
"id": 1,
"result": "some_system_state"
}