Clowder.club allows you and your friends to co-buy & co-own any NFT. With Clowder you sell directly at OpenSea.
Clowder.club allows you and your friends to co-buy & co-own any NFT on ETH With Clowder you sell directly at OpenSea. You can contribute to a Clowder and buy a floor NFT of any collection on Polygon, Ethereum, Base, Zora and Optimism.
Users approve their wETH to be spent on Clowder, then they sign as many contributions to different NFT collections as they want using EIP712 which means it’s a gasless operation.
Once enough contributions have been authorized for a floor NFT. The Clowder bot executes the purchase transaction validating the authorization signatures.
An ERC20 token and a vault are created. The NFT bought is put inside the vault. The ERC20 token is distributed to the contributors proportionally to their contributions. This is all handled in the TraderClowderDelegate contract which is instantiated for each new group of contributors.
The vault can receive any asset: ERC721, ERC1155, ERC20 and ETH. This may be useful for receiving airdrops or any kind of assets in the vault.
The ERC20 token can be freely transferred and it represents dividends rights and voting rights over the assets of the vault.
4.a. Set a listing price. The NFT can be listed on OpenSea once either:
--- The sale price has more than 50% agreement and the sale price is above the Oracle Price.
--- Or the sale price has 100% agreement, doesn’t matter what the sale price is.
4.b. Transfer assets out of the vault. --- The asset is transferred out once the transfer operation has 100% agreement.
--- It supports transferring the entirety of the vault’s ETH, the entirety of an ERC20 or ERC1155 balance or an ERC721.
At any point in time anyone can call distributeFunds. This is used to distribute any ERC20 token or ETH inside the vault proportionally to each token holder at the time.
At first we set up the EIP712 signatures for the contribution and group buying and tried to let the group list their NFT on OpenSea (using Wyvern at the time) and LooksRare. But we couldn’t make neither OpenSea nor LooksRare show the listing on their storefronts as their backends weren’t compatible with ERC1271 (even though their smart contracts allowed it just fine). Related commits: https://github.com/TuMicro/Clowder/commit/d09359f0dbb3f0462243a0b2e4c93cea9a6a2b6b https://github.com/TuMicro/Clowder/commit/e083583740feac44f2af060ef4490cd2dec62983
So at the time our solution was, with pain in our hearts, to centralize the NFT, that is, make EOAs to own the NFTs the groups purchase.
The next challenge was that our group purchase flow required an EOA (our bot) to have the full Eth amount of the NFT price beforehand to be able to purchase. So we had to implement what we call flashbuy (inspired by uniswap flashwaps) which allowed us to execute any purchase without requiring liquidity from our part but just using the liquidity of the contributors.
Some time later we moved the centralized management to a smart contract (yay), which now we call a vault. We used the 0xSplits protocol to distribute the NFT sale proceedings or any proceedings (including possibly airdrops) to the contributors.
While on that we realized our price consensus mechanism was weak because it allowed for a majority to collude and take over the NFT profits (sell price minus buy price) in case its price goes up. That’s when Reservoir came to help, we now use their floor price oracle and we prevent a majority from setting the NFT price below the floor unless there is 100% consensus.
Up to this date we have deployed to Polygon, Ethereum, Base, Optimism and Zora.