Overview
The tokenization contract (contracts/assetsup/src/tokenization.rs) supports fractional ownership — tokenize an asset, transfer shares, lock/unlock — but has no UI. This flow is the platform's flagship differentiator.
What to Build
On the asset detail page, a Tokenization tab (visible when the asset is on-chain, [SC-02]):
- Not tokenized: explainer + "Tokenize this asset" flow (ADMIN + connected wallet [SC-03]): total shares, optional voting threshold → builds the contract call, user signs via Freighter, progress/confirmation states, tx link on success
- Tokenized: summary card (total supply, holders count, your balance), token transfer form (recipient address + amount, signed by the holder's wallet), lock/unlock controls where the contract permits
- Read paths go through backend read endpoints (via [SC-01]) or direct RPC simulation — pick one and document it; writes are always wallet-signed client-side
- Clear error surfaces for contract rejections (not authorized, paused, transfer restrictions from
transfer_restrictions.rs)
References
- Contract:
contracts/assetsup/src/tokenization.rs, transfer_restrictions.rs
- Blocked by [SC-01], [SC-02], [SC-03]
Acceptance Criteria
Overview
The tokenization contract (
contracts/assetsup/src/tokenization.rs) supports fractional ownership — tokenize an asset, transfer shares, lock/unlock — but has no UI. This flow is the platform's flagship differentiator.What to Build
On the asset detail page, a Tokenization tab (visible when the asset is on-chain, [SC-02]):
transfer_restrictions.rs)References
contracts/assetsup/src/tokenization.rs,transfer_restrictions.rsAcceptance Criteria