Skip to main content

Sui Full Node gRPC Message Definitions

This page lists all message definitions for the Sui Full Node gRPC API. See also: Enum and Scalar Type Definitions

sui/rpc/v2/ledger_service.proto

BatchGetObjectsRequest
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to object_id,version,digest.
requests
GetObjectRequest (repeated)
BatchGetObjectsResponse
objects
GetObjectResult (repeated)
BatchGetTransactionsRequest
digests
string (repeated) — Required. The digests of the requested transactions.
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to digest.
BatchGetTransactionsResponse
transactions
GetCheckpointRequest
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to sequence_number,digest.
Union: checkpoint_id
digest
string — The digest of the requested checkpoint.
sequence_number
uint64 — The sequence number of the requested checkpoint.
GetCheckpointResponse
checkpoint
Checkpoint (optional)
GetEpochRequest
epoch
uint64 (optional) — The requested epoch. If no epoch is provided the current epoch will be returned.
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to epoch.
GetEpochResponse
epoch
Epoch (optional)
GetObjectRequest
object_id
string (optional) — Required. The ObjectId of the requested object.
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to object_id,version,digest.
version
uint64 (optional) — Request a specific version of the object. If no version is specified, and the object is live, then the latest version of the object is returned.
GetObjectResponse
object
Object (optional)
GetObjectResult
Union: result
error
object
GetServiceInfoRequest
GetServiceInfoResponse
chain
string (optional) — Human-readable name of the chain that this node is on. This is intended to be a human-readable name like mainnet, testnet, and so on.
chain_id
string (optional) — The chain identifier of the chain that this node is on. The chain identifier is the digest of the genesis checkpoint, the checkpoint with sequence number 0.
checkpoint_height
uint64 (optional) Checkpoint height of the most recently executed checkpoint.
epoch
uint64 (optional) — Current epoch of the node based on its highest executed checkpoint.
... and 4 more fields. View all fields
GetTransactionRequest
digest
string (optional) — Required. The digest of the requested transaction.
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to digest.
GetTransactionResponse
transaction
GetTransactionResult
Union: result
error
transaction

sui/rpc/v2/signature_verification_service.proto

VerifySignatureRequest
address
string (optional) — Optional. Address to validate against the provided signature. If provided, this address will be compared against the the address derived from the provide signature and a successful response will only be returned if they match.
jwks
ActiveJwk (repeated) — The set of JWKs to use when verifying Zklogin signatures. If this is empty the current set of valid JWKs stored onchain will be used
message
Bcs (optional) — The message to verify against. Today the only supported message types are PersonalMessage and TransactionData and the Bcs.name must be set to indicate which type of message is being verified.
signature
UserSignature (optional) — The signature to verify.
VerifySignatureResponse
is_valid
bool (optional) — Indicates if the provided signature was valid given the requested parameters.
reason
string (optional) — If is_valid is false, this is the reason for why the signature verification failed.

sui/rpc/v2/checkpoint.proto

Checkpoint
contents
CheckpointContents (optional) — The CheckpointContents for this checkpoint.
digest
string (optional) — The digest of this Checkpoint's CheckpointSummary.
objects
ObjectSet (optional) — Set of objects either referenced as inputs or produced as outputs by transactions included in this checkpoint. In order to benefit from deduplication of objects that appear in multiple transactions in this checkpoint, objects will only be present here and the transactions.objects field will not be populated.
sequence_number
uint64 (optional) — The height of this checkpoint.
... and 3 more fields. View all fields

sui/rpc/v2/transaction_execution_service.proto

CommandOutput
argument
Argument (optional)
json
Value (optional) — JSON rendering of the output.
value
Bcs (optional)
CommandResult

An intermediate result/output from the execution of a single command

mutated_by_ref
CommandOutput (repeated)
return_values
CommandOutput (repeated)
ExecuteTransactionRequest
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to effects.status,checkpoint.
signatures
UserSignature (repeated) — Set of UserSignatures authorizing the execution of the provided transaction.
transaction
Transaction (optional) — The transaction to execute.
ExecuteTransactionResponse

Response message for NodeService.ExecuteTransaction.

transaction
SimulateTransactionRequest
checks
TransactionChecks (optional) — Specify whether checks should be ENABLED (default) or DISABLED while executing the transaction
do_gas_selection
bool (optional) — Perform gas selection based on a budget estimation and include the selected gas payment and budget in the response. This option will be ignored if checks is DISABLED.
read_mask
FieldMask (optional) — Mask specifying which fields to read.
transaction
Transaction (optional)
SimulateTransactionResponse
command_outputs
CommandResult (repeated)
suggested_gas_price
uint64 (optional) — A suggested gas price to use, that is above RGP, in order to provide a better chance of the transaction being included in the presence of congested objects.
transaction

sui/rpc/v2/event.proto

Event

An event.

contents
Bcs (optional) — BCS serialized bytes of the event.
event_type
string (optional) — The type of the event emitted.
json
Value (optional) — JSON rendering of the event.
module
string (optional) Module name of the top-level function invoked by a MoveCall command that triggered this event to be emitted.
... and 2 more fields. View all fields
TransactionEvents

Events emitted during the successful execution of a transaction.

bcs
Bcs (optional) — This TransactionEvents serialized as BCS.
digest
string (optional) — The digest of this TransactionEvents.
events
Event (repeated) — Set of events emitted by a transaction.

sui/rpc/v2/input.proto

FundsWithdrawal
amount
uint64 (optional)
coin_type
string (optional)
source
Source (optional)
Input

An input to a user transaction.

digest
string (optional) — The digest of this object.
funds_withdrawal
FundsWithdrawal (optional) — Fund Reservation information if kind is FUNDS_WITHDRAWAL.
kind
InputKind (optional)
literal
Value (optional) — A literal value INPUT ONLY
... and 5 more fields. View all fields

sui/rpc/v2/executed_transaction.proto

ExecutedTransaction
balance_changes
BalanceChange (repeated)
checkpoint
uint64 (optional) — The sequence number for the checkpoint that includes this transaction.
digest
string (optional) — The digest of this Transaction.
effects
TransactionEffects (optional) — The TransactionEffects for this transaction.
... and 5 more fields. View all fields

sui/rpc/v2/subscription_service.proto

SubscribeCheckpointsRequest

Request message for SubscriptionService.SubscribeCheckpoints

read_mask
FieldMask (optional) — Optional. Mask for specifying which parts of the SubscribeCheckpointsResponse should be returned.
SubscribeCheckpointsResponse

Response message for SubscriptionService.SubscribeCheckpoints

checkpoint
Checkpoint (optional) — The requested data for this checkpoint
cursor
uint64 (optional) — Required. The checkpoint sequence number and value of the current cursor into the checkpoint stream

sui/rpc/v2/bcs.proto

Bcs

Bcs contains an arbitrary type that is serialized using the BCS format as well as a name that identifies the type of the serialized value.

name
string (optional) — Name that identifies the type of the serialized value.
value
bytes (optional) — Bytes of a BCS serialized value.

sui/rpc/v2/balance_change.proto

BalanceChange

The delta, or change, in balance for an address for a particular Coin type.

address
string (optional) — The account address that is affected by this balance change event.
amount
string (optional) — The amount or change in balance.
coin_type
string (optional) — The Coin type of this balance change event.

sui/rpc/v2/jwk.proto

Jwk

A JSON web key.

JwkId

Key to uniquely identify a JWK.

iss
string (optional) — The issuer or identity of the OIDC provider.
kid
string (optional) — A key ID used to uniquely identify a key from an OIDC provider.

sui/rpc/v2/object.proto

Display

A rendered JSON blob based on an on-chain template.

errors
Value (optional) — If any fields failed to render, this will contain a mapping from failed field names to error messages. If all fields succeed, this will either be null or not set.
output
Value (optional) — Output for all successfully substituted display fields. Unsuccessful fields will be null, and will be accompanied by a field in errors, explaining the error.
Object

An object on the Sui blockchain.

balance
uint64 (optional) — Current balance if this object is a 0x2::coin::Coin<T>
bcs
Bcs (optional) — This Object serialized as BCS.
contents
Bcs (optional) — BCS bytes of a Move struct value. Only set for Move structs
digest
string (optional) — The digest of this Object.
... and 10 more fields. View all fields
ObjectSet

Set of Objects

objects
Object (repeated) — Objects are sorted by the key (object_id, version).

sui/rpc/v2/system_state.proto

MoveTable

A message that represents a Move 0x2::table::Table or 0x2::bag::Bag

id
string (optional) — The UID of the table or bag
size
uint64 (optional) — The size or number of key-value pairs in the table or bag
StakeSubsidy
balance
uint64 (optional) — Balance of SUI set aside for stake subsidies that will be drawn down over time.
current_distribution_amount
uint64 (optional) — The amount of stake subsidy to be drawn down per distribution. This amount decays and decreases over time.
distribution_counter
uint64 (optional) — Count of the number of times stake subsidies have been distributed.
extra_fields
MoveTable (optional) — Any extra fields that's not defined statically.
... and 2 more fields. View all fields
StakingPool

A staking pool embedded in each validator struct in the system state object.

activation_epoch
uint64 (optional) — The epoch at which this pool became active. The value is None if the pool is pre-active and Some(<epoch_number>) if active or inactive.
deactivation_epoch
uint64 (optional) — The epoch at which this staking pool ceased to be active. None = {pre-active, active}, Some(<epoch_number>) if in-active, and it was de-activated at epoch <epoch_number>.
exchange_rates
MoveTable (optional) — Exchange rate history of previous epochs. The entries start from the activation_epoch of this pool and contains exchange rates at the beginning of each epoch, i.e., right after the rewards for the previous epoch have been deposited into the pool. key: u64 (epoch number), value: PoolTokenExchangeRate
extra_fields
MoveTable (optional) — Any extra fields that's not defined statically.
... and 7 more fields. View all fields
StorageFund

Struct representing the onchain storage fund.

non_refundable_balance
uint64 (optional) — Represents any remaining inflow of the storage fund that should not be taken out of the fund.
total_object_storage_rebates
uint64 (optional) — This is the sum of storage_rebate of all objects currently stored on-chain. To maintain this invariant, the only inflow of this balance is storage charges collected from transactions, and the only outflow is storage rebates of transactions, including both the portion refunded to the transaction senders as well as the non-refundable portion taken out and put into non_refundable_balance.
SystemParameters
epoch_duration_ms
uint64 (optional) — The duration of an epoch, in milliseconds.
extra_fields
MoveTable (optional) — Any extra fields that are not defined statically.
max_validator_count
uint64 (optional) — Maximum number of active validators at any moment. We do not allow the number of validators in any epoch to go above this.
min_validator_count
uint64 (optional) — Minimum number of active validators at any moment.
... and 5 more fields. View all fields
SystemState
epoch
uint64 (optional) — The epoch id
epoch_start_timestamp_ms
uint64 (optional) — Unix timestamp of when this this epoch started
extra_fields
MoveTable (optional) — Any extra fields that's not defined statically.
parameters
SystemParameters (optional) — Set of system config parameters
... and 12 more fields. View all fields
Validator

Definition of a Validator in the system contracts

Note: fields of ValidatorMetadata are flattened into this type

address
string (optional) — The Sui Address of the validator. This is the sender that created the Validator object, and also the address to send validator/coins to during withdraws.
commission_rate
uint64 (optional) — Commission rate of the validator, in basis point.
description
string (optional)
extra_fields
MoveTable (optional) — Any extra fields that's not defined statically.
... and 27 more fields. View all fields
ValidatorReportRecord
reported
string (optional) — The address of the validator being reported
reporters
string (repeated) — The list of validator (addresses) that are reporting on the validator specified by reported
ValidatorSet
active_validators
Validator (repeated) — The current list of active validators.
at_risk_validators
AtRiskValidatorsEntry (repeated) — Table storing the number of epochs during which a validator's stake has been below the low stake threshold.
extra_fields
MoveTable (optional) — Any extra fields that's not defined statically.
inactive_validators
MoveTable (optional) — Mapping from a staking pool ID to the inactive validator that has that pool as its staking pool. When a validator is deactivated the validator is removed from active_validators it is added to this table so that stakers can continue to withdraw their stake from it. key: address (staking pool Id), value: 0x3::validator_wrapper::ValidatorWrapper
... and 5 more fields. View all fields
AtRiskValidatorsEntry
key
value

sui/rpc/v2/effects.proto

AccumulatorWrite
accumulator_type
string (optional)
address
string (optional)
operation
value
uint64 (optional)
ChangedObject

Input/output state of an object that was changed during execution.

accumulator_write
AccumulatorWrite (optional) — The contents of the accumulator write when output_state is OUTPUT_OBJECT_STATE_ACCUMULATOR_WRITE
id_operation
IdOperation (optional) — What happened to an ObjectId during execution.
input_digest
string (optional) — Digest of the object before this transaction executed.
input_owner
Owner (optional) — Owner of the object before this transaction executed.
... and 8 more fields. View all fields
TransactionEffects

The effects of executing a transaction.

auxiliary_data_digest
string (optional) — Auxiliary data that are not protocol-critical, generated as part of the effects but are stored separately. Storing it separately allows us to avoid bloating the effects with data that are not critical. It also provides more flexibility on the format and type of the data.
bcs
Bcs (optional) — This TransactionEffects serialized as BCS.
changed_objects
ChangedObject (repeated) — Objects whose state are changed by this transaction.
dependencies
string (repeated) — The set of transaction digests this transaction depends on.
... and 11 more fields. View all fields
UnchangedConsensusObject

A consensus object that wasn't changed during execution.

digest
string (optional) — Digest of the consensus object.
kind
object_id
string (optional) — ObjectId of the consensus object.
object_type
string (optional) — Type information is not provided by the effects structure but is instead provided by an indexing layer
... and 1 more fields. View all fields

sui/rpc/v2/checkpoint_contents.proto

AddressAliasesVersion
version
uint64 (optional)
CheckpointContents

The committed to contents of a checkpoint.

bcs
Bcs (optional) — This CheckpointContents serialized as BCS.
digest
string (optional) — The digest of this CheckpointContents.
transactions
CheckpointedTransactionInfo (repeated) — Set of transactions committed to in this checkpoint.
version
int32 (optional) — Version of this CheckpointContents
CheckpointedTransactionInfo

Transaction information committed to in a checkpoint.

address_aliases_versions
AddressAliasesVersion (repeated) — The AddressAliases object version, if any, that was used to verify the UserSignature at the same position in signatures. This field is present when CheckpointContents.version is >= 2.
effects
string (optional) — Digest of the effects.
signatures
UserSignature (repeated) — Set of user signatures that authorized the transaction.
transaction
string (optional) — Digest of the transaction.

sui/rpc/v2/move_package.proto

DatatypeDescriptor

Describes a Move Datatype.

abilities
Ability (repeated) — This type's abilities
defining_id
string (optional) — PackageId of the package where this Datatype is defined. A type's defining_id is the storage_id of the package version that first introduced or added that type.
fields
FieldDescriptor (repeated) — Set of fields if this Datatype is a struct. The order of the entries is the order of how the fields are defined.
kind
DatatypeKind (optional) — Indicates whether this datatype is a 'STRUCT' or an 'ENUM'
... and 5 more fields. View all fields
FieldDescriptor

Descriptor of a field that belongs to a struct or enum variant

name
string (optional) — Name of the field
position
uint32 (optional) — Order or position of the field in the struct or enum variant definition.
type
OpenSignatureBody (optional) — The type of the field
FunctionDescriptor

Descriptor of a Move function

is_entry
bool (optional) — Whether the function is marked entry or not.
name
string (optional) — Name of the function
parameters
OpenSignature (repeated) — Formal parameter types.
returns
OpenSignature (repeated) — Return types.
... and 2 more fields. View all fields
Linkage

Upgraded package info for the linkage table.

original_id
string (optional) — Id of the original package.
upgraded_id
string (optional) — Id of the upgraded package.
upgraded_version
uint64 (optional) — Version of the upgraded package.
Module

A Move Module.

contents
bytes (optional) — Serialized bytecode of the module.
datatypes
DatatypeDescriptor (repeated) — List of DataTypes defined by this module.
functions
FunctionDescriptor (repeated) — List of Functions defined by this module.
name
string (optional) — Name of this module.
OpenSignature

Representation of a type signature that could appear as a function parameter or return value.

body
OpenSignatureBody (optional)
reference
Reference (optional)
OpenSignatureBody

Representation of a type signature that could appear as a field type for a struct or enum

type
Type (optional) — Type of this signature
type_name
string (optional) — Fully qualified name of the datatype when type is DATATYPE
type_parameter
uint32 (optional) — Position of the type parameter as defined in the containing data type descriptor when type is TYPE_PARAMETER
type_parameter_instantiation
OpenSignatureBody (repeated) — Set when type is VECTOR or DATATYPE
Package

A Move Package

linkage
Linkage (repeated) — The package's transitive dependencies as a mapping from the package's runtime Id (the Id it is referred to by in other packages) to its storage Id (the Id it is loaded from on chain).
modules
Module (repeated) — The modules defined by this package
original_id
string (optional) — The PackageId of the first published version of this package. A package's original_id (sometimes also called its runtime_id) is the storage_id of the first version of this package that has been published. The original_id/runtime_id is stable across all versions of the package and does not ever change.
storage_id
string (optional) — The PackageId of this package A package's storage_id is the Sui ObjectId of the package on-chain. Outside of system packages the storage_id for every package version is different.
... and 2 more fields. View all fields
TypeOrigin

Identifies a struct and the module it was defined in.

datatype_name
string (optional)
module_name
string (optional)
package_id
string (optional)
TypeParameter

A generic type parameter used in the declaration of a struct or enum.

constraints
Ability (repeated) — The type parameter constraints
is_phantom
bool (optional) — Whether the parameter is declared as phantom
VariantDescriptor

Descriptor of an enum variant

fields
FieldDescriptor (repeated) — Set of fields defined by this variant.
name
string (optional) — Name of the variant
position
uint32 (optional) — Order or position of the variant in the enum definition.

sui/rpc/v2/argument.proto

Argument

An argument to a programmable transaction command.

input
uint32 (optional) — Index of an input when kind is INPUT.
kind
ArgumentKind (optional)
result
uint32 (optional) — Index of a result when kind is RESULT.
subresult
uint32 (optional) — Used to access a nested result when kind is RESULT.

sui/rpc/v2/name_service.proto

LookupNameRequest
name
string (optional) — Required. The SuiNS name to lookup. Supports both @name as well as name.sui formats.
LookupNameResponse
record
NameRecord (optional) — The record for the requested name
NameRecord
data
DataEntry (repeated) — Additional data which may be stored in a record
expiration_timestamp
Timestamp (optional) — Timestamp when the record expires. This is either the expiration of the record itself or the expiration of this record's parent if this is a leaf record.
id
string (optional) — Id of this record. Note that records are stored on chain as dynamic fields of the type Field<Domain,NameRecord>.
name
string (optional) — The SuiNS name of this record
... and 2 more fields. View all fields
DataEntry
key
value
ReverseLookupNameRequest
address
string (optional) — Required. The address to perform a reverse lookup for.
ReverseLookupNameResponse
record
NameRecord (optional) — The record for the SuiNS name linked to the requested address

sui/rpc/v2/protocol_config.proto

ProtocolConfig
attributes
AttributesEntry (repeated)
feature_flags
FeatureFlagsEntry (repeated)
protocol_version
uint64 (optional)
AttributesEntry
key
value
FeatureFlagsEntry
key
value

sui/rpc/v2/owner.proto

Owner

Enum of different types of ownership for an object.

address
string (optional) Address or ObjectId of the owner
kind
OwnerKind (optional)
version
uint64 (optional) — The initial_shared_version if kind is SHARED or start_version if kind CONSENSUS_ADDRESS.

sui/rpc/v2/move_package_service.proto

GetDatatypeRequest
module_name
string (optional) — Required. The name of the requested module.
name
string (optional) — Required. The name of the requested datatype.
package_id
string (optional) — Required. The storage_id of the requested package.
GetDatatypeResponse
datatype
DatatypeDescriptor (optional) — The datatype.
GetFunctionRequest
module_name
string (optional) — Required. The name of the requested module.
name
string (optional) — Required. The name of the requested function.
package_id
string (optional) — Required. The storage_id of the requested package.
GetFunctionResponse
function
FunctionDescriptor (optional) — The function.
GetPackageRequest
package_id
string (optional) — Required. The storage_id of the requested package.
GetPackageResponse
package
Package (optional) — The package.
ListPackageVersionsRequest
package_id
string (optional) — Required. The storage_id of any version of the package.
page_size
uint32 (optional) — The maximum number of versions to return. The service may return fewer than this value. If unspecified, at most 1000 entries will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.
page_token
bytes (optional) — A page token, received from a previous ListPackageVersions call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListPackageVersions must match the call that provided the page token.
ListPackageVersionsResponse
next_page_token
bytes (optional) — A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
versions
PackageVersion (repeated) — List of all package versions, ordered by version.
PackageVersion

A simplified representation of a package version

package_id
string (optional) — The storage ID of this package version
version
uint64 (optional) — The version number

sui/rpc/v2/state_service.proto

Balance

Balance information for a specific coin type.

address_balance
uint64 (optional) — The balance of Balance<T> in this address's Address Balance.
balance
uint64 (optional) — The total balance of coin_type in its smallest unit. This is the sum of all spendable amounts of coin_type (address_balance and coin_balance).
coin_balance
uint64 (optional) — The balance of all Coin<T> objects owned by this address.
coin_type
string (optional) — The type of the coin (e.g., 0x2::sui::SUI).
CoinMetadata

Metadata for a coin type

decimals
uint32 (optional) — Number of decimal places to coin uses.
description
string (optional) — Description of the token
icon_url
string (optional) — URL for the token logo
id
string (optional) — ObjectId of the 0x2::coin::CoinMetadata object or 0x2::sui::coin_registry::Currency object (when registered with CoinRegistry).
... and 4 more fields. View all fields
CoinTreasury

Information about a coin type's 0x2::coin::TreasuryCap and its total available supply

id
string (optional) — ObjectId of the 0x2::coin::TreasuryCap object.
supply_state
SupplyState (optional) — Supply state indicating if the supply is fixed or can still be minted
total_supply
uint64 (optional) — Total available supply for this coin type.
DynamicField
child_id
string (optional) — The ObjectId of the child object when a child is a dynamic object field. The presence or absence of this field can be used to determine if a child is a dynamic field or a dynamic child object
child_object
Object (optional) — The object itself when a child is a dynamic object field.
field_id
string (optional) — ObjectId of this dynamic field.
field_object
Object (optional) — The field object itself
... and 5 more fields. View all fields
GetBalanceRequest

Request message for LiveDataService.GetBalance.

coin_type
string (optional) — Required. The type names for the coin (e.g., 0x2::sui::SUI).
owner
string (optional) — Required. The owner's Sui address.
GetBalanceResponse

Response message for LiveDataService.GetBalance. Return the total coin balance for one coin type, owned by the address owner.

balance
Balance (optional) — The balance information for the requested coin type.
GetCoinInfoRequest

Request message for NodeService.GetCoinInfo.

coin_type
string (optional) — The coin type to request information about
GetCoinInfoResponse

Response message for NodeService.GetCoinInfo.

coin_type
string (optional) — Required. The coin type.
metadata
CoinMetadata (optional) — This field will be populated with information about this coin type's 0x2::coin::CoinMetadata if it exists and has not been wrapped.
regulated_metadata
RegulatedCoinMetadata (optional) — If this coin type is a regulated coin, this field will be populated with information either from its Currency object in the CoinRegistry, or from its 0x2::coin::RegulatedCoinMetadata object for coins that have not been migrated to the CoinRegistry If this coin is not known to be regulated, only the coin_regulated_state field will be populated.
treasury
CoinTreasury (optional) — This field will be populated with information about this coin type's 0x2::coin::TreasuryCap if it exists and has not been wrapped.
ListBalancesRequest

Request message for LiveDataService.ListBalances.

owner
string (optional) — Required. The owner's Sui address.
page_size
uint32 (optional) — The maximum number of balance entries to return. The service may return fewer than this value. If unspecified, at most 50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
page_token
bytes (optional) — A page token, received from a previous ListBalances call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListBalances must match the call that provided the page token.
ListBalancesResponse

Response message for LiveDataService.ListBalances. Return the total coin balance for all coin types, owned by the address owner.

balances
Balance (repeated) — The list of coin types and their respective balances.
next_page_token
bytes (optional) — A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
ListDynamicFieldsRequest

Request message for NodeService.ListDynamicFields

page_size
uint32 (optional) — The maximum number of dynamic fields to return. The service may return fewer than this value. If unspecified, at most 50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
page_token
bytes (optional) — A page token, received from a previous ListDynamicFields call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDynamicFields must match the call that provided the page token.
parent
string (optional) — Required. The UID of the parent, which owns the collections of dynamic fields.
read_mask
FieldMask (optional) — Mask specifying which fields to read. If no mask is specified, defaults to parent,field_id.
ListDynamicFieldsResponse

Response message for NodeService.ListDynamicFields

dynamic_fields
DynamicField (repeated) — Page of dynamic fields owned by the specified parent.
next_page_token
bytes (optional) — A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
ListOwnedObjectsRequest
object_type
string (optional) — Optional type filter to limit the types of objects listed. Providing an object type with no type params will return objects of that type with any type parameter, e.g. 0x2::coin::Coin will return all Coin<T> objects regardless of the type parameter T. Providing a type with a type param will restrict the returned objects to only those objects that match the provided type parameters, e.g. 0x2::coin::Coin<0x2::sui::SUI> will only return Coin<SUI> objects.
owner
string (optional) — Required. The address of the account that owns the objects.
page_size
uint32 (optional) — The maximum number of entries return. The service may return fewer than this value. If unspecified, at most 50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
page_token
bytes (optional) — A page token, received from a previous ListOwnedObjects call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListOwnedObjects must match the call that provided the page token.
... and 1 more fields. View all fields
ListOwnedObjectsResponse
next_page_token
bytes (optional) — A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.
objects
Object (repeated) — Page of dynamic fields owned by the specified parent.
RegulatedCoinMetadata

Information about a regulated coin, which indicates that it makes use of the transfer deny list.

allow_global_pause
bool (optional) — Whether the coin can be globally paused
coin_metadata_object
string (optional) — The ID of the coin's CoinMetadata or CoinData object.
coin_regulated_state
CoinRegulatedState (optional) — Indicates the coin's regulated state.
deny_cap_object
string (optional) — The ID of the coin's DenyCap object.
... and 2 more fields. View all fields

sui/rpc/v2/signature.proto

CircomG1

A G1 point.

e0
string (optional) — base10 encoded Bn254FieldElement
e1
string (optional) — base10 encoded Bn254FieldElement
e2
string (optional) — base10 encoded Bn254FieldElement
CircomG2

A G2 point.

e00
string (optional) — base10 encoded Bn254FieldElement
e01
string (optional) — base10 encoded Bn254FieldElement
e10
string (optional) — base10 encoded Bn254FieldElement
e11
string (optional) — base10 encoded Bn254FieldElement
... and 2 more fields. View all fields
MultisigAggregatedSignature

Aggregated signature from members of a multisig committee.

bitmap
uint32 (optional) — Bitmap indicating which committee members contributed to the signature.
committee
MultisigCommittee (optional) — The committee to use to validate this signature.
legacy_bitmap
bytes (optional) — If present, means this signature's on-chain format uses the old legacy multisig format.
signatures
MultisigMemberSignature (repeated) — The plain signatures encoded with signature scheme. The signatures must be in the same order as they are listed in the committee.
MultisigCommittee

A multisig committee.

members
MultisigMember (repeated) — A list of committee members and their corresponding weight.
threshold
uint32 (optional) — The threshold of signatures needed to validate a signature from this committee.
MultisigMember

A member in a multisig committee.

public_key
MultisigMemberPublicKey (optional) — The public key of the committee member.
weight
uint32 (optional) — The weight of this member's signature.
MultisigMemberPublicKey

Set of valid public keys for multisig committee members.

public_key
bytes (optional) — Public key bytes if scheme is ed25519 | secp256k1 | secp256r1 | passkey.
scheme
SignatureScheme (optional) — The signature scheme of this public key.
zklogin
ZkLoginPublicIdentifier (optional) — A zklogin public identifier if scheme is zklogin.
MultisigMemberSignature

A signature from a member of a multisig committee.

passkey
PasskeyAuthenticator (optional) — The passkey authenticator if scheme is PASSKEY.
scheme
SignatureScheme (optional) — The signature scheme of this signature.
signature
bytes (optional) — Signature bytes if scheme is ed25519 | secp256k1 | secp256r1.
zklogin
ZkLoginAuthenticator (optional) — The zklogin authenticator if scheme is ZKLOGIN.
PasskeyAuthenticator

A passkey authenticator.

authenticator_data
bytes (optional) — Opaque authenticator data for this passkey signature. See Authenticator Data for more information on this field.
client_data_json
string (optional) — Structured, unparsed, JSON for this passkey signature. See CollectedClientData for more information on this field.
signature
SimpleSignature (optional) — A secp256r1 signature.
SimpleSignature

Either an ed25519, secp256k1 or secp256r1 signature

public_key
bytes (optional) — Public key bytes
scheme
SignatureScheme (optional) — The signature scheme of this signature.
signature
bytes (optional) — Signature bytes
UserSignature

A signature from a user.

bcs
Bcs (optional) — This signature serialized as as BCS. When provided as input this will support both the form that is length prefixed as well as not length prefixed.
scheme
SignatureScheme (optional) — The signature scheme of this signature.
Union: signature
multisig
MultisigAggregatedSignature — The multisig aggregated signature if scheme is MULTISIG.
passkey
PasskeyAuthenticator — The passkey authenticator if scheme is PASSKEY.
simple
SimpleSignature — Simple signature if scheme is ed25519 | secp256k1 | secp256r1.
zklogin
ZkLoginAuthenticator — The zklogin authenticator if scheme is ZKLOGIN.
ValidatorAggregatedSignature

An aggregated signature from multiple validators.

bitmap
bytes (optional) — Bitmap indicating which members of the committee contributed to this signature.
epoch
uint64 (optional) — The epoch when this signature was produced. This can be used to lookup the ValidatorCommittee from this epoch to verify this signature.
signature
bytes (optional) — The 48-byte Bls12381 aggregated signature.
ValidatorCommittee

The validator set for a particular epoch.

epoch
uint64 (optional) — The epoch where this committee governs.
members
ValidatorCommitteeMember (repeated) — The committee members.
ValidatorCommitteeMember

A member of a validator committee.

public_key
bytes (optional) — The 96-byte Bls12381 public key for this validator.
weight
uint64 (optional) — voting weight this validator possesses.
ZkLoginAuthenticator

A zklogin authenticator.

inputs
ZkLoginInputs (optional) Zklogin proof and inputs required to perform proof verification.
jwk_id
JwkId (optional) — The id of the JWK used to authorize this zklogin authenticator
max_epoch
uint64 (optional) — Maximum epoch for which the proof is valid.
public_identifier
ZkLoginPublicIdentifier (optional) — The public identifier (similar to a public key) for this zklogin authenticator
... and 1 more fields. View all fields
ZkLoginClaim

A claim of the iss in a zklogin proof.

index_mod_4
uint32 (optional)
value
string (optional)
ZkLoginInputs

A zklogin groth16 proof and the required inputs to perform proof verification.

address_seed
string (optional) — base10 encoded Bn254FieldElement
header_base64
string (optional)
iss_base64_details
ZkLoginClaim (optional)
proof_points
ZkLoginProof (optional)
ZkLoginProof

A zklogin groth16 proof.

a
CircomG1 (optional)
b
CircomG2 (optional)
c
CircomG1 (optional)
ZkLoginPublicIdentifier

Public key equivalent for zklogin authenticators.

address_seed
string (optional) — base10 encoded Bn254FieldElement
iss
string (optional)

sui/rpc/v2/execution_status.proto

CleverError
constant_name
string (optional)
constant_type
string (optional)
error_code
uint64 (optional)
line_number
uint64 (optional)
Union: value
raw
rendered
CoinDenyListError
address
string (optional) — Denied address.
coin_type
string (optional) — Coin type.
CommandArgumentError

An error with an argument to a command.

argument
uint32 (optional) — Position of the problematic argument.
index_error
IndexError (optional)
kind
CongestedObjects

Set of objects that were congested, leading to the transaction's cancellation.

objects
string (repeated)
ExecutionError

An error that can occur during the execution of a transaction.

command
uint64 (optional) — The command, if any, during which the error occurred.
description
string (optional) — A human readable description of the error
kind
ExecutionErrorKind (optional)
Union: error_details
abort
coin_deny_list_error
command_argument_error
congested_objects
CongestedObjects — Set of objects that were congested, leading to the transaction's cancellation.
index_error
object_id
package_upgrade_error
size_error
type_argument_error
ExecutionStatus

The status of an executed transaction.

error
ExecutionError (optional) — The error if success is false.
success
bool (optional) — Indicates if the transaction was successful or not.
IndexError
index
uint32 (optional) — Index of an input or result.
subresult
uint32 (optional) — Index of a subresult.
MoveAbort
abort_code
uint64 (optional)
clever_error
CleverError (optional) — Extra error information if abort code is a "Clever Error"
location
MoveLocation (optional) — Location in Move where the error occurred.
MoveLocation

Location in Move bytecode where an error occurred.

function
uint32 (optional) — The function index.
function_name
string (optional) — The name of the function, if available.
instruction
uint32 (optional) — Offset of the instruction where the error occurred.
module
string (optional) — The module name.
... and 1 more fields. View all fields
PackageUpgradeError

An error with upgrading a package.

digest
string (optional) — A digest.
kind
package_id
string (optional) — The Package Id.
policy
uint32 (optional) — The policy.
... and 1 more fields. View all fields
SizeError

A size error.

max_size
uint64 (optional) — The maximum allowable size.
size
uint64 (optional) — The offending size.
TypeArgumentError

Type argument error.

kind
type_argument
uint32 (optional) — Index of the problematic type argument.

sui/rpc/v2/object_reference.proto

ObjectReference

Reference to an object.

digest
string (optional) — The digest of this object.
object_id
string (optional) — The object id of this object.
version
uint64 (optional) — The version of this object.

sui/rpc/v2/transaction.proto

ActiveJwk

A new JWK.

epoch
uint64 (optional) — Most recent epoch in which the JWK was validated.
id
JwkId (optional) — Identifier used to uniquely identify a JWK.
jwk
Jwk (optional) — The JWK.
AuthenticatorStateExpire

Expire old JWKs.

authenticator_object_initial_shared_version
uint64 (optional) — The initial version of the authenticator object that it was shared at.
min_epoch
uint64 (optional) — Expire JWKs that have a lower epoch than this.
AuthenticatorStateUpdate

Update the set of valid JWKs.

authenticator_object_initial_shared_version
uint64 (optional) — The initial version of the authenticator object that it was shared at.
epoch
uint64 (optional) Epoch of the authenticator state update transaction.
new_active_jwks
ActiveJwk (repeated) — Newly active JWKs.
round
uint64 (optional) Consensus round of the authenticator state update.
CanceledTransaction

A transaction that was canceled.

digest
string (optional) — Digest of the canceled transaction.
version_assignments
VersionAssignment (repeated) — List of object version assignments.
ChangeEpoch

System transaction used to change the epoch.

computation_charge
uint64 (optional) — The total amount of gas charged for computation during the epoch.
epoch
uint64 (optional) — The next (to become) epoch ID.
epoch_start_timestamp
Timestamp (optional) — Unix timestamp when epoch started.
non_refundable_storage_fee
uint64 (optional) — The non-refundable storage fee.
... and 4 more fields. View all fields
Command

A single command in a programmable transaction.

Union: command
make_move_vector
MakeMoveVectorforall 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.
merge_coins
MergeCoins(&mut Coin<T>, Vec<Coin<T>>) It merges n-coins into the first coin.
move_call
MoveCall — A call to either an entry or a public Move function.
publish
Publish — Publishes a Move package. It takes the package bytes and a list of the package's transitive dependencies to link against on chain.
split_coins
SplitCoins(&mut Coin<T>, Vec<u64>) -> Vec<Coin<T>> It splits off some amounts into new coins with those amounts.
transfer_objects
TransferObjects(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.
upgrade
Upgrade — Upgrades a Move package. Takes (in order): 1. A vector of serialized modules for the package. 2. A vector of object ids for the transitive dependencies of the new package. 3. The object ID of the package being upgraded. 4. An argument holding the UpgradeTicket that must have been produced from an earlier command in the same programmable transaction.
ConsensusCommitPrologue

Consensus commit prologue system transaction.

This message can represent V1, V2, and V3 prologue types.

additional_state_digest
string (optional) — Digest of any additional state computed by the consensus handler. Used to detect forking bugs as early as possible. Present in V4.
commit_timestamp
Timestamp (optional) — Unix timestamp from consensus. Present in V1, V2, V3, V4.
consensus_commit_digest
string (optional) — Digest of consensus output. Present in V2, V3, V4.
consensus_determined_version_assignments
ConsensusDeterminedVersionAssignments (optional) — Stores consensus handler determined consensus object version assignments. Present in V3, V4.
... and 3 more fields. View all fields
ConsensusDeterminedVersionAssignments

Version assignments performed by consensus.

canceled_transactions
CanceledTransaction (repeated) — Canceled transaction version assignment.
version
int32 (optional) — Version of this message
EndOfEpochTransaction

Set of operations run at the end of the epoch to close out the current epoch and start the next one.

transactions
EndOfEpochTransactionKind

Operation run at the end of an epoch.

kind
Kind (optional)
Union: data
authenticator_state_expire
AuthenticatorStateExpire — Expire JWKs used for zklogin.
bridge_chain_id
string — ChainId used when initializing the bridge
bridge_object_version
uint64 — Start version of the Bridge object
change_epoch
ChangeEpoch — End the epoch and start the next one.
execution_time_observations
ExecutionTimeObservations — Execution time observations from the committee to preserve cross epoch
storage_cost
uint64 — Contains the end-of-epoch-computed storage cost for accumulator objects.
ExecutionTimeObservation
kind
move_entry_point
MoveCall (optional)
validator_observations
ExecutionTimeObservations
observations
version
int32 (optional) — Version of this ExecutionTimeObservations
GasPayment

Payment information for executing a transaction.

budget
uint64 (optional) — Total budget willing to spend for the execution of a transaction.
objects
ObjectReference (repeated) — Set of gas objects to use for payment.
owner
string (optional) — Owner of the gas objects, either the transaction sender or a sponsor.
price
uint64 (optional) Gas unit price to use when charging for computation. Must be greater than or equal to the network's current RGP (reference gas price).
GenesisTransaction

The genesis transaction.

objects
Object (repeated) — Set of genesis objects.
MakeMoveVector

Command to build a Move vector out of a set of individual elements.

element_type
string (optional) — Type of the individual elements. This is required to be set when the type can't be inferred, for example when the set of provided arguments are all pure input values.
elements
Argument (repeated) — The set individual elements to build the vector with.
MergeCoins

Command to merge multiple coins of the same type into a single coin.

coin
Argument (optional) — Coin to merge coins into.
coins_to_merge
Argument (repeated) — Set of coins to merge into coin. All listed coins must be of the same type and be the same type as coin
MoveCall

Command to call a Move function.

arguments
Argument (repeated) — The arguments to the function.
function
string (optional) — The function to be called.
module
string (optional) — The specific module in the package containing the function.
package
string (optional) — The package containing the module and function.
... and 1 more fields. View all fields
ProgrammableTransaction

A user transaction.

Contains a series of native commands and Move calls where the results of one command can be used in future commands.

commands
Command (repeated) — The commands to be executed sequentially. A failure in any command results in the failure of the entire transaction.
inputs
Input (repeated) — Input objects or primitive values.
Publish

Command to publish a new Move package.

dependencies
string (repeated) — Set of packages that the to-be published package depends on.
modules
bytes (repeated) — The serialized Move modules.
RandomnessStateUpdate

Randomness update.

epoch
uint64 (optional) Epoch of the randomness state update transaction.
random_bytes
bytes (optional) — Updated random bytes.
randomness_object_initial_shared_version
uint64 (optional) — The initial version of the randomness object that it was shared at.
randomness_round
uint64 (optional) — Randomness round of the update.
SplitCoins

Command to split a single coin object into multiple coins.

amounts
Argument (repeated) — The amounts to split off.
coin
Argument (optional) — The coin to split.
SystemPackage

System package.

dependencies
string (repeated) Package dependencies.
modules
bytes (repeated) Move modules.
version
uint64 (optional) — Version of the package.
Transaction

A transaction.

bcs
Bcs (optional) — This Transaction serialized as BCS.
digest
string (optional) — The digest of this Transaction.
expiration
gas_payment
GasPayment (optional)
... and 3 more fields. View all fields
TransactionExpiration

A TTL for a transaction.

chain
string (optional) — ChainId of the network this transaction is intended for in order to prevent cross-chain replay
epoch
uint64 (optional) — Maximum epoch in which a transaction can be executed. The provided maximal epoch must be greater than or equal to the current epoch for a transaction to execute.
kind
max_timestamp
Timestamp (optional) — Maximum UNIX timestamp in which a transaction can be executed. The provided maximal timestamp must be greater than or equal to the current clock.
... and 3 more fields. View all fields
TransactionKind

Transaction type.

kind
Kind (optional)
Union: data
authenticator_state_update
AuthenticatorStateUpdate — Update set of valid JWKs used for zklogin.
change_epoch
ChangeEpoch — System transaction used to end an epoch. The ChangeEpoch variant is now deprecated (but the ChangeEpoch struct is still used by EndOfEpochTransaction).
consensus_commit_prologue
ConsensusCommitPrologue consensus commit update info
end_of_epoch
EndOfEpochTransaction — Set of operations to run at the end of the epoch to close out the current epoch and start the next one.
genesis
GenesisTransaction Transaction used to initialize the chain state. Only valid if in the genesis checkpoint (0) and if this is the very first transaction ever executed on the chain.
programmable_transaction
ProgrammableTransaction — A transaction comprised of a list of native commands and Move calls.
randomness_state_update
RandomnessStateUpdate — Randomness update.
TransferObjects

Command to transfer ownership of a set of objects to an address.

address
Argument (optional) — The address to transfer ownership to.
objects
Argument (repeated) — Set of objects to transfer.
Upgrade

Command to upgrade an already published package.

dependencies
string (repeated) — Set of packages that the to-be published package depends on.
modules
bytes (repeated) — The serialized Move modules.
package
string (optional) Package ID of the package to upgrade.
ticket
Argument (optional) — Ticket authorizing the upgrade.
ValidatorExecutionTimeObservation
duration
Duration (optional) — Duration of an execution observation
validator
bytes (optional) — Bls12381 public key of the validator
VersionAssignment

Object version assignment from consensus.

object_id
string (optional)ObjectId of the object.
start_version
uint64 (optional) — start version of the consensus stream for this object
version
uint64 (optional) — Assigned version.

sui/rpc/v2/epoch.proto

Epoch
committee
ValidatorCommittee (optional) — The committee governing this epoch.
end
Timestamp (optional)
epoch
uint64 (optional)
first_checkpoint
uint64 (optional)
... and 5 more fields. View all fields

sui/rpc/v2/checkpoint_summary.proto

CheckpointCommitment

A commitment made by a checkpoint.

digest
string (optional)
kind
CheckpointSummary

A header for a checkpoint on the Sui blockchain.

bcs
Bcs (optional) — This CheckpointSummary serialized as BCS.
commitments
CheckpointCommitment (repeated) — Commitments to checkpoint-specific state.
content_digest
string (optional) — The hash of the CheckpointContents for this checkpoint.
digest
string (optional) — The digest of this CheckpointSummary.
... and 8 more fields. View all fields
EndOfEpochData

Data, which when included in a CheckpointSummary, signals the end of an Epoch.

epoch_commitments
CheckpointCommitment (repeated) — Commitments to epoch specific state (live object set)
next_epoch_committee
ValidatorCommitteeMember (repeated) — The set of validators that will be in the ValidatorCommittee for the next epoch.
next_epoch_protocol_version
uint64 (optional) — The protocol version that is in effect during the next epoch.

sui/rpc/v2/gas_cost_summary.proto

GasCostSummary

Summary of gas charges.

computation_cost
uint64 (optional) — Cost of computation/execution.
non_refundable_storage_fee
uint64 (optional) — The fee for the rebate. The portion of the storage rebate kept by the system.
storage_cost
uint64 (optional) — Storage cost, it's the sum of all storage cost for all objects created or mutated.
storage_rebate
uint64 (optional) — The amount of storage cost refunded to the user for all objects deleted or mutated in the transaction.