Sui.

Post

Share your knowledge.

md rifat hossen.
Jun 19, 2025
Discussion

Soulbound ও Transferable Asset

Great article! I’d like to add a few practical points to reinforce the design and type safety around heterogeneous assets in Sui Move:

✅ Since dynamic_field::add<K, V>() requires the store ability, assets like soulbound tokens (which only have key) can’t be stored directly. Instead, store only their ID and listing metadata, which do have store.

✅ Best approach: separate collections based on ability constraints:

  • VecMap<ID, ListingWithAsset> → for key + store assets (e.g., transferable NFTs)
  • VecMap<ID, ListingMetadata> → for key-only assets (e.g., soulbound tokens)

✅ Add a runtime asset_type: String tag to metadata. This enables you to identify and safely handle asset logic (e.g., transfers, display) even after type erasure.

✅ Phantom types are excellent for compile-time type tagging and preventing developer misuse (like accidental transfers of non-transferable tokens).

This modular structure is scalable, avoids Move ability violations, and allows for flexible marketplace design without sacrificing safety. Great work on explaining it so thoroughly!

  • Sui
  • NFT Ecosystem
1
1
Share
Comments
.

Answers

1
0xduckmove.
Jun 21 2025, 07:44

In that case, the SBT would depend on the owner of KioskOwnerCap, so it wouldn't really be soulbound.

2
Best Answer
Comments
.

Do you know the answer?

Please log in and share it.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

400Posts559Answers
Sui.X.Peera.

Earn Your Share of 1000 Sui

Gain Reputation Points & Get Rewards for Helping the Sui Community Grow.

Reward CampaignJuly