Semi Fungible tokens on Stacks?

Hello Clarity Developers,

I’ve been exploring the concept of semi-fungible tokens (SFTs) and considering how we might implement a system similar to Ethereum’s ERC-404 in Clarity. The idea is to create tokens that possess both fungible and unique characteristics, enabling new possibilities for digital assets on the blockchain.

Proposal Overview: The proposed Clarity contract would manage tokens that automatically transition between being fungible and non-fungible based on specific conditions—namely, the quantity in a wallet. For instance, tokens could act as fungible until a certain quantity is reached, at which point an NFT is minted, representing a unique asset. Conversely, if the quantity drops below this threshold, the NFT would be “burned,” reverting the asset back to its fungible state.

Technical Considerations:

  • Dynamic Minting/Burning: Tokens would automatically mint or burn NFTs when the balance crosses predefined whole number thresholds.
  • Balance Management: Adjustments in a user’s balance could trigger these transitions, needing careful tracking and management of state changes.
  • Integration Challenges: Interfacing this system with existing smart contracts and ensuring compatibility with Clarity’s capabilities.

Potential Use Cases:

  • Gaming: Items can be fungible for trading within a market but become unique when used in specific contexts.
  • Collectibles: Mass-produced items that become unique as they gain historical significance or modifications.
  • Financial Instruments: Bonds or tickets that are generally fungible but need to be individualized at certain times.

Questions for the Community:

  1. What potential issues do you see with integrating such a token standard in Clarity?
  2. Are there specific functional or security concerns that should be addressed in the initial design phase?
  3. Could this implementation impact the performance or security of existing smart contracts on the network?
  4. What improvements or additional features would you suggest for such a system?

I am looking forward to your insights and any feedback that could help refine this proposal. Thank you for contributing your expertise and helping shape this innovative approach to token design on the blockchain.


Interesting idea! There is a token standard for semi fungibles, see sip 13 but its a bit different to your suggestion as its closer to ERC1155 - but maybe helps with the reference implementation attached.

1 Like