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
object_id,version,digest.ObjectId of the requested object.object_id,version,digest.mainnet, testnet, and so on.sui/rpc/v2/signature_verification_service.proto
PersonalMessage and TransactionData and the Bcs.name must be set to indicate which type of message is being verified.sui/rpc/v2/checkpoint.proto
CheckpointContents for this checkpoint.transactions.objects field will not be populated.sui/rpc/v2/transaction_execution_service.proto
An intermediate result/output from the execution of a single command
effects.status,checkpoint.UserSignatures authorizing the execution of the provided transaction.Response message for NodeService.ExecuteTransaction.
checks is DISABLED.sui/rpc/v2/event.proto
An event.
MoveCall command that triggered this event to be emitted.Events emitted during the successful execution of a transaction.
sui/rpc/v2/input.proto
An input to a user transaction.
sui/rpc/v2/executed_transaction.proto
TransactionEffects for this transaction.sui/rpc/v2/subscription_service.proto
Request message for SubscriptionService.SubscribeCheckpoints
Response message for SubscriptionService.SubscribeCheckpoints
sui/rpc/v2/bcs.proto
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.
sui/rpc/v2/balance_change.proto
The delta, or change, in balance for an address for a particular Coin type.
sui/rpc/v2/jwk.proto
A JSON web key.
Key to uniquely identify a JWK.
sui/rpc/v2/object.proto
A rendered JSON blob based on an on-chain template.
null or not set.null, and will be accompanied by a field in errors, explaining the error.An object on the Sui blockchain.
0x2::coin::Coin<T>Set of Objects
(object_id, version).sui/rpc/v2/system_state.proto
A message that represents a Move 0x2::table::Table or 0x2::bag::Bag
A staking pool embedded in each validator struct in the system state object.
None if the pool is pre-active and Some(<epoch_number>) if active or inactive.None = {pre-active, active}, Some(<epoch_number>) if in-active, and it was de-activated at epoch <epoch_number>.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: PoolTokenExchangeRateStruct representing the onchain storage fund.
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.Definition of a Validator in the system contracts
Note: fields of ValidatorMetadata are flattened into this type
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::ValidatorWrappersui/rpc/v2/effects.proto
Input/output state of an object that was changed during execution.
output_state is OUTPUT_OBJECT_STATE_ACCUMULATOR_WRITEObjectId during execution.The effects of executing a transaction.
A consensus object that wasn't changed during execution.
sui/rpc/v2/checkpoint_contents.proto
The committed to contents of a checkpoint.
Transaction information committed to in a checkpoint.
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.sui/rpc/v2/move_package.proto
Describes a Move Datatype.
defining_id is the storage_id of the package version that first introduced or added that type.Descriptor of a field that belongs to a struct or enum variant
Descriptor of a Move function
entry or not.Upgraded package info for the linkage table.
A Move Module.
Representation of a type signature that could appear as a function parameter or return value.
Representation of a type signature that could appear as a field type for a struct or enum
A Move Package
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 is the Sui ObjectId of the package on-chain. Outside of system packages the storage_id for every package version is different.Identifies a struct and the module it was defined in.
A generic type parameter used in the declaration of a struct or enum.
Descriptor of an enum variant
sui/rpc/v2/argument.proto
An argument to a programmable transaction command.
sui/rpc/v2/name_service.proto
@name as well as name.sui formats.Field<Domain,NameRecord>.sui/rpc/v2/protocol_config.proto
sui/rpc/v2/owner.proto
Enum of different types of ownership for an object.
sui/rpc/v2/move_package_service.proto
storage_id of the requested package.storage_id of any version of the package.1000 entries will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.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.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.A simplified representation of a package version
sui/rpc/v2/state_service.proto
Balance information for a specific coin type.
Balance<T> in this address's Address Balance.coin_type in its smallest unit. This is the sum of all spendable amounts of coin_type (address_balance and coin_balance).Coin<T> objects owned by this address.Metadata for a coin type
0x2::coin::CoinMetadata object or 0x2::sui::coin_registry::Currency object (when registered with CoinRegistry).Information about a coin type's 0x2::coin::TreasuryCap and its total available supply
0x2::coin::TreasuryCap object.Request message for LiveDataService.GetBalance.
Response message for LiveDataService.GetBalance.
Return the total coin balance for one coin type, owned by the address owner.
Request message for NodeService.GetCoinInfo.
Response message for NodeService.GetCoinInfo.
0x2::coin::CoinMetadata if it exists and has not been wrapped.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.0x2::coin::TreasuryCap if it exists and has not been wrapped.Request message for LiveDataService.ListBalances.
50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.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.Response message for LiveDataService.ListBalances.
Return the total coin balance for all coin types, owned by the address owner.
Request message for NodeService.ListDynamicFields
50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.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.UID of the parent, which owns the collections of dynamic fields.parent,field_id.Response message for NodeService.ListDynamicFields
page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.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.50 entries will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.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.Information about a regulated coin, which indicates that it makes use of the transfer deny list.
DenyCap object.sui/rpc/v2/signature.proto
A G1 point.
A G2 point.
Aggregated signature from members of a multisig committee.
A multisig committee.
A member in a multisig committee.
Set of valid public keys for multisig committee members.
A signature from a member of a multisig committee.
PASSKEY.ZKLOGIN.A passkey authenticator.
Either an ed25519, secp256k1 or secp256r1 signature
A signature from a user.
MULTISIG.PASSKEY.ZKLOGIN.An aggregated signature from multiple validators.
ValidatorCommittee from this epoch to verify this signature.The validator set for a particular epoch.
A member of a validator committee.
A zklogin authenticator.
A claim of the iss in a zklogin proof.
A zklogin groth16 proof and the required inputs to perform proof verification.
Public key equivalent for zklogin authenticators.
sui/rpc/v2/execution_status.proto
An error with an argument to a command.
Set of objects that were congested, leading to the transaction's cancellation.
An error that can occur during the execution of a transaction.
The status of an executed transaction.
success is false.Location in Move bytecode where an error occurred.
An error with upgrading a package.
A size error.
Type argument error.
sui/rpc/v2/object_reference.proto
Reference to an object.
sui/rpc/v2/transaction.proto
A new JWK.
Expire old JWKs.
Update the set of valid JWKs.
A transaction that was canceled.
System transaction used to change the epoch.
A single command in a programmable transaction.
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.(&mut Coin<T>, Vec<Coin<T>>) It merges n-coins into the first coin.(&mut Coin<T>, Vec<u64>) -> Vec<Coin<T>> It splits off some amounts into new coins with those amounts.(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.UpgradeTicket that must have been produced from an earlier command in the same programmable transaction.Consensus commit prologue system transaction.
This message can represent V1, V2, and V3 prologue types.
Version assignments performed by consensus.
Set of operations run at the end of the epoch to close out the current epoch and start the next one.
Operation run at the end of an epoch.
Payment information for executing a transaction.
Command to build a Move vector out of a set of individual elements.
Command to merge multiple coins of the same type into a single coin.
Command to call a Move function.
A user transaction.
Contains a series of native commands and Move calls where the results of one command can be used in future commands.
Command to publish a new Move package.
Randomness update.
Command to split a single coin object into multiple coins.
System package.
A transaction.
A TTL for a transaction.
Transaction type.
ChangeEpoch variant is now deprecated (but the ChangeEpoch struct is still used by EndOfEpochTransaction).Command to transfer ownership of a set of objects to an address.
Command to upgrade an already published package.
Object version assignment from consensus.
sui/rpc/v2/epoch.proto
sui/rpc/v2/checkpoint_summary.proto
A commitment made by a checkpoint.
A header for a checkpoint on the Sui blockchain.
CheckpointContents for this checkpoint.Data, which when included in a CheckpointSummary, signals the end of an Epoch.
ValidatorCommittee for the next epoch.sui/rpc/v2/gas_cost_summary.proto
Summary of gas charges.