Understanding Asset Tokenization on the Sui Blockchain

·

Asset tokenization is the process of converting rights to real-world assets—such as real estate, art, commodities, stocks, or other valuable items—into digital tokens on a blockchain network. This involves transforming ownership or entitlements into digital tokens that are then recorded and managed on a distributed ledger.

Core Concepts of Asset Tokenization

The fundamental idea is to divide a high-value asset into smaller, more affordable units, each representing a share of ownership or a fraction of the asset itself.

This approach democratizes access, allowing a broader range of investors to participate with lower capital requirements and reduced risk, rather than needing to be the sole owner of an entire asset.

The model is conceptually similar to the ERC1155 multi-token standard but includes enhanced capabilities, making it a robust choice for implementing Solidity-based use cases on the Sui blockchain.

How Assets Are Created

An asset is divided into a total supply, with each fraction represented as a collectible that can be either a Non-Fungible Token (NFT) or a Fungible Token (FT). This ensures each individual fraction maintains a balance of at least one, and when combined, all fractions collectively represent the asset's total supply.

Beyond the total supply, each asset is defined by various metadata fields like name and description. These fields form the asset's metadata and remain consistent across all its fractional tokens.

The Difference Between NFTs and FTs

When a tokenized asset is minted, it can be created with new metadata. If new metadata is incorporated, the tokenized asset is considered unique, transforming it into an NFT. In this case, its balance is restricted to one, signifying a single, unique instance of that asset exists.

If no additional metadata is added, the tokenized asset is classified as an FT. This allows its balance to be greater than one, permitting multiple identical instances of the asset to exist.

FTs possess the ability to be merged (joined) together or split apart when their balance is greater than one. This functionality provides flexibility to aggregate or divide token units as needed.

As mentioned, all collectibles of a tokenized asset, whether NFTs or FTs, can combine to reach the asset’s maximum total supply.

Understanding Burn Capability

During asset creation, you can define whether the asset's fractions are eligible to be removed from circulation or destroyed. This removal process is known as burning.

If a tokenized asset is burnable, destroying a fraction reduces the circulating supply by that fraction's balance. However, the total supply remains unchanged. This allows the burned fraction to be minted again later if necessary, maintaining the asset's predefined total supply.

The Move Programming Language and Tokenization

Like all smart contracts on Sui, the logic supporting asset tokenization is written in Move.

The asset_tokenization Package

This reference implementation utilizes Sui's Kiosk primitive to ensure created Tokenized Assets (TAs) operate within a set of rules defined by their creator. Using this implementation is recommended to have sellable TAs that support rules like royalties and commissions.

If operating within a Kiosk is not a requirement, the unlock module and certain proxy methods related to Transfer Policies can be excluded.

The tokenized_asset module operates similarly to Sui's coin library. Upon receiving a new One-Time Witness (OTW) type, it creates a unique representation of a fractional asset. It incorporates functions for asset creation, minting, splitting, joining, and burning.

Key Structures

Core Functions

The module includes essential functions like init (creates a PlatformCap), new_asset (defines a new asset's properties), mint (creates the tokens), split (divides an FT), join (merges FTs), burn (removes tokens from circulation), and helper functions to retrieve supply and balance values.

The Template Package

This is a sample use-case package that supports the seamless creation of assets directly in a browser by leveraging Rust WebAssembly (WASM) capabilities. It functions similarly to a launchpad and serves as a template whenever a new asset needs representation as a tokenized asset.

The package contains two key modules:

Deployment and Practical Implementation

Before publishing code, you must initialize the Sui client CLI. The process involves connecting to a Sui node (like Devnet) and generating a keypair to create a Sui address.

Publishing the Packages

You can choose to deploy the contracts manually using the Sui CLI or use an automated bash script that handles the publishing and populates necessary environment variables.

Interacting with Tokenized Assets via TypeScript SDK

After deployment, you can interact with your smart contracts and tokenized assets using the provided TypeScript functions.

Commands like npm run call mint, npm run call lock, and npm run call purchase execute these functions, requiring the relevant object IDs to be set in your .env file.

Frequently Asked Questions

What is the primary benefit of asset tokenization?
Asset tokenization unlocks liquidity for traditionally illiquid assets like real estate or fine art. By dividing them into smaller, digitally tradable units, it allows fractional ownership, lowers investment barriers, and enables a global pool of investors to participate in new markets.

What's the key difference between an NFT and an FT in this context?
An NFT represents a unique tokenized asset with a balance of one, created by adding custom metadata during minting. An FT represents a fungible, divisible token with a balance that can be greater than one, created without additional metadata, making multiple instances identical and interchangeable.

Is it possible to convert a tokenized asset after it's been minted?
No, the type of token (NFT or FT) is determined at the moment of minting based on the presence of custom metadata. This classification is immutable; an FT cannot later become an NFT, or vice versa, ensuring the integrity of the asset's representation and its properties.

Who has the permission to burn (destroy) tokens?
Typically, the burning function is restricted and requires an AssetCap object, which is usually held by a platform administrator. However, the smart contract can be redesigned to allow users to burn tokens under specific, authorized conditions, such as using a special BurnTicket issued by an admin.

How does the Kiosk primitive enhance security?
Using a Sui Kiosk to hold tokenized assets is a best practice. Locking an asset in a Kiosk prevents it from being transferred, listed, or used in any way that violates the rules of its attached Transfer Policy, thereby enforcing creator-defined rules like royalties and ensuring compliant transactions.

Can I change the metadata or properties of an asset after deployment?
The core metadata for the asset type (name, total supply, symbol) is defined upon creation and is immutable. However, the unique VecMap metadata for individual NFT-type tokens is set at minting and is also permanent. Changes would require a new asset creation. 👉 View real-time tools for blockchain development