Object Display
Object Display is a template engine that controls how Sui objects appear in wallets, explorers, and other offchain applications. You define a set of key-value pairs where both keys and values are format strings. The keys represent display properties (for example, name, description, image_url, link), and the values are templates that reference fields on your object using {field_name} syntax.
When a client (wallet, explorer, marketplace) renders your object, it reads the Display definition from the chain and substitutes the template variables with the object's actual field values. This enables onchain management of offchain representation without modifying the object's struct definition.
Common use cases
- NFTs and collectibles: Define
name,description,image_url, andproject_urlso wallets display rich previews. - Gaming items: Use dynamic templates that reference evolving object fields (level, rarity, stats) for composable and dynamic displays.
- Marketplace listings: Set standardized metadata fields so aggregators can index and display your objects consistently.
What happens without a Display
If no Display is defined for a type, clients fall back to rendering raw object data (struct fields and values). The object remains fully functional on Sui, but wallets and explorers cannot show human-readable names, images, or descriptions.
Object Display V2 is the current Object Display standard. Use the sui::display_registry APIs when creating or updating displays from Move code.
Object Display V1 is legacy. Existing V1 displays were migrated to V2 in a system snapshot migration. If you need to manage a migrated display, claim its DisplayCap<T> when you are ready (see Migrating to V2).
What is Object Display?
Object Display is a way to render any object on Sui using templating syntax. It renders Sui Move object values into human-readable strings, JSON, or encoded representations.
Creating Displays
An Object Display must be explicitly created and then maintained by the package or type owner.
Object Display Templates
Use the interactive module to try out different Object Display templates.