Skip to main content


A Move object that's shared.

type SharedInput {
address: SuiAddress!
initialSharedVersion: Int!
mutable: Boolean!


SharedInput.address ● SuiAddress! non-null scalar

SharedInput.initialSharedVersion ● Int! non-null scalar

The version that this this object was shared at.

SharedInput.mutable ● Boolean! non-null scalar

Controls whether the transaction block can reference the shared object as a mutable reference or by value. This has implications for scheduling: Transactions that just read shared objects at a certain version (mutable = false) can be executed concurrently, while transactions that write shared objects (mutable = true) must be executed serially with respect to each other.

Implemented By

TransactionInput union