A Simple Non-Custodial Payments Gateway For Web2-or-3 Marketplaces
Hi, this isn't a scaling project :) It's more of a legal experiment - We seek to build a non-custodial way for Marketplace Service Providers (like Twitch, Etsy, et al) to charge a fee for Web3 payments that go through their marketplace. My wife and I have a startup building a Web2 streaming content marketplace (like a Twitch competitor), and we want to allow our content creators to accept ETH/DAI as donations or content purchases in their store - but the custodial payments model is prohibitive to a small startup like us, because of the reporting requirements involved; we'd like to charge a flat 10% fee on all donations, but having to take custody of the remaining 90% of funds creates a legal headache for us. Ether is programmable money, so we built this demonstration of a non-custodial payments provider, allowing traditional Web2 marketplaces to integrate ETH payments (DAI coming soon!), while still accepting the service fee. Now, a marketplace can render a PAYMENTS or DONATIONS widget and monitor the BrainStore contract for approved payments, accepting their service fees without reporting exposure for the greater bulk of the payment.
How it's made
This project is a simple solidity smartcontract of a 3-layer self-service Factory pattern, with a hardhat + react frontend; the initial Factory contract is deployed to allow anyone to create a Marketplace ("Store Builder") - the owner of that Marketplace is then a self-service interface for content creators to deploy a new BrainStore, which is just a direct payments gateway with fee splitting logic. Crucially, the content creator is the actor who deploys and controls the BrainStore contract; the content creator can transfer ownership, update the title, withdraw funds, and perform all control functions on the BrainStore, except for adjusting the feeBasis quantity and feeProvider address.