Skip to content

JSON-RPC Types ​

The types that JSON-RPC methods take and return.

AccumulatorEvent ​

AccumulatorOperation ​

Type: "merge" or "split"

AccumulatorValue ​

One of:

  • integer · integer (uint64)
  • integerTuple · [integer (uint64), integer (uint64)]
  • eventDigest · [integer (uint64), Digest][]

AdditionalConsensusStateDigest ​

Type: Digest

AuthorityPublicKeyBytes ​

Defines the compressed version of the public key that we pass around in Sui

Type: Base64

Balance ​

  • coinObjectCount · integer (uint) · required
  • coinType · string · required
  • fundsInAddressBalance · BigInt<u128> · optionalThe portion of total_balance that resides in the address balance rather than in the coin objects. total_balance is the total amount of funds owned by the address. That is, do not add these two fields together.
  • lockedBalance · map of BigInt<u128> · required
  • totalBalance · BigInt<u128> · required

BalanceChange ​

  • amount · string · requiredThe amount indicate the balance value changes, negative amount means spending coin value and positive means receiving coin value.
  • coinType · string · required
  • owner · Owner · requiredOwner of the balance change

Base58 ​

Type: string

Base64 ​

Base64 encoding

Type: string

BigInt<u128> ​

Type: string

BigInt<u16> ​

Type: string

BigInt<u32> ​

Type: string

BigInt<u64> ​

Type: string

Bn254FqElement ​

A struct that stores a Bn254 Fq field element as 32 bytes.

Type: string

Bn254FrElement ​

A struct that stores a Bn254 Fr field element as 32 bytes.

Type: string

BridgeChainId ​

Type: "SuiMainnet" or "SuiTestnet" or "SuiCustom" or "EthMainnet" or "EthSepolia" or "EthCustom"

BridgeCommitteeSummary ​

BridgeLimiterSummary ​

BridgeSummary ​

  • bridgeRecordsId · ObjectID · requiredObject ID of bridge Records (dynamic field)
  • bridgeVersion · BigInt<u64> · required
  • chainId · integer (uint8) · requiredSelf Chain ID
  • committee · BridgeCommitteeSummary · required
  • isFrozen · boolean · requiredWhether the bridge is currently frozen or not
  • limiter · BridgeLimiterSummary · requiredSummary of the limiter
  • messageVersion · integer (uint8) · required
  • sequenceNums · [integer (uint8), BigInt<u64>][] · requiredSequence numbers of all message types
  • treasury · BridgeTreasurySummary · requiredSummary of the treasury

BridgeTokenMetadata ​

  • decimalMultiplier · integer (uint64) · required
  • id · integer (uint8) · required
  • nativeToken · boolean · required
  • notionalValue · integer (uint64) · required

BridgeTreasurySummary ​

  • idTokenTypeMap · [integer (uint8), string][] · required
  • supportedTokens · [string, BridgeTokenMetadata][] · required

Checkpoint ​

  • checkpointCommitments · CheckpointCommitment[] · requiredCommitments to checkpoint state
  • digest · CheckpointDigest · requiredCheckpoint digest
  • endOfEpochData · EndOfEpochData or null · optionalPresent only on the final checkpoint of the epoch.
  • epoch · BigInt<u64> · requiredCheckpoint's epoch ID
  • epochRollingGasCostSummary · GasCostSummary · requiredThe running total gas costs of all transactions included in the current epoch so far until this checkpoint.
  • networkTotalTransactions · BigInt<u64> · requiredTotal number of transactions committed since genesis, including those in this checkpoint.
  • previousDigest · CheckpointDigest or null · optionalDigest of the previous checkpoint
  • sequenceNumber · BigInt<u64> · requiredCheckpoint sequence number
  • timestampMs · BigInt<u64> · requiredTimestamp of the checkpoint - number of milliseconds from the Unix epoch Checkpoint timestamps are monotonic, but not strongly monotonic - subsequent checkpoints can have same timestamp if they originate from the same underlining consensus commit
  • transactions · TransactionDigest[] · requiredTransaction digests
  • validatorSignature · Base64 · requiredValidator Signature

CheckpointArtifactsDigest ​

Type: Digest

CheckpointCommitment ​

One of:

CheckpointDigest ​

Representation of a Checkpoint's digest

Type: Digest

CheckpointedObjectID ​

CheckpointId ​

One of:

Claim ​

A claim consists of value and index_mod_4.

  • indexMod4 · integer (uint8) · required
  • value · string · required

Coin ​

CommitteeInfo ​

RPC representation of the [Committee] type.

CompressedSignature ​

Unlike [enum Signature], [enum CompressedSignature] does not contain public key.

One of:

ConsensusCommitDigest ​

Type: Digest

ConsensusDeterminedVersionAssignments ​

One of:

Data ​

One of:

  • object

    • dataType · "moveObject" · required
    • fields · MoveStruct · required
    • hasPublicTransfer · boolean · required
    • type · string · required
  • object

    • dataType · "package" · required
    • disassembled · object · required

DelegatedStake ​

  • stakes · Stake[] · required
  • stakingPool · ObjectID · requiredStaking pool object id.
  • validatorAddress · SuiAddress · requiredValidator's Address.

DevInspectArgs ​

Additional rguments supplied to dev inspect beyond what is allowed in today's API.

  • gasBudget · BigInt<u64> or null · optionalThe gas budget for the transaction.
  • gasObjects · [ObjectID, SequenceNumber2, ObjectDigest][] or null · optionalThe gas objects used to pay for the transaction.
  • gasSponsor · SuiAddress or null · optionalThe sponsor of the gas for the transaction, might be different from the sender.
  • showRawTxnDataAndEffects · boolean or null · optionalWhether to return the raw transaction data and effects.
  • skipChecks · boolean or null · optionalWhether to skip transaction checks for the transaction.

DevInspectResults ​

The response from processing a dev inspect transaction

  • effects · TransactionBlockEffects · requiredSummary of effects that likely would be generated if the transaction is actually run. Note however, that not all dev-inspect transactions are actually usable as transactions so it might not be possible actually generate these effects from a normal transaction.
  • error · string or null · optionalExecution error from executing the transactions
  • events · Event[] · requiredEvents that likely would be generated if the transaction is actually run.
  • rawEffects · integer (uint8)[] · optionalThe raw effects of the transaction that was dev inspected.
  • rawTxnData · integer (uint8)[] · optionalThe raw transaction data that was dev inspected.
  • results · SuiExecutionResult[] or null · optionalExecution results (including return values) from executing the transactions

Digest ​

A representation of a 32 byte digest

Type: Base58

DisplayFieldsResponse ​

DryRunTransactionBlockResponse ​

DynamicFieldInfo ​

One of:

  • object

    • bcsEncoding · "base64" · required
    • bcsName · Base64 · required
  • object

    • bcsEncoding · "base58" · required
    • bcsName · Base58 · required

DynamicFieldName ​

  • type · string · required
  • value · any · required

DynamicFieldType ​

Type: "DynamicField" or "DynamicObject"

ECMHLiveObjectSetDigest ​

The Sha256 digest of an EllipticCurveMultisetHash committing to the live object set.

  • digest · integer (uint8)[] · required

Ed25519SuiSignature ​

Type: Base64

EndOfEpochData ​

  • epochCommitments · CheckpointCommitment[] · requiredCommitments to epoch specific state (e.g. live object set)
  • nextEpochCommittee · [AuthorityPublicKeyBytes, BigInt<u64>][] · requirednext_epoch_committee is Some if and only if the current checkpoint is the last checkpoint of an epoch. Therefore next_epoch_committee can be used to pick the last checkpoint of an epoch, which is often useful to get epoch level summary stats like total gas cost of an epoch, or the total number of transactions from genesis to the end of an epoch. The committee is stored as a vector of validator pub key and stake pairs. The vector should be sorted based on the Committee data structure.
  • nextEpochProtocolVersion · ProtocolVersion · requiredThe protocol version that is in effect during the epoch that starts immediately after this checkpoint.

EndOfEpochInfo ​

EpochInfo ​

  • endOfEpochInfo · EndOfEpochInfo or null · optional
  • epoch · BigInt<u64> · requiredepoch number
  • epochStartTimestamp · BigInt<u64> · required
  • epochTotalTransactions · BigInt<u64> · requiredcount of tx in epoch
  • firstCheckpointId · BigInt<u64> · requiredfirst, last checkpoint sequence numbers
  • referenceGasPrice · integer (uint64) or null (uint64) · optional
  • validators · SuiValidatorSummary[] · requiredlist of validators included in epoch

Event ​

One of:

  • object

    • bcs · Base64 · required
    • bcsEncoding · "base64" · required
  • object

    • bcs · Base58 · required
    • bcsEncoding · "base58" · required

EventFilter ​

One of:

  • All · any[] Return all events.
  • Any · EventFilter[] Return events that match any of the given filters. Only supported on event subscriptions.
  • Sender · SuiAddressQuery by sender address.
  • Transaction · TransactionDigestReturn events emitted by the given transaction.
  • MoveModule · objectReturn events emitted in a specified Move module. If the event is defined in Module A but emitted in a tx with Module B, query MoveModule by module B returns the event. Query MoveEventModule by module A returns the event too.
  • MoveEventType · stringReturn events with the given Move event struct name (struct tag). For example, if the event is defined in 0xabcd::MyModule, and named Foo, then the struct tag is 0xabcd::MyModule::Foo.
  • MoveEventModule · objectReturn events with the given Move module name where the event struct is defined. If the event is defined in Module A but emitted in a tx with Module B, query MoveEventModule by module A returns the event. Query MoveModule by module B returns the event too.
  • TimeRange · objectReturn events emitted in [start_time, end_time] interval

EventID ​

Unique ID of a Sui Event, the ID is a combination of transaction digest and event seq number.

ExecuteTransactionRequestType ​

Type: "WaitForEffectsCert" or "WaitForLocalExecution"

ExecutionStatus ​

One of:

  • status · "success"

  • object

    • error · string · required
    • status · "failure" · required

GasCostSummary ​

Summary of the charges in a transaction. Storage is charged independently of computation. There are 3 parts to the storage charges: storage_cost: it is the charge of storage at the time the transaction is executed. The cost of storage is the number of bytes of the objects being mutated multiplied by a variable storage cost per byte storage_rebate: this is the amount a user gets back when manipulating an object. The storage_rebate is the storage_cost for an object minus fees. non_refundable_storage_fee: not all the value of the object storage cost is given back to user and there is a small fraction that is kept by the system. This value tracks that charge.

When looking at a gas cost summary the amount charged to the user is computation_cost + storage_cost - storage_rebate and that is the amount that is deducted from the gas coins. non_refundable_storage_fee is collected from the objects being mutated/deleted and it is tracked by the system in storage funds.

Objects deleted, including the older versions of objects mutated, have the storage field on the objects added up to a pool of "potential rebate". This rebate then is reduced by the "nonrefundable rate" such that: potential_rebate(storage cost of deleted/mutated objects) = storage_rebate + non_refundable_storage_fee

  • computationCost · BigInt<u64> · requiredCost of computation/execution
  • nonRefundableStorageFee · BigInt<u64> · requiredThe fee for the rebate. The portion of the storage rebate kept by the system.
  • storageCost · BigInt<u64> · requiredStorage cost, it's the sum of all storage cost for all objects created or mutated.
  • storageRebate · BigInt<u64> · requiredThe amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.

GasData ​

GenericSignature ​

Due to the incompatibility of [enum Signature] (which dispatches a trait that assumes signature and pubkey bytes for verification), here we add a wrapper enum where member can just implement a lightweight [trait AuthenticatorTrait]. This way MultiSig (and future Authenticators) can implement its own verify.

One of:

GetPastObjectRequest ​

  • objectId · ObjectID · requiredthe ID of the queried object
  • version · SequenceNumber · requiredthe version of the queried object.

Hex ​

Hex string encoding.

Type: string

InputObjectKind ​

One of:

MoveCallParams ​

  • arguments · SuiJsonValue[] · required
  • function · string · required
  • module · string · required
  • packageObjectId · ObjectID · required
  • typeArguments · TypeTag[] · optional

MoveFunctionArgType ​

One of:

MoveStruct ​

One of:

MoveTypeBridgeTransferRecord ​

Rust version of the Move limiter::TransferRecord type.

  • hour_head · integer (uint64) · required
  • hour_tail · integer (uint64) · required
  • per_hour_amounts · integer (uint64)[] · required
  • total_amount · integer (uint64) · required

MoveTypeCommitteeMember ​

Rust version of the Move committee::CommitteeMember type.

  • blocklisted · boolean · required
  • bridgePubkeyBytes · integer (uint8)[] · required
  • httpRestUrl · integer (uint8)[] · required
  • suiAddress · SuiAddress · required
  • votingPower · integer (uint64) · required

MoveTypeCommitteeMemberRegistration ​

Rust version of the Move committee::CommitteeMemberRegistration type.

  • bridgePubkeyBytes · integer (uint8)[] · required
  • httpRestUrl · integer (uint8)[] · required
  • suiAddress · SuiAddress · required

MoveValue ​

One of:

MoveVariant ​

  • fields · map of MoveValue · required
  • type · string · required
  • variant · string · required

MultiSig ​

The struct that contains signatures and public keys necessary for authenticating a MultiSig.

  • bitmap · integer (uint16) · requiredA bitmap that indicates the position of which public key the signature should be authenticated with.
  • multisig_pk · MultiSigPublicKey · requiredThe public key encoded with each public key with its signature scheme used along with the corresponding weight.
  • sigs · CompressedSignature[] · requiredThe plain signature encoded with signature scheme.

MultiSigLegacy ​

Deprecated, use [struct MultiSig] instead. The struct that contains signatures and public keys necessary for authenticating a MultiSigLegacy.

  • bitmap · Base64 · requiredA bitmap that indicates the position of which public key the signature should be authenticated with.
  • multisig_pk · MultiSigPublicKeyLegacy · requiredThe public key encoded with each public key with its signature scheme used along with the corresponding weight.
  • sigs · CompressedSignature[] · requiredThe plain signature encoded with signature scheme.

MultiSigPublicKey ​

The struct that contains the public key used for authenticating a MultiSig.

  • pk_map · [PublicKey, integer (uint8)][] · requiredA list of public key and its corresponding weight.
  • threshold · integer (uint16) · requiredIf the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified.

MultiSigPublicKeyLegacy ​

Deprecated, use [struct MultiSigPublicKey] instead. The struct that contains the public key used for authenticating a MultiSig.

  • pk_map · [PublicKey, integer (uint8)][] · requiredA list of public key and its corresponding weight.
  • threshold · integer (uint16) · requiredIf the total weight of the public keys corresponding to verified signatures is larger than threshold, the MultiSig is verified.

ObjectChange ​

ObjectChange are derived from the object mutations in the TransactionEffect to provide richer object information.

One of:

  • object - Module published

  • object - Transfer objects to new address / wrap in another object

  • object - Object mutated.

  • object - Delete object

    • objectId · ObjectID · required
    • objectType · string · required
    • sender · SuiAddress · required
    • type · "deleted" · required
    • version · SequenceNumber · required
  • object - Wrapped object

    • objectId · ObjectID · required
    • objectType · string · required
    • sender · SuiAddress · required
    • type · "wrapped" · required
    • version · SequenceNumber · required
  • object - New object creation

ObjectData ​

  • bcs · RawData or null · optionalMove object content or package content in BCS, default to be None unless SuiObjectDataOptions.showBcs is set to true
  • content · Data or null · optionalMove object content or package content, default to be None unless SuiObjectDataOptions.showContent is set to true
  • digest · ObjectDigest · requiredBase64 string representing the object digest
  • display · DisplayFieldsResponse or null · optionalThe Display metadata for frontend UI rendering, default to be None unless SuiObjectDataOptions.showContent is set to true This can also be None if the struct type does not have Display defined See more details in https://forums.sui.io/t/nft-object-display-proposal/4872
  • objectId · ObjectID · required
  • owner · Owner or null · optionalThe owner of this object. Default to be None unless SuiObjectDataOptions.showOwner is set to true
  • previousTransaction · TransactionDigest or null · optionalThe digest of the transaction that created or last mutated this object. Default to be None unless SuiObjectDataOptions.showPreviousTransaction is set to true
  • storageRebate · BigInt<u64> or null · optionalThe amount of SUI we would rebate if this object gets deleted. This number is re-calculated each time the object is mutated based on the present storage gas price.
  • type · string or null · optionalThe type of the object. Default to be None unless SuiObjectDataOptions.showType is set to true
  • version · SequenceNumber · requiredObject version.

ObjectDataOptions ​

  • showBcs · boolean · optionalWhether to show the content in BCS format. Default to be False
  • showContent · boolean · optionalWhether to show the content(i.e., package content or Move struct content) of the object. Default to be False
  • showDisplay · boolean · optionalWhether to show the Display metadata of the object for frontend rendering. Default to be False
  • showOwner · boolean · optionalWhether to show the owner of the object. Default to be False
  • showPreviousTransaction · boolean · optionalWhether to show the previous transaction digest of the object. Default to be False
  • showStorageRebate · boolean · optionalWhether to show the storage rebate of the object. Default to be False
  • showType · boolean · optionalWhether to show the type of the object. Default to be False

ObjectDigest ​

Type: Digest

ObjectID ​

Type: Hex

ObjectPermissions ​

A bitflag set of ObjectPermissions.

Type: integer (uint64)

ObjectRead ​

One of:

  • object - The object exists and is found with this version

    • details · ObjectData · required
    • status · "VersionFound" · required
  • object - The object does not exist

    • details · ObjectID · required
    • status · "ObjectNotExists" · required
  • object - The object is found to be deleted with this version

    • details · ObjectRef · required
    • status · "ObjectDeleted" · required
  • object - The object exists but not found with this version

  • object - The asked object version is higher than the latest

    • details · object · required
    • status · "VersionTooHigh" · required

ObjectRef ​

  • digest · ObjectDigest · requiredBase64 string representing the object digest
  • objectId · ObjectID · requiredHex code as string representing the object id
  • version · SequenceNumber · requiredObject version.

ObjectResponseError ​

One of:

  • object

    • code · "notExists" · required
    • object_id · ObjectID · required
  • object

    • code · "dynamicFieldNotFound" · required
    • parent_object_id · ObjectID · required
  • object

    • code · "deleted" · required
    • digest · ObjectDigest · requiredBase64 string representing the object digest
    • object_id · ObjectID · required
    • version · SequenceNumber2 · requiredObject version.
  • code · "unknown"

  • object

    • code · "displayError" · required
    • error · string · required

ObjectResponseQuery ​

  • filter · SuiObjectDataFilter or null · optionalIf None, no filter will be applied
  • options · ObjectDataOptions or null · optionalconfig which fields to include in the response, by default only digest is included

ObjectValueKind ​

Type: "ByImmutableReference" or "ByMutableReference" or "ByValue"

OwnedObjectRef ​

Owner ​

One of:

  • AddressOwner · SuiAddressObject is exclusively owned by a single address, and is mutable.
  • ObjectOwner · SuiAddressObject is exclusively owned by a single object, and is mutable. The object ID is converted to SuiAddress as SuiAddress is universal.
  • Shared · objectObject is shared, can be used by any address, and is mutable.
  • "Immutable" - Object is immutable, and hence ownership doesn't matter.
  • ConsensusAddressOwner · objectObject is exclusively owned by a single address and sequenced via consensus.
  • Party · objectObject is sequenced via consensus with per-address permissions. Each address can be granted a subset of [ObjectPermission] flags. Addresses not explicitly listed fall back to the default permissions.

Page<Checkpoint, BigInt<u64>> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

  • data · Checkpoint[] · required
  • hasNextPage · boolean · required
  • nextCursor · BigInt<u64> or null · optional

Page<Coin, String> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

  • data · Coin[] · required
  • hasNextPage · boolean · required
  • nextCursor · string or null · optional

Page<DynamicFieldInfo, ObjectID> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

Page<EpochInfo, BigInt<u64>> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

  • data · EpochInfo[] · required
  • hasNextPage · boolean · required
  • nextCursor · BigInt<u64> or null · optional

Page<Event, EventID> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

  • data · Event[] · required
  • hasNextPage · boolean · required
  • nextCursor · EventID or null · optional

Page<String, ObjectID> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

  • data · string[] · required
  • hasNextPage · boolean · required
  • nextCursor · ObjectID or null · optional

Page<SuiObjectResponse, CheckpointedObjectID> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

Page<SuiObjectResponse, ObjectID> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

Page<TransactionBlockResponse, TransactionDigest> ​

next_cursor points to the last item in the page; Reading with next_cursor will start from the next item after next_cursor if next_cursor is Some, otherwise it will start from the first item.

Party ​

Per-address permission map for a party-owned object. Addresses not in members receive default_permissions.

  • default_permissions · ObjectPermissions · requiredThe default permissions, used for any party member not explicitly listed in members.
  • members · map of ObjectPermissions · requiredThe permissions for each party member.

PasskeyAuthenticator ​

An passkey authenticator with parsed fields. See field defition below. Can be initialized from [struct RawPasskeyAuthenticator].

  • authenticator_data · integer (uint8)[] · requiredauthenticatorData is a bytearray that encodes Authenticator Data structure returned by the authenticator attestation response as is.
  • client_data_json · string · requiredclientDataJSON contains a JSON-compatible UTF-8 encoded string of the client data which is passed to the authenticator by the client during the authentication request (see CollectedClientData)

PasskeyAuthenticatorAsBytes ​

Type: Base64

ProtocolConfig ​

  • attributes · map of ProtocolConfigValue or null · required
  • configs · object · optionalLossless view of every protocol-config attribute and feature flag, rendered to JSON. Unlike attributes, this includes non-scalar fields (e.g. lists) and is the preferred surface for clients that need to read complex values.
  • featureFlags · map of boolean · required
  • maxSupportedProtocolVersion · ProtocolVersion · required
  • minSupportedProtocolVersion · ProtocolVersion · required
  • protocolVersion · ProtocolVersion · required

ProtocolConfigValue ​

One of:

ProtocolVersion ​

Type: BigInt<u64>

PublicKey ​

One of:

RawData ​

One of:

  • object

    • bcsBytes · Base64 · required
    • dataType · "moveObject" · required
    • hasPublicTransfer · boolean · required
    • type · string · required
    • version · SequenceNumber2 · required
  • object

RPCTransactionRequestParams ​

One of:

Secp256k1SuiSignature ​

Type: Base64

Secp256r1SuiSignature ​

Type: Base64

SequenceNumber ​

Type: BigInt<u64>

SequenceNumber2 ​

Type: integer (uint64)

Signature ​

One of:

Stake ​

One of:

  • status · "Pending"

  • object

    • estimatedReward · BigInt<u64> · required
    • status · "Active" · required
  • status · "Unstaked"

SuiActiveJwk ​

SuiAddress ​

Type: Hex

SuiArgument ​

An argument to a transaction in a programmable transaction block

One of:

  • "GasCoin" - The gas coin. The gas coin can only be used by-ref, except for with TransferObjects, which can use it by-value.
  • Input · integer (uint16) One of the input objects or primitive values (from ProgrammableTransactionBlock inputs)
  • Result · integer (uint16) The result of another transaction (from ProgrammableTransactionBlock transactions)
  • NestedResult · [integer (uint16), integer (uint16)] Like a Result but it accesses a nested result. Currently, the only usage of this is to access a value from a Move call with multiple return values.

SuiAuthenticatorStateExpire ​

SuiCallArg ​

One of:

SuiChangeEpoch ​

SuiCoinMetadata ​

  • decimals · integer (uint8) · requiredNumber of decimal places the coin uses.
  • description · string · requiredDescription of the token
  • iconUrl · string or null · optionalURL for the token logo
  • id · ObjectID or null · optionalObject id for the CoinMetadata object
  • name · string · requiredName for the token
  • symbol · string · requiredSymbol for the token

SuiEndOfEpochTransactionKind ​

One of:

  • "AuthenticatorStateCreate" or "RandomnessStateCreate" or "CoinDenyListStateCreate" or "StoreExecutionTimeObservations" or "AccumulatorRootCreate" or "CoinRegistryCreate" or "DisplayRegistryCreate" or "AddressAliasStateCreate" or "WriteAccumulatorStorageCost" or "ForwardingAddressRegistryCreate"
  • ChangeEpoch · SuiChangeEpoch
  • AuthenticatorStateExpire · SuiAuthenticatorStateExpire
  • BridgeStateCreate · CheckpointDigest
  • BridgeCommitteeUpdate · SequenceNumber2

SuiExecutionResult ​

  • mutableReferenceOutputs · [SuiArgument, integer (uint8)[], TypeTag][] · optionalThe value of any arguments that were mutably borrowed. Non-mut borrowed values are not included
  • returnValues · [integer (uint8)[], TypeTag][] · optionalThe return values from the transaction

SuiJsonValue ​

Type: any

SuiJWK ​

  • alg · string · required
  • e · string · required
  • kty · string · required
  • n · string · required

SuiJwkId ​

  • iss · string · required
  • kid · string · required

SuiMoveAbility ​

Type: "Copy" or "Drop" or "Store" or "Key"

SuiMoveAbilitySet ​

SuiMoveAbort ​

  • error_code · integer (uint64) or null (uint64) · optional
  • function · string or null · optional
  • line · integer (uint16) or null (uint16) · optional
  • module_id · string or null · optional

SuiMoveModuleId ​

  • address · string · required
  • name · string · required

SuiMoveNormalizedEnum ​

SuiMoveNormalizedField ​

SuiMoveNormalizedFunction ​

SuiMoveNormalizedModule ​

SuiMoveNormalizedStruct ​

SuiMoveNormalizedType ​

One of:

SuiMoveStructTypeParameter ​

SuiMoveVisibility ​

Type: "Private" or "Public" or "Friend"

SuiObjectDataFilter ​

One of:

SuiObjectResponse ​

SuiProgrammableMoveCall ​

The transaction for calling a Move function, either an entry function or a public function (which cannot return references).

  • arguments · SuiArgument[] · optionalThe arguments to the function.
  • function · string · requiredThe function to be called.
  • module · string · requiredThe specific module in the package containing the function.
  • package · ObjectID · requiredThe package containing the module and function.
  • type_arguments · string[] · optionalThe type arguments to the function.

SuiReservation ​

One of:

SuiSystemStateSummary ​

This is the JSON-RPC type for the SUI system state object. It flattens all fields to make them top-level fields such that it as minimum dependencies to the internal data structures of the SUI system state type.

  • activeValidators · 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 start
  • inactivePoolsId · 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 to active_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 out
  • stakingPoolMappingsId · 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 their Validator structs.
  • validatorCandidatesSize · BigInt<u64> · requiredNumber of preactive validators.
  • validatorLowStakeGracePeriod · BigInt<u64> · requiredA validator can have stake below validator_low_stake_threshold for this many epochs before being kicked out.
  • validatorLowStakeThreshold · BigInt<u64> · requiredValidators with stake amount below validator_low_stake_threshold are considered to have low stake and will be escorted out of the validator set after being below this threshold for more than validator_low_stake_grace_period number of epochs.
  • validatorReportRecords · [SuiAddress, SuiAddress[]][] · requiredA map storing the records of validator reporting each other.
  • validatorVeryLowStakeThreshold · BigInt<u64> · requiredValidators with stake below validator_very_low_stake_threshold will be removed immediately at epoch change, no grace period.

SuiTransaction ​

A single transaction in a programmable transaction block.

One of:

  • MoveCall · SuiProgrammableMoveCallA call to either an entry or a public Move function
  • TransferObjects · [SuiArgument[], SuiArgument] (Vec<forall T:key+store. T>, address) It sends n-objects to the specified address. These objects must have store (public transfer) and either the previous owner must be an address or the object must be newly created.
  • SplitCoins · [SuiArgument, SuiArgument[]] (&mut Coin<T>, Vec<u64>) -> Vec<Coin<T>> It splits off some amounts into a new coins with those amounts
  • MergeCoins · [SuiArgument, SuiArgument[]] (&mut Coin<T>, Vec<Coin<T>>) It merges n-coins into the first coin
  • Publish · ObjectID[] Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on-chain.
  • Upgrade · [ObjectID[], ObjectID, SuiArgument] Upgrades a Move package
  • MakeMoveVec · [string or null, SuiArgument[]] forall T: Vec<T> -> vector<T> Given n-values of the same type, it constructs a vector. For non objects or an empty vector, the type tag must be specified.

SuiTransactionBlockBuilderMode ​

One of:

  • "Commit" - Regular Sui Transactions that are committed on chain
  • "DevInspect" - Simulated transaction that allows calling any Move function with arbitrary values.

SuiValidatorSummary ​

This is the JSON-RPC type for the SUI validator. It flattens all inner structures to top-level fields so that they are decoupled from the internal definitions.

  • commissionRate · BigInt<u64> · required
  • description · string · required
  • exchangeRatesId · ObjectID · requiredID of the exchange rate table object.
  • exchangeRatesSize · BigInt<u64> · requiredNumber of exchange rates in the table.
  • gasPrice · BigInt<u64> · required
  • imageUrl · string · required
  • name · string · required
  • netAddress · string · required
  • networkPubkeyBytes · Base64 · required
  • nextEpochCommissionRate · BigInt<u64> · required
  • nextEpochGasPrice · BigInt<u64> · required
  • nextEpochNetAddress · string or null · optional
  • nextEpochNetworkPubkeyBytes · Base64 or null · optional
  • nextEpochP2pAddress · string or null · optional
  • nextEpochPrimaryAddress · string or null · optional
  • nextEpochProofOfPossession · Base64 or null · optional
  • nextEpochProtocolPubkeyBytes · Base64 or null · optional
  • nextEpochStake · BigInt<u64> · required
  • nextEpochWorkerAddress · string or null · optional
  • nextEpochWorkerPubkeyBytes · Base64 or null · optional
  • operationCapId · ObjectID · required
  • p2pAddress · string · required
  • pendingPoolTokenWithdraw · BigInt<u64> · requiredPending pool token withdrawn during the current epoch, emptied at epoch boundaries.
  • pendingStake · BigInt<u64> · requiredPending stake amount for this epoch.
  • pendingTotalSuiWithdraw · BigInt<u64> · requiredPending stake withdrawn during the current epoch, emptied at epoch boundaries.
  • poolTokenBalance · BigInt<u64> · requiredTotal number of pool tokens issued by the pool.
  • primaryAddress · string · required
  • projectUrl · string · required
  • proofOfPossessionBytes · Base64 · required
  • protocolPubkeyBytes · Base64 · required
  • rewardsPool · BigInt<u64> · requiredThe epoch stake rewards will be added here at the end of each epoch.
  • stakingPoolActivationEpoch · BigInt<u64> or null · optionalThe epoch at which this pool became active.
  • stakingPoolDeactivationEpoch · BigInt<u64> or null · optionalThe epoch at which this staking pool ceased to be active. None = {pre-active, active},
  • stakingPoolId · ObjectID · requiredID of the staking pool object.
  • stakingPoolSuiBalance · BigInt<u64> · requiredThe total number of SUI tokens in this pool.
  • suiAddress · SuiAddress · required
  • votingPower · BigInt<u64> · required
  • workerAddress · string · required
  • workerPubkeyBytes · Base64 · required

SuiWithdrawalTypeArg ​

One of:

SuiWithdrawFrom ​

Type: "sender" or "sponsor"

Supply ​

TransactionBlock ​

TransactionBlockBytes ​

  • gas · ObjectRef[] · requiredthe gas objects to be used
  • inputObjects · InputObjectKind[] · requiredobjects to be used in this transaction
  • txBytes · Base64 · requiredBCS serialized transaction data bytes without its type tag, as base-64 encoded string.

TransactionBlockData ​

One of:

TransactionBlockEffects ​

One of:

  • abortError · SuiMoveAbort or null · optionalThe abort error populated if the transaction failed with an abort code.
  • accumulatorEvents · AccumulatorEvent[] · optional
  • created · OwnedObjectRef[] · optionalObjectRef and owner of new objects created.
  • deleted · ObjectRef[] · optionalObject Refs of objects now deleted (the old refs).
  • dependencies · TransactionDigest[] · optionalThe set of transaction digests this transaction depends on.
  • eventsDigest · TransactionEventsDigest or null · optionalThe digest of the events emitted during execution, can be None if the transaction does not emit any event.
  • executedEpoch · BigInt<u64> · requiredThe epoch when this transaction was executed.
  • gasObject · OwnedObjectRef · requiredThe updated gas object reference. Have a dedicated field for convenient access. It's also included in mutated.
  • gasUsed · GasCostSummary · required
  • messageVersion · "v1" · required
  • modifiedAtVersions · TransactionBlockEffectsModifiedAtVersions[] · optionalThe version that every modified (mutated or deleted) object had before it was modified by this transaction.
  • mutated · OwnedObjectRef[] · optionalObjectRef and owner of mutated objects, including gas object.
  • sharedObjects · ObjectRef[] · optionalThe object references of the shared objects used in this transaction. Empty if no shared objects were used.
  • status · ExecutionStatus · requiredThe status of the execution
  • transactionDigest · TransactionDigest · requiredThe transaction digest
  • unwrapped · OwnedObjectRef[] · optionalObjectRef and owner of objects that are unwrapped in this transaction. Unwrapped objects are objects that were wrapped into other objects in the past, and just got extracted out.
  • unwrappedThenDeleted · ObjectRef[] · optionalObject refs of objects previously wrapped in other objects but now deleted.
  • wrapped · ObjectRef[] · optionalObject refs of objects now wrapped in other objects.

TransactionBlockEffectsModifiedAtVersions ​

TransactionBlockKind ​

One of:

  • object - A system transaction that will update epoch information on-chain.

  • object - A system transaction used for initializing the initial state of the chain.

    • kind · "Genesis" · required
    • objects · ObjectID[] · required
  • object - A system transaction marking the start of a series of transactions scheduled as part of a checkpoint

  • object - A series of transactions where the results of one transaction can be used in future transactions

    • inputs · SuiCallArg[] · requiredInput objects or primitive values
    • kind · "ProgrammableTransaction" · required
    • transactions · SuiTransaction[] · requiredThe transactions to be executed sequentially. A failure in any transaction will result in the failure of the entire programmable transaction block.
  • object - A transaction which updates global authenticator state

  • object - A transaction which updates global randomness state

    • epoch · BigInt<u64> · required
    • kind · "RandomnessStateUpdate" · required
    • random_bytes · integer (uint8)[] · required
    • randomness_round · BigInt<u64> · required
  • object - The transaction which occurs only at the end of the epoch

  • object

  • object

  • object

  • object - A series of commands where the results of one command can be used in future commands

    • inputs · SuiCallArg[] · requiredInput objects or primitive values
    • kind · "ProgrammableSystemTransaction" · required
    • transactions · SuiTransaction[] · requiredThe transactions to be executed sequentially. A failure in any transaction will result in the failure of the entire programmable transaction block.

TransactionBlockResponse ​

  • balanceChanges · BalanceChange[] or null · optional
  • checkpoint · BigInt<u64> or null · optionalThe checkpoint number when this transaction was included and hence finalized. This is only returned in the read api, not in the transaction execution api.
  • confirmedLocalExecution · boolean or null · optional
  • digest · TransactionDigest · required
  • effects · TransactionBlockEffects or null · optional
  • errors · string[] · optional
  • events · Event[] or null · optional
  • objectChanges · ObjectChange[] or null · optional
  • rawEffects · integer (uint8)[] · optional
  • rawTransaction · Base64 · optionalBCS encoded [SenderSignedData] that includes input object references returns empty array if show_raw_transaction is false
  • timestampMs · BigInt<u64> or null · optional
  • transaction · TransactionBlock or null · optionalTransaction input data

TransactionBlockResponseOptions ​

  • showBalanceChanges · boolean · optionalWhether to show balance_changes. Default to be False
  • showEffects · boolean · optionalWhether to show transaction effects. Default to be False
  • showEvents · boolean · optionalWhether to show transaction events. Default to be False
  • showInput · boolean · optionalWhether to show transaction input data. Default to be False
  • showObjectChanges · boolean · optionalWhether to show object_changes. Default to be False
  • showRawEffects · boolean · optionalWhether to show raw transaction effects. Default to be False
  • showRawInput · boolean · optionalWhether to show bcs-encoded transaction input data

TransactionBlockResponseQuery ​

TransactionDigest ​

A transaction will have a (unique) digest.

Type: Digest

TransactionEventsDigest ​

Type: Digest

TransactionFilter ​

One of:

  • Checkpoint · BigInt<u64>Query by checkpoint.
  • MoveFunction · objectQuery by move function.
  • InputObject · ObjectIDQuery by input object.
  • ChangedObject · ObjectIDQuery by changed object, including created, mutated and unwrapped objects.
  • AffectedObject · ObjectIDQuery for transactions that touch this object.
  • FromAddress · SuiAddressQuery by sender address.
  • ToAddress · SuiAddressQuery by recipient address.
  • FromAndToAddress · objectQuery by sender and recipient address.
  • FromOrToAddress · objectQuery txs that have a given address as sender or recipient.
  • TransactionKind · stringQuery by transaction kind
  • TransactionKindIn · string[] Query transactions of any given kind in the input.

TransferObjectParams ​

TypeOrigin ​

Identifies a struct and the module it was defined in

  • datatype_name · string · required
  • module_name · string · required
  • package · ObjectID · required

TypeTag ​

Type: string

UpgradeInfo ​

Upgraded package info for the linkage table

  • upgraded_id · ObjectID · requiredID of the upgraded packages
  • upgraded_version · SequenceNumber2 · requiredVersion of the upgraded package

ValidatorApy ​

  • address · SuiAddress · required
  • apy · number (double) · required

ValidatorApys ​

ZkLoginAuthenticator ​

An zk login authenticator with all the necessary fields.

  • inputs · ZkLoginInputs · required
  • maxEpoch · integer (uint64) · required
  • userSignature · Signature · required

ZkLoginAuthenticatorAsBytes ​

Type: Base64

ZkLoginInputs ​

All inputs required for the zk login proof verification and other public inputs.

ZkLoginIntentScope ​

Type: "TransactionData" or "PersonalMessage"

ZkLoginProof ​

The struct for zk login proof.

ZkLoginPublicIdentifier ​

A wrapper struct to retrofit in [enum PublicKey] for zkLogin. Useful to construct [struct MultiSigPublicKey].

Type: Base64

ZkLoginVerifyResult ​

  • errors · string[] · requiredThe errors field captures any verification error
  • success · boolean · requiredThe boolean result of the verification. If true, errors should be empty.

The full-stack Sui data layer.