Skip to main content

NFTs

Non-fungible tokens (NFTs) on Sui are objects with unique identities that you can own, transfer, and extend with custom logic. Because Sui treats every NFT as a first-class object (one with its own unique ID and owner, rather than an entry in a contract's mapping), you get fine-grained control over ownership, composability, and programmable transfer rules without relying on a central contract registry.

Every NFT object carries metadata you define in its Move struct. Common fields include a name, description, and URL pointing to offchain media. The Sui framework does not enforce a single metadata schema, so you can design your NFT struct to match your application's requirements exactly.

How do NFTs work on Sui?​

Sui NFTs follow the object ownership model. When you mint an NFT, the runtime assigns it a unique ID and records the owner. Transferring the NFT changes that ownership record. Because Sui tracks ownership at the object level rather than inside a mapping, it can process any transactions that involve different objects in parallel, and NFT transfers are no exception. This keeps throughput high.

You can extend NFT behavior by adding custom transfer policies, attaching dynamic fields for evolving metadata, locking tokens as soulbound (non-transferable), or building rental mechanics that temporarily grant usage rights without changing the underlying owner.