We believe that creators want an all-in-one solution that taps into the benefits of web3 without the learning curve of new technology, allowing them to focus on their craft and their community. - Creators edit and generate NFT (badge) collections from an image upload, and fans mint badges from the creator’s online storefront - Creators add our Discord bot to their server, which uses Moralis to automate the creation and management of private channels that only badge holders can access - Creators can launch livestream events through Livepeer that are hidden behind a gated page on our domain, where only badge holders of certain collections will have access - Fans pay either with MATIC and obtain collectible NFTs in their wallet, with immediate utility as entry to an exclusive creator community Our belief is that creators need more ways to monetize and to provide their fans with exclusive rewards. The web3 adoption curve is still very high, but creators using NiftyBadger can launch collections for no cost upfront, and immediately augment their communities with our Discord bot integration. In the future, we want to be the platform for all creator use cases - launching and managing DAOs, creating NFT art, marketplaces where fans can stake NFTs to earn rewards for their creator community, rentable NFTs that allow discovery of other creators - these are all solutions to problems that creators face in web2 and which can be solved with decentralized project financing and by giving decision making power to communities.

NiftyBadger showcase

How it's made

NiftyBadger uses Typescript all around: React on the frontend and Node on the backend. The NFT generation relies on two abstractions in our smart contracts, the Factory and the Machine. Our contracts are deployed on Polygon for transaction speed and affordability when minting and uploading large numbers of NFTs. The Factory contract is an externally callable class that creates a Machine when given a config (including things like price, mint date, etc), and the Machine contract is tied 1:1 to a Collection, which is our internal representation of this config and the contract's address. Creators can choose to create any number of NFTs from a template image that they upload, and an async worker process redraws their image, along with a few attributes like rarity and a #, on layers in a canvas before uploading to Pinata and ultimately sending ipfs:// URIs to the Machine contract to store. We generate a landing page for each Collection and when the mint date for that Machine is reached, users can connect their wallets and mint from the contract. The mint function randomly selects a URI and tokenizes it before sending to the user, and then removes that URI from the pool. Funds are split between creators and the platform at a designated rate. After creating a Collection, creators can connect our Discord bot to their server, which launches an onboarding experience in the #nifty-hax-start-here channel. Each time a creator starts a new Collection, we mirror that collection as a private channel in their server. When users go through our bot and connect their wallet, we use Moralis to check their badges against the server's Collections add them to the correct channels automatically. This check occurs periodically in a background process, so any user that auths with our Discord bot will be continually enrolled in the correct channels across all servers that use the bot. Additionally, a creator can launch a livestream event through Livepeer, attaching a previously created collection as the access point. Fans receive a link to the event, which is hosted on a NiftyBadger domain that gates entry using Moralis before handing off the stream to Livepeer.