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, 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 ownership is tracked at the object level rather than inside a mapping, Sui can process NFT transfers in parallel when they involve different objects, which 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.