This is a proposal I plan to put on-chain in the coming days, based on the approved CCBL project Standard / reference implementation for fractionalized NFTs.
Introduction
NFTs sit at the frontier of blockchain and are seeing rapid growth in interest and use cases. Fractionalization is a relatively new and revolutionary concept that brings multiple benefits such as democratizing access to high-value NFTs, increasing liquidity, allowing DAOs to be formed around NFTs, and creating ETF-like products based on NFT collections. Critically, Secret NFTs have attractive features above what is possible on transparent blockchains, for example access control which provides artists with greater monetization strategies. As a result, fractionalized Secret NFTs will push the frontier and open up a wave of use cases.
For this to happen, a critical first step is to create a reference contract to implement a standard across the ecosystem. This will provide developers with the specifications and a base contract to use as-is or as a starting point for their applications.
I plan to write the specification and create the reference contract to implement fractionalized NFTs on Secret, which will enable Secret to capture this rapidly growing trend. The project will consist of three parts, which I will implement in this sequence:
- Part 1 implements the core functionality to fractionalize Secret NFTs
- Part 2 will allow collections of NFTs to be fractionalized, and implements trading fee royalties (a way to create artist royalties in fractionalized NFTs)
- Part 3 enables cross-chain functionality to bring fractionalized privacy-preserving NFTs to other IBC-enabled blockchains
Detailed product description and roadmap
I anticipate this to take around 4 months to complete. The reference contract will already start providing utility to Secret Network once Part 1 is complete as developers can start using the contract to fractionalize single NFTs at that point. Parts 2 and 3 will add important features to offer a complete solution for fractionalized NFTs to Secret developers and users.
Part 1: core functionality: Ability to fractionalize SNIP-721 tokens (or SNIP-1155 once implemented) [1 - 1.5 months]
Fractionalizing an NFT creates tokens that represent fractional ownership and are economically tied to the underlying NFT. Fractionalized NFTs can be traded freely on the network for as long as the NFT remains fractionalized. At any point, any Secret address can also place a bid to buy the underlying NFT. If the bid is successful, the NFT is âde-fractionalizedâ and the bidder receives the underlying NFT. Fractionalized NFT owners will then receive their pro-rata share of the sale proceeds.
Fractionalization mechanics:
- Secret address (the âcreatorâ) locks a SNIP-721 token in a smart contract
- Creator configures
fTokens
(which are SNIP-24 tokens with additional features), eg: total supply, name, voting thresholds, etc. - Smart contract mints fTokens and transfers to Creator. fTokens represent fractional ownership of a specific underlying NFT.
- Creator can then distribute fTokens, eg: through an auction sale, by providing liquidity on an AMM, or airdropping to specific addresses. fTokens for each given NFT are fungible as they are SNIP-24 tokens, so can be freely traded.
De-fractionalization mechanics:
- At any point in time, bidder(s) can place bid(s) to buy the underlying SNIP-721 token. To do this, a bidder stakes SCRT + some fTokens in contract (a spam prevention mechanism)
- fTokens owners vote/veto whether to accept bid(s). Creator would have specified rules and thresholds: a) veto or vote; b) % vote/veto required to pass/block sale, etc.
- If bid is rejected, bidder can retrieve staked SCRT and fTokens. fToken holdersâ fractional ownership of underlying NFT remains unchanged
- If bid is accepted, smart contract unlocks underlying SNIP-721 and bidder can claim it. fTokens owners then trade in their fTokens to redeem pro-rata share of sale proceeds (SCRT tokens)
Part 2: NFT collections and trade fee royalties: Ability to fractionalize a collection rather than just a single NFT [1 - 1.5 months]
The ability to fractionalize a pool of NFTs can bring many new use cases. Communities can be formed around the NFT collection with their own governance rules, token utility, and reward mechanisms. Communities are incentivized as fractional owners to improve/uphold the value of their NFT collection, as value of the fTokens is economically tied to the underlying NFTs. This can be done via eg: marketing their NFTs, selectively adding or selling NFTs to improve the overall value, improving the reward mechanisms, adding utility to ownership of its fTokens.
With Part 2 implemented:
- Creator can fractionalize a collection of SNIP-721 tokens, rather than just a single NFT. Resulting fTokens represent fractional ownership of the collection of NFTs
- fTokens owners can later deposit additional NFTs to the collection (eg: through governance votes, depending on the configuration set by the creator)
- Bidders can bid for specific NFTs from the collection (donât need to buy the whole collection)
Reward/Rent/Royalty distribution:
- Ability to mint additional fTokens to distribute rewards generated by underlying NFT (eg: rent accruing to the underlying virtual land NFT). Distribution configuration to be set at beginning (when creator initially fractionalizes NFTs), and can be changed via governance votes. Configurations can include eg: pro-rata, stakers only, creator only, etc.
- âTrade fee royaltiesâ, where creator can configure proportion of trading fees of fTokens to accrue to the artist or fractional owners (a way to implement artist royalties on fractionalized NFTs) â can be done through burn mechanism or minting new fTokens
Part 3: Cross-chain fractionalized NFTs: bringing privacy preserving fractionalized NFTs to other chains [1 - 1.5 months]
Secret can further cement itself as the privacy solution to the broader Cosmos ecosystem by bringing fractionalized privacy-preserving NFTs to other chains. This can be implemented by allowing other IBC-enabled Cosmos chains to interact with the fractionalized NFT Secret smart contracts through IBC.
IBC token transfers:
- newly minted fTokens can be transferred to other IBC-enabled chains
- bidders can bid with IBC tokens
IBC message transfers: interface to allow holders of fTokens living on other chains to interact with the contract (can be done after the upcoming update which will enable CosmWasm1.0 on Secret):
- vote/veto bids
- participate in governance votes
- receive share of rewards/rent/royalties
Team
DDT: I am a regular contributor on Secret Network, primarily developing smart contracts. I recently launched Scrt-RNG, which implements a 2-transaction random number generator on Secret Network, bringing significantly more secure randomness to the network while remaining fee-free and fully on-chain (see feature blog post: Secret Feature: Secret Oracles - Bringing Privacy to Smart Contracts and Public Blockchains). I am also involved in a new initiative (âSecret Universityâ) to create better developer education and onboarding materials for Secret developers.
Github: DDT5 ¡ GitHub
Discord handle: DDT#4695
Funding Request
The funding request is 68,500 USD, payable in SCRT from the Community Pool to fund the project, which will cover Parts 1, 2 and 3, as well as ongoing maintenance work on the reference contract code and documentation.
(figure excludes the 10% volatility buffer per the 2022-Q1 Secret Network Charter)