Crowdmuse Documentation
Crowdmuse has built innovative smart contracts to enable creators to sell physical goods in a transparent and collaborative way.
Last updated
Crowdmuse has built innovative smart contracts to enable creators to sell physical goods in a transparent and collaborative way.
Last updated
The Crowdmuse Product contract builds on top of the ERC721A/NFT standard to give creators several abilities. They are -
Sale of products with each ERC721 token representing a physical item
Token-gating of creator artifacts that are intended as a perk for customers
Contributuion based revenue sharing between collaborators which are stored transparently on-chain so that consumers can see where their money flows
A function that distributes the proceeds of the NFT sales to the contributors based on the collaborator splits defined in the contract
Secondary royalty payments to contributors if the NFT is re-sold on a marketplace
Multiple NFT purchase in one transaction (ERC-721A standard)
Native Stripe/Credit Card support available on Optimism, Base, Polygon, and Ethereum
You can view the open-source contract here, with detailed comparison to standard NFT contracts:
Features | ERC-721 NFTs | Modified ERC-721A (Crowdmuse) |
---|---|---|
Beta Marketplace
The 0xTote bag is an example of a drop we did in collaboration with FWB, DSPTCH and Tropical Futures Institute. You can see the revenue splits in the top left hand corner which are numbers that are read from this specific product contract. We also display the existing collectors for additional social validation.
Our website handles the complexity of smart contracts for you and gives you an easy form to fill out to let you harness the power of the smart contract without having to manage any code.
We also allow creators to upload and encrypt chosen files to be made available to NFT holders. This allows the creator to give perks and behind the scenes access to their customers. We use Lit Protocol for encryption and token gating. Here is what the product files look like to someone who hasn’t purchased the NFT and therefore doesn’t have access.
Accessibility
Everyone knows that web3 is not very accessible and this is a major barrier to broader adoption. We’ve put a lot of effort in to make it as accessible as possible.
Of course we allow people to use their own wallets and encourage people to do so but we understand that it’s not for everyone. So we’ve partnered with Privy to allow people to get access to a wallet using their email or social sign in. Their secure system allows for people to use a wallet and export it whenever they’re ready to manage their own keys.
We also allow people to pay with credit/debit cards in case they don’t have access to the relevant payment token. We built an integration that uses stripe to take payments and then performs the NFT mint function for the user upon receipt of a successful stripe purchase. Currently, the contracts handle payments in USDC but we plan on adding flexibility to the contracts so that any currency can be chosen.
We’re chain-agnostic and currently support Ethereum Mainnet, Polygon, Base and Optimism.
Data capture
We use the form to gather information about your product and store some information directly on the smart contract. The data stored on the contract includes:
Inventory management (total stock and distribution of garment sizes)
Price of the item
Contributor addresses and their respective revenue-share figures
Royalty % for NFT re-sales
Product name
Payment token used (currently USDC)
We also capture some data off-chain. This includes:
Contributor information such as description of work done and links to any files uploaded for their work. These files are stored on IPFS and files that are gated for token-holders are encrypted so they cannot be accessed just by having the IPFS url - you need to use Lit Protocol to decrypt the IPFS link before having access to the file.
Product story, description and returns information which are displayed on the front-end
Physical address, email address and wallet address of customers - this data can be exported when handling product distribution
Thirdparty Integrations
We are working with thirdparty partners so they can use our multiplayer contracts on their marketplaces and storefronts.
In order to enable collectors to mint from Crowdmuse Multiplayer contract, thirdparty marketplaces need to do the following:
Adding specific contract ABI
Function call using BuyNFT(address buyer, bytes32 garmentType, uint256 quantity)
Custom UI implementation to show creators splits, creator artifacts, and redirect to redeem
Onchain products
🟢
🟢
Multiple mints
🟢 (ERC721A standard)
🟢 (ERC721A standard)
Creator splits
🟢 (via splits)
🟢 (onchain and dynamic)
Product bundle artifacts
🟢 (jpeg, png, pdf, obj, svg, mp4)
Creator artifact licensing
🟠 (token gated, legal wrapper)
Physical Redemption
Offchain options
🟢
Physical CRM + fulfillment
🟢
Dynamic contribution
🟠
Payment options (USDC and Credit Card)
🟢
Compaitble networks
Polygon, Ethereum Mainnet, Base, Optimism, Zora Network