Every Thing's a Remix hosts drops for limited, remixable collectibles that can be redeemed for the real object. Users can access drops two ways, supply is split between them: 1. Enter raffles. Raffle participants need to be whitelisted and put down a deposit for the sneaker: to limit abuse by bots (a scourge on the market). Tired of taking Ls? Good news, every raffle you lose boosts your chance to win the next, until you finally got 'em. 2. Buy from the built-in bonding curve. Every buy increases the price, every sell decreases. For those who can't wait, and don't mind paying for it. Each component can be instantly purchased (or sold) from its bonding curve pool. Hop in the sneaker remixer, and check out how much your grail would cost to mint. Each drop can be redeemed as is, or broken down into parts and remixed. Landed a hype sneaker, only for it to flood instagram? Sell off a couple pieces, and swap them to create your own custom. Every new drop explodes the number of possible combinations. Once you're satisfied with your design, you can construct your sneaker: mint it virtually as a 721 NFT, or get it produced and delivered to you by redeeming. No more competing with bots, backdoors, or basics. This weekend we were focused on demonstrating the idea, so we chose to narrow the scope to what we know: sneakers. But the concept isn't limited to shoes, there's a wide range of limited collectibles that could potentially be broken down into standardized components and remixed.
How It's Made
Frontend forked from Scaffold-ETH. Designed and implemented a raffle entry page, a sneaker builder, and collection manager with React. With respect to smart contracts, the composable parts NFT was implemented as an ERC1155, we added a linear bonding curve built into the 1155, the ability to bundle the parts into a "snapshot" 721 NFT (i.e. the ability to fuse parts into a single NFT that represents a complete sneaker design, or burn them to get the parts back), a staking raffle that gives raffle losers an increased chance to win until they stop taking Ls (inspired by pooltogether, though ended up being faster to write the contracts from scratch than integrating with their contracts due the custom features we needed). The project is intended to be launched on xDai, but is being run locally in our demo.