Skip to main content


The object's owner type: Immutable, Shared, Parent, or Address.

union ObjectOwner = Immutable | Shared | Parent | AddressOwner

Possible types

ObjectOwner.Immutable object

An immutable object is an object that can't be mutated, transferred, or deleted. Immutable objects have no owner, so anyone can use them.

ObjectOwner.Shared object

A shared object is an object that is shared using the 0x2::transfer::share_object function. Unlike owned objects, once an object is shared, it stays mutable and is accessible by anyone.

ObjectOwner.Parent object

If the object's owner is a Parent, this object is part of a dynamic field (it is the value of the dynamic field, or the intermediate Field object itself). Also note that if the owner is a parent, then it's guaranteed to be an object.

ObjectOwner.AddressOwner object

An address-owned object is owned by a specific 32-byte address that is either an account address (derived from a particular signature scheme) or an object ID. An address-owned object is accessible only to its owner and no others.

Member Of

Coin object ● CoinMetadata object ● IObject interface ● MoveObject object ● MovePackage object ● Object object ● StakedSui object ● SuinsRegistration object