← Back to home

ShopKeepr

NFT primary sale through Seaport using lazy minting and partial fills

Screenshots

ShopKeepr screenshot 1
ShopKeepr screenshot 2
ShopKeepr screenshot 3
ShopKeepr screenshot 4
ShopKeepr screenshot 5
ShopKeepr screenshot 6

Problem Statement

Built on Seaport, Shopkeepr extends OpenSea's existing Storefront functionality. NFT creators can conduct a primary sale without any upfront transaction costs, which will occur only when each NFT is first purchased, and will be covered by the purchase price. Preparing a collection is significantly more time-efficient as only a single signature is required regardless of collection size and number of whitelisted addresses.

Solution

We use Seaport's Order, Partial fill, and Zone features to enable many of the mechanisms. Zone contracts are read-only and cannot trigger a mint, so we implemented a proxy contract to conduct the zone check and trigger the mint within the same transaction. We used Merkel proofs checked by zones to manage whitelisted addresses in an efficient, generic way. A seaport Order is created listing all ERC1155 tokens available in the collection for sale, with each successful mint transaction partially filling the order. IPFS was used to store NFT metadata in a decentralised way, which will be increasingly important as more NFT collections drop.

Hackathon

ETHNewYork 2022

2022

Prizes

  • 🏆

    🏊‍♂️ Valist — Pool Prize

Contributors