JSON-RPC Types
The types that JSON-RPC methods take and return.
AccumulatorEvent
accumulatorObj·ObjectID· requiredaddress·SuiAddress· requiredoperation·AccumulatorOperation· requiredty·TypeTag· requiredvalue·AccumulatorValue· required
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) · requiredcoinType·string· requiredfundsInAddressBalance·BigInt<u128>· optionalThe portion oftotal_balancethat resides in the address balance rather than in the coin objects.total_balanceis the total amount of funds owned by the address. That is, do not add these two fields together.lockedBalance· map ofBigInt<u128>· requiredtotalBalance·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· requiredowner·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
lastCommitteeUpdateEpoch·integer(uint64) · requiredmemberRegistration· [SuiAddress,MoveTypeCommitteeMemberRegistration][] · requiredmembers· [integer(uint8)[],MoveTypeCommitteeMember][] · required
BridgeLimiterSummary
transferLimit· [BridgeChainId,BridgeChainId,integer(uint64)][] · requiredtransferRecords· [BridgeChainId,BridgeChainId,MoveTypeBridgeTransferRecord][] · required
BridgeSummary
bridgeRecordsId·ObjectID· requiredObject ID of bridge Records (dynamic field)bridgeVersion·BigInt<u64>· requiredchainId·integer(uint8) · requiredSelf Chain IDcommittee·BridgeCommitteeSummary· requiredisFrozen·boolean· requiredWhether the bridge is currently frozen or notlimiter·BridgeLimiterSummary· requiredSummary of the limitermessageVersion·integer(uint8) · requiredsequenceNums· [integer(uint8),BigInt<u64>][] · requiredSequence numbers of all message typestreasury·BridgeTreasurySummary· requiredSummary of the treasury
BridgeTokenMetadata
decimalMultiplier·integer(uint64) · requiredid·integer(uint8) · requirednativeToken·boolean· requirednotionalValue·integer(uint64) · required
BridgeTreasurySummary
idTokenTypeMap· [integer(uint8),string][] · requiredsupportedTokens· [string,BridgeTokenMetadata][] · required
Checkpoint
checkpointCommitments·CheckpointCommitment[] · requiredCommitments to checkpoint statedigest·CheckpointDigest· requiredCheckpoint digestendOfEpochData·EndOfEpochDataornull· optionalPresent only on the final checkpoint of the epoch.epoch·BigInt<u64>· requiredCheckpoint's epoch IDepochRollingGasCostSummary·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·CheckpointDigestornull· optionalDigest of the previous checkpointsequenceNumber·BigInt<u64>· requiredCheckpoint sequence numbertimestampMs·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 committransactions·TransactionDigest[] · requiredTransaction digestsvalidatorSignature·Base64· requiredValidator Signature
CheckpointArtifactsDigest
Type: Digest
CheckpointCommitment
One of:
ECMHLiveObjectSetDigest·ECMHLiveObjectSetDigestCheckpointArtifactsDigest·CheckpointArtifactsDigest
CheckpointDigest
Representation of a Checkpoint's digest
Type: Digest
CheckpointedObjectID
atCheckpoint·BigInt<u64>ornull· optionalobjectId·ObjectID· required
CheckpointId
One of:
Claim
A claim consists of value and index_mod_4.
indexMod4·integer(uint8) · requiredvalue·string· required
Coin
balance·BigInt<u64>· requiredcoinObjectId·ObjectID· requiredcoinType·string· requireddigest·ObjectDigest· requiredpreviousTransaction·TransactionDigest· requiredversion·SequenceNumber· required
CommitteeInfo
RPC representation of the [Committee] type.
epoch·BigInt<u64>· requiredvalidators· [AuthorityPublicKeyBytes,BigInt<u64>][] · required
CompressedSignature
Unlike [enum Signature], [enum CompressedSignature] does not contain public key.
One of:
Ed25519·Base64Secp256k1·Base64Secp256r1·Base64ZkLogin·ZkLoginAuthenticatorAsBytesPasskey·PasskeyAuthenticatorAsBytes
ConsensusCommitDigest
Type: Digest
ConsensusDeterminedVersionAssignments
One of:
CancelledTransactions· [TransactionDigest, [ObjectID,SequenceNumber2][]][]CancelledTransactionsV2· [TransactionDigest, [[ObjectID,SequenceNumber2],SequenceNumber2][]][]
Data
One of:
objectdataType·"moveObject"· requiredfields·MoveStruct· requiredhasPublicTransfer·boolean· requiredtype·string· required
objectdataType·"package"· requireddisassembled·object· required
DelegatedStake
stakes·Stake[] · requiredstakingPool·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>ornull· optionalThe gas budget for the transaction.gasObjects· [ObjectID,SequenceNumber2,ObjectDigest][] ornull· optionalThe gas objects used to pay for the transaction.gasSponsor·SuiAddressornull· optionalThe sponsor of the gas for the transaction, might be different from the sender.showRawTxnDataAndEffects·booleanornull· optionalWhether to return the raw transaction data and effects.skipChecks·booleanornull· 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·stringornull· optionalExecution error from executing the transactionsevents·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[] ornull· optionalExecution results (including return values) from executing the transactions
Digest
A representation of a 32 byte digest
Type: Base58
DisplayFieldsResponse
data·objectornull· optionalerror·ObjectResponseErrorornull· optional
DryRunTransactionBlockResponse
balanceChanges·BalanceChange[] · requiredeffects·TransactionBlockEffects· requiredevents·Event[] · requiredexecutionErrorSource·stringornull· optionalinput·TransactionBlockData· requiredobjectChanges·ObjectChange[] · requiredsuggestedGasPrice·BigInt<u64>ornull· optional
DynamicFieldInfo
One of:
DynamicFieldName
type·string· requiredvalue·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 isSomeif 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
epochEndTimestamp·BigInt<u64>· requiredlastCheckpointId·BigInt<u64>· requiredleftoverStorageFundInflow·BigInt<u64>· requiredprotocolVersion·BigInt<u64>· requiredexisting fields fromSystemEpochInforeferenceGasPrice·BigInt<u64>· requiredstakeSubsidyAmount·BigInt<u64>· requiredstorageCharge·BigInt<u64>· requiredstorageFundBalance·BigInt<u64>· requiredstorageFundReinvestment·BigInt<u64>· requiredstorageRebate·BigInt<u64>· requiredtotalGasFees·BigInt<u64>· requiredtotalStake·BigInt<u64>· requiredtotalStakeRewardsDistributed·BigInt<u64>· required
EpochInfo
endOfEpochInfo·EndOfEpochInfoornull· optionalepoch·BigInt<u64>· requiredepoch numberepochStartTimestamp·BigInt<u64>· requiredepochTotalTransactions·BigInt<u64>· requiredcount of tx in epochfirstCheckpointId·BigInt<u64>· requiredfirst, last checkpoint sequence numbersreferenceGasPrice·integer(uint64) ornull(uint64) · optionalvalidators·SuiValidatorSummary[] · requiredlist of validators included in epoch
Event
One of:
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, queryMoveModuleby module B returns the event. QueryMoveEventModuleby 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 in0xabcd::MyModule, and namedFoo, then the struct tag is0xabcd::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, queryMoveEventModuleby module A returns the event. QueryMoveModuleby 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.
eventSeq·BigInt<u64>· requiredtxDigest·TransactionDigest· required
ExecuteTransactionRequestType
Type: "WaitForEffectsCert" or "WaitForLocalExecution"
ExecutionStatus
One of:
status·"success"objecterror·string· requiredstatus·"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/executionnonRefundableStorageFee·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
budget·BigInt<u64>· requiredowner·SuiAddress· requiredpayment·ObjectRef[] · requiredprice·BigInt<u64>· required
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:
MultiSig·MultiSigMultiSigLegacy·MultiSigLegacySignature·SignatureZkLoginAuthenticator·ZkLoginAuthenticatorPasskeyAuthenticator·PasskeyAuthenticator
GetPastObjectRequest
objectId·ObjectID· requiredthe ID of the queried objectversion·SequenceNumber· requiredthe version of the queried object.
Hex
Hex string encoding.
Type: string
InputObjectKind
One of:
MoveCallParams
arguments·SuiJsonValue[] · requiredfunction·string· requiredmodule·string· requiredpackageObjectId·ObjectID· requiredtypeArguments·TypeTag[] · optional
MoveFunctionArgType
One of:
"Pure"Object·ObjectValueKind
MoveStruct
One of:
MoveTypeBridgeTransferRecord
Rust version of the Move limiter::TransferRecord type.
hour_head·integer(uint64) · requiredhour_tail·integer(uint64) · requiredper_hour_amounts·integer(uint64)[] · requiredtotal_amount·integer(uint64) · required
MoveTypeCommitteeMember
Rust version of the Move committee::CommitteeMember type.
blocklisted·boolean· requiredbridgePubkeyBytes·integer(uint8)[] · requiredhttpRestUrl·integer(uint8)[] · requiredsuiAddress·SuiAddress· requiredvotingPower·integer(uint64) · required
MoveTypeCommitteeMemberRegistration
Rust version of the Move committee::CommitteeMemberRegistration type.
bridgePubkeyBytes·integer(uint8)[] · requiredhttpRestUrl·integer(uint8)[] · requiredsuiAddress·SuiAddress· required
MoveValue
One of:
integer(uint32)booleanSuiAddressMoveValue[]stringid·ObjectIDMoveStructMoveValueornullMoveVariant
MoveVariant
fields· map ofMoveValue· requiredtype·string· requiredvariant·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 publisheddigest·ObjectDigest· requiredmodules·string[] · requiredpackageId·ObjectID· requiredtype·"published"· requiredversion·SequenceNumber· required
object- Transfer objects to new address / wrap in another objectdigest·ObjectDigest· requiredobjectId·ObjectID· requiredobjectType·string· requiredrecipient·Owner· requiredsender·SuiAddress· requiredtype·"transferred"· requiredversion·SequenceNumber· required
object- Object mutated.digest·ObjectDigest· requiredobjectId·ObjectID· requiredobjectType·string· requiredowner·Owner· requiredpreviousVersion·SequenceNumber· requiredsender·SuiAddress· requiredtype·"mutated"· requiredversion·SequenceNumber· required
object- Delete objectobjectId·ObjectID· requiredobjectType·string· requiredsender·SuiAddress· requiredtype·"deleted"· requiredversion·SequenceNumber· required
object- Wrapped objectobjectId·ObjectID· requiredobjectType·string· requiredsender·SuiAddress· requiredtype·"wrapped"· requiredversion·SequenceNumber· required
object- New object creationdigest·ObjectDigest· requiredobjectId·ObjectID· requiredobjectType·string· requiredowner·Owner· requiredsender·SuiAddress· requiredtype·"created"· requiredversion·SequenceNumber· required
ObjectData
bcs·RawDataornull· optionalMove object content or package content in BCS, default to be None unless SuiObjectDataOptions.showBcs is set to truecontent·Dataornull· optionalMove object content or package content, default to be None unless SuiObjectDataOptions.showContent is set to truedigest·ObjectDigest· requiredBase64 string representing the object digestdisplay·DisplayFieldsResponseornull· 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/4872objectId·ObjectID· requiredowner·Ownerornull· optionalThe owner of this object. Default to be None unless SuiObjectDataOptions.showOwner is set to truepreviousTransaction·TransactionDigestornull· optionalThe digest of the transaction that created or last mutated this object. Default to be None unless SuiObjectDataOptions.showPreviousTransaction is set to truestorageRebate·BigInt<u64>ornull· 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·stringornull· optionalThe type of the object. Default to be None unless SuiObjectDataOptions.showType is set to trueversion·SequenceNumber· requiredObject version.
ObjectDataOptions
showBcs·boolean· optionalWhether to show the content in BCS format. Default to be FalseshowContent·boolean· optionalWhether to show the content(i.e., package content or Move struct content) of the object. Default to be FalseshowDisplay·boolean· optionalWhether to show the Display metadata of the object for frontend rendering. Default to be FalseshowOwner·boolean· optionalWhether to show the owner of the object. Default to be FalseshowPreviousTransaction·boolean· optionalWhether to show the previous transaction digest of the object. Default to be FalseshowStorageRebate·boolean· optionalWhether to show the storage rebate of the object. Default to be FalseshowType·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 versiondetails·ObjectData· requiredstatus·"VersionFound"· required
object- The object does not existdetails·ObjectID· requiredstatus·"ObjectNotExists"· required
object- The object is found to be deleted with this versiondetails·ObjectRef· requiredstatus·"ObjectDeleted"· required
object- The object exists but not found with this versiondetails· [ObjectID,SequenceNumber2] · requiredstatus·"VersionNotFound"· required
object- The asked object version is higher than the latestdetails·object· requiredstatus·"VersionTooHigh"· required
ObjectRef
digest·ObjectDigest· requiredBase64 string representing the object digestobjectId·ObjectID· requiredHex code as string representing the object idversion·SequenceNumber· requiredObject version.
ObjectResponseError
One of:
objectcode·"notExists"· requiredobject_id·ObjectID· required
objectcode·"dynamicFieldNotFound"· requiredparent_object_id·ObjectID· required
objectcode·"deleted"· requireddigest·ObjectDigest· requiredBase64 string representing the object digestobject_id·ObjectID· requiredversion·SequenceNumber2· requiredObject version.
code·"unknown"objectcode·"displayError"· requirederror·string· required
ObjectResponseQuery
filter·SuiObjectDataFilterornull· optionalIf None, no filter will be appliedoptions·ObjectDataOptionsornull· 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[] · requiredhasNextPage·boolean· requirednextCursor·BigInt<u64>ornull· 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[] · requiredhasNextPage·boolean· requirednextCursor·stringornull· 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.
data·DynamicFieldInfo[] · requiredhasNextPage·boolean· requirednextCursor·ObjectIDornull· optional
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[] · requiredhasNextPage·boolean· requirednextCursor·BigInt<u64>ornull· 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.
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[] · requiredhasNextPage·boolean· requirednextCursor·ObjectIDornull· 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.
data·SuiObjectResponse[] · requiredhasNextPage·boolean· requirednextCursor·CheckpointedObjectIDornull· optional
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.
data·SuiObjectResponse[] · requiredhasNextPage·boolean· requirednextCursor·ObjectIDornull· optional
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.
data·TransactionBlockResponse[] · requiredhasNextPage·boolean· requirednextCursor·TransactionDigestornull· optional
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 inmembers.members· map ofObjectPermissions· 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)[] · requiredauthenticatorDatais a bytearray that encodes Authenticator Data structure returned by the authenticator attestation response as is.client_data_json·string· requiredclientDataJSONcontains 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 ofProtocolConfigValueornull· requiredconfigs·object· optionalLossless view of every protocol-config attribute and feature flag, rendered to JSON. Unlikeattributes, this includes non-scalar fields (e.g. lists) and is the preferred surface for clients that need to read complex values.featureFlags· map ofboolean· requiredmaxSupportedProtocolVersion·ProtocolVersion· requiredminSupportedProtocolVersion·ProtocolVersion· requiredprotocolVersion·ProtocolVersion· required
ProtocolConfigValue
One of:
u16·BigInt<u16>u32·BigInt<u32>u64·BigInt<u64>f64·stringbool·string
ProtocolVersion
Type: BigInt<u64>
PublicKey
One of:
Ed25519·Base64Secp256k1·Base64Secp256r1·Base64ZkLogin·ZkLoginPublicIdentifierPasskey·Base64
RawData
One of:
objectbcsBytes·Base64· requireddataType·"moveObject"· requiredhasPublicTransfer·boolean· requiredtype·string· requiredversion·SequenceNumber2· required
objectdataType·"package"· requiredid·ObjectID· requiredlinkageTable· map ofUpgradeInfo· requiredmoduleMap· map ofBase64· requiredtypeOriginTable·TypeOrigin[] · requiredversion·SequenceNumber2· required
RPCTransactionRequestParams
One of:
transferObjectRequestParams·TransferObjectParamsmoveCallRequestParams·MoveCallParams
Secp256k1SuiSignature
Type: Base64
Secp256r1SuiSignature
Type: Base64
SequenceNumber
Type: BigInt<u64>
SequenceNumber2
Type: integer (uint64)
Signature
One of:
Ed25519SuiSignature·Ed25519SuiSignatureSecp256k1SuiSignature·Secp256k1SuiSignatureSecp256r1SuiSignature·Secp256r1SuiSignature
Stake
One of:
status·"Pending"objectestimatedReward·BigInt<u64>· requiredstatus·"Active"· required
status·"Unstaked"
SuiActiveJwk
epoch·BigInt<u64>· requiredjwk·SuiJWK· requiredjwk_id·SuiJwkId· required
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 withTransferObjects, which can use it by-value.Input·integer(uint16) One of the input objects or primitive values (fromProgrammableTransactionBlockinputs)Result·integer(uint16) The result of another transaction (fromProgrammableTransactionBlocktransactions)NestedResult· [integer(uint16),integer(uint16)] Like aResultbut 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
min_epoch·BigInt<u64>· required
SuiCallArg
One of:
type·"object"objecttype·"pure"· requiredvalue·SuiJsonValue· requiredvalueType·stringornull· optional
objectreservation·SuiReservation· requiredtype·"fundsWithdrawal"· requiredtypeArg·SuiWithdrawalTypeArg· requiredwithdrawFrom·SuiWithdrawFrom· required
SuiChangeEpoch
computation_charge·BigInt<u64>· requiredepoch·BigInt<u64>· requiredepoch_start_timestamp_ms·BigInt<u64>· requiredstorage_charge·BigInt<u64>· requiredstorage_rebate·BigInt<u64>· required
SuiCoinMetadata
decimals·integer(uint8) · requiredNumber of decimal places the coin uses.description·string· requiredDescription of the tokeniconUrl·stringornull· optionalURL for the token logoid·ObjectIDornull· optionalObject id for the CoinMetadata objectname·string· requiredName for the tokensymbol·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·SuiChangeEpochAuthenticatorStateExpire·SuiAuthenticatorStateExpireBridgeStateCreate·CheckpointDigestBridgeCommitteeUpdate·SequenceNumber2
SuiExecutionResult
mutableReferenceOutputs· [SuiArgument,integer(uint8)[],TypeTag][] · optionalThe value of any arguments that were mutably borrowed. Non-mut borrowed values are not includedreturnValues· [integer(uint8)[],TypeTag][] · optionalThe return values from the transaction
SuiJsonValue
Type: any
SuiJWK
alg·string· requirede·string· requiredkty·string· requiredn·string· required
SuiJwkId
iss·string· requiredkid·string· required
SuiMoveAbility
Type: "Copy" or "Drop" or "Store" or "Key"
SuiMoveAbilitySet
abilities·SuiMoveAbility[] · required
SuiMoveAbort
error_code·integer(uint64) ornull(uint64) · optionalfunction·stringornull· optionalline·integer(uint16) ornull(uint16) · optionalmodule_id·stringornull· optional
SuiMoveModuleId
address·string· requiredname·string· required
SuiMoveNormalizedEnum
abilities·SuiMoveAbilitySet· requiredtypeParameters·SuiMoveStructTypeParameter[] · requiredvariantDeclarationOrder·string[] ornull· optionalvariants· map ofSuiMoveNormalizedField[] · required
SuiMoveNormalizedField
name·string· requiredtype·SuiMoveNormalizedType· required
SuiMoveNormalizedFunction
isEntry·boolean· requiredparameters·SuiMoveNormalizedType[] · requiredreturn·SuiMoveNormalizedType[] · requiredtypeParameters·SuiMoveAbilitySet[] · requiredvisibility·SuiMoveVisibility· required
SuiMoveNormalizedModule
address·string· requiredenums· map ofSuiMoveNormalizedEnum· optionalexposedFunctions· map ofSuiMoveNormalizedFunction· requiredfileFormatVersion·integer(uint32) · requiredfriends·SuiMoveModuleId[] · requiredname·string· requiredstructs· map ofSuiMoveNormalizedStruct· required
SuiMoveNormalizedStruct
abilities·SuiMoveAbilitySet· requiredfields·SuiMoveNormalizedField[] · requiredtypeParameters·SuiMoveStructTypeParameter[] · required
SuiMoveNormalizedType
One of:
"Bool"or"U8"or"U16"or"U32"or"U64"or"U128"or"U256"or"Address"or"Signer"Struct·objectVector·SuiMoveNormalizedTypeTypeParameter·integer(uint16)Reference·SuiMoveNormalizedTypeMutableReference·SuiMoveNormalizedType
SuiMoveStructTypeParameter
constraints·SuiMoveAbilitySet· requiredisPhantom·boolean· required
SuiMoveVisibility
Type: "Private" or "Public" or "Friend"
SuiObjectDataFilter
One of:
MatchAll·SuiObjectDataFilter[]MatchAny·SuiObjectDataFilter[]MatchNone·SuiObjectDataFilter[]Package·ObjectIDQuery by type a specified Package.MoveModule·objectQuery by type a specified Move module.StructType·stringQuery by typeAddressOwner·SuiAddressObjectOwner·ObjectIDObjectId·ObjectIDObjectIds·ObjectID[]Version·BigInt<u64>
SuiObjectResponse
data·ObjectDataornull· optionalerror·ObjectResponseErrorornull· optional
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:
maxAmountU64·BigInt<u64>· required
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 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.
SuiTransaction
A single transaction in a programmable transaction block.
One of:
MoveCall·SuiProgrammableMoveCallA call to either an entry or a public Move functionTransferObjects· [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 amountsMergeCoins· [SuiArgument,SuiArgument[]](&mut Coin<T>, Vec<Coin<T>>)It merges n-coins into the first coinPublish·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 packageMakeMoveVec· [stringornull,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>· requireddescription·string· requiredexchangeRatesId·ObjectID· requiredID of the exchange rate table object.exchangeRatesSize·BigInt<u64>· requiredNumber of exchange rates in the table.gasPrice·BigInt<u64>· requiredimageUrl·string· requiredname·string· requirednetAddress·string· requirednetworkPubkeyBytes·Base64· requirednextEpochCommissionRate·BigInt<u64>· requirednextEpochGasPrice·BigInt<u64>· requirednextEpochNetAddress·stringornull· optionalnextEpochNetworkPubkeyBytes·Base64ornull· optionalnextEpochP2pAddress·stringornull· optionalnextEpochPrimaryAddress·stringornull· optionalnextEpochProofOfPossession·Base64ornull· optionalnextEpochProtocolPubkeyBytes·Base64ornull· optionalnextEpochStake·BigInt<u64>· requirednextEpochWorkerAddress·stringornull· optionalnextEpochWorkerPubkeyBytes·Base64ornull· optionaloperationCapId·ObjectID· requiredp2pAddress·string· requiredpendingPoolTokenWithdraw·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· requiredprojectUrl·string· requiredproofOfPossessionBytes·Base64· requiredprotocolPubkeyBytes·Base64· requiredrewardsPool·BigInt<u64>· requiredThe epoch stake rewards will be added here at the end of each epoch.stakingPoolActivationEpoch·BigInt<u64>ornull· optionalThe epoch at which this pool became active.stakingPoolDeactivationEpoch·BigInt<u64>ornull· 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· requiredvotingPower·BigInt<u64>· requiredworkerAddress·string· requiredworkerPubkeyBytes·Base64· required
SuiWithdrawalTypeArg
One of:
balance·TypeTag· required
SuiWithdrawFrom
Type: "sender" or "sponsor"
Supply
value·BigInt<u64>· required
TransactionBlock
data·TransactionBlockData· requiredtxSignatures·GenericSignature[] · required
TransactionBlockBytes
gas·ObjectRef[] · requiredthe gas objects to be usedinputObjects·InputObjectKind[] · requiredobjects to be used in this transactiontxBytes·Base64· requiredBCS serialized transaction data bytes without its type tag, as base-64 encoded string.
TransactionBlockData
One of:
gasData·GasData· requiredmessageVersion·"v1"· requiredsender·SuiAddress· requiredtransaction·TransactionBlockKind· required
TransactionBlockEffects
One of:
abortError·SuiMoveAbortornull· optionalThe abort error populated if the transaction failed with an abort code.accumulatorEvents·AccumulatorEvent[] · optionalcreated·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·TransactionEventsDigestornull· 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· requiredmessageVersion·"v1"· requiredmodifiedAtVersions·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 executiontransactionDigest·TransactionDigest· requiredThe transaction digestunwrapped·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
objectId·ObjectID· requiredsequenceNumber·SequenceNumber· required
TransactionBlockKind
One of:
object- A system transaction that will update epoch information on-chain.computation_charge·BigInt<u64>· requiredepoch·BigInt<u64>· requiredepoch_start_timestamp_ms·BigInt<u64>· requiredkind·"ChangeEpoch"· requiredstorage_charge·BigInt<u64>· requiredstorage_rebate·BigInt<u64>· required
object- A system transaction used for initializing the initial state of the chain.kind·"Genesis"· requiredobjects·ObjectID[] · required
object- A system transaction marking the start of a series of transactions scheduled as part of a checkpointcommit_timestamp_ms·BigInt<u64>· requiredepoch·BigInt<u64>· requiredkind·"ConsensusCommitPrologue"· requiredround·BigInt<u64>· required
object- A series of transactions where the results of one transaction can be used in future transactionsinputs·SuiCallArg[] · requiredInput objects or primitive valueskind·"ProgrammableTransaction"· requiredtransactions·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 stateepoch·BigInt<u64>· requiredkind·"AuthenticatorStateUpdate"· requirednew_active_jwks·SuiActiveJwk[] · requiredround·BigInt<u64>· required
object- A transaction which updates global randomness stateepoch·BigInt<u64>· requiredkind·"RandomnessStateUpdate"· requiredrandom_bytes·integer(uint8)[] · requiredrandomness_round·BigInt<u64>· required
object- The transaction which occurs only at the end of the epochkind·"EndOfEpochTransaction"· requiredtransactions·SuiEndOfEpochTransactionKind[] · required
objectcommit_timestamp_ms·BigInt<u64>· requiredconsensus_commit_digest·ConsensusCommitDigest· requiredepoch·BigInt<u64>· requiredkind·"ConsensusCommitPrologueV2"· requiredround·BigInt<u64>· required
objectcommit_timestamp_ms·BigInt<u64>· requiredconsensus_commit_digest·ConsensusCommitDigest· requiredconsensus_determined_version_assignments·ConsensusDeterminedVersionAssignments· requiredepoch·BigInt<u64>· requiredkind·"ConsensusCommitPrologueV3"· requiredround·BigInt<u64>· requiredsub_dag_index·BigInt<u64>ornull· optional
objectadditional_state_digest·AdditionalConsensusStateDigest· requiredcommit_timestamp_ms·BigInt<u64>· requiredconsensus_commit_digest·ConsensusCommitDigest· requiredconsensus_determined_version_assignments·ConsensusDeterminedVersionAssignments· requiredepoch·BigInt<u64>· requiredkind·"ConsensusCommitPrologueV4"· requiredround·BigInt<u64>· requiredsub_dag_index·BigInt<u64>ornull· optional
object- A series of commands where the results of one command can be used in future commandsinputs·SuiCallArg[] · requiredInput objects or primitive valueskind·"ProgrammableSystemTransaction"· requiredtransactions·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[] ornull· optionalcheckpoint·BigInt<u64>ornull· 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·booleanornull· optionaldigest·TransactionDigest· requiredeffects·TransactionBlockEffectsornull· optionalerrors·string[] · optionalevents·Event[] ornull· optionalobjectChanges·ObjectChange[] ornull· optionalrawEffects·integer(uint8)[] · optionalrawTransaction·Base64· optionalBCS encoded [SenderSignedData] that includes input object references returns empty array ifshow_raw_transactionis falsetimestampMs·BigInt<u64>ornull· optionaltransaction·TransactionBlockornull· optionalTransaction input data
TransactionBlockResponseOptions
showBalanceChanges·boolean· optionalWhether to show balance_changes. Default to be FalseshowEffects·boolean· optionalWhether to show transaction effects. Default to be FalseshowEvents·boolean· optionalWhether to show transaction events. Default to be FalseshowInput·boolean· optionalWhether to show transaction input data. Default to be FalseshowObjectChanges·boolean· optionalWhether to show object_changes. Default to be FalseshowRawEffects·boolean· optionalWhether to show raw transaction effects. Default to be FalseshowRawInput·boolean· optionalWhether to show bcs-encoded transaction input data
TransactionBlockResponseQuery
filter·TransactionFilterornull· optionalIf None, no filter will be appliedoptions·TransactionBlockResponseOptionsornull· optionalconfig which fields to include in the response, by default only digest is included
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 kindTransactionKindIn·string[] Query transactions of any given kind in the input.
TransferObjectParams
objectId·ObjectID· requiredrecipient·SuiAddress· required
TypeOrigin
Identifies a struct and the module it was defined in
datatype_name·string· requiredmodule_name·string· requiredpackage·ObjectID· required
TypeTag
Type: string
UpgradeInfo
Upgraded package info for the linkage table
upgraded_id·ObjectID· requiredID of the upgraded packagesupgraded_version·SequenceNumber2· requiredVersion of the upgraded package
ValidatorApy
address·SuiAddress· requiredapy·number(double) · required
ValidatorApys
apys·ValidatorApy[] · requiredepoch·BigInt<u64>· required
ZkLoginAuthenticator
An zk login authenticator with all the necessary fields.
inputs·ZkLoginInputs· requiredmaxEpoch·integer(uint64) · requireduserSignature·Signature· required
ZkLoginAuthenticatorAsBytes
Type: Base64
ZkLoginInputs
All inputs required for the zk login proof verification and other public inputs.
addressSeed·Bn254FrElement· requiredheaderBase64·string· requiredissBase64Details·Claim· requiredproofPoints·ZkLoginProof· required
ZkLoginIntentScope
Type: "TransactionData" or "PersonalMessage"
ZkLoginProof
The struct for zk login proof.
a·Bn254FqElement[] · requiredb·Bn254FqElement[][] · requiredc·Bn254FqElement[] · required
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 errorsuccess·boolean· requiredThe boolean result of the verification. If true, errors should be empty.