The best way to checkout in a dApp. Sell Out is a component library for building delightful Web3 checkout experiences.
Sell Out aims to be a delightful checkout experience for developers to easily integrate into their dApps. Inspired by RainbowKit, Sell Out uses a single React component to handle the entire checkout lifecycle. Wrap your app in the SellOutProvider and use the checkout modal anywhere in your app. Implement custom themes, address inputs, and promo code options via props passed to the component. Once a user completes a product checkout, the data is stored in IPFS and a receipt is generated from the hash. Sell Out also works with NFT's, just pass the 'handleMint()' function into the prop of the modal.
Sell Out at it's core, is a component library for Web3 checkout experiences. Sell Out uses RainbowKit inspired components to render modals on the web, and bottom sheets on mobile. A product data object is passed into the modal component, once the user finishes the checkout process, the NFT.Storage api is called and returns a ipfs hash. This hash is all the vendor needs in the order book to retrieve order details. NFT.Storage integration is important to keep the order information decentralized where the vendor and buyer both know the transaction details. Just visit https://sellout-ten.vercel.app/receipt/${hash} and a receipt is generated from the metadata. SellOut also works with NFT's on Polygon. The demo app has a NFT contract deployed on Mumbai. Just import the 'setModalType' from the 'useSellOutModal' hook and change the type to 'NFT'.