> For the complete documentation index, see [llms.txt](https://crowdmuse.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://crowdmuse.gitbook.io/docs/dev-docs/crowdmuse-documentation.md).

# Crowdmuse Documentation

The Crowdmuse Product contract builds on top of the ERC721A/NFT standard  to give creators several abilities. They are -&#x20;

1. Sale of products with each ERC721 token representing a physical item
2. Token-gating of creator artifacts that are intended as a perk for customers
3. Contributuion based revenue sharing between collaborators which are stored transparently on-chain so that consumers can see where their money flows
4. A function that distributes the proceeds of the NFT sales to the contributors based on the collaborator splits defined in the contract
5. Secondary royalty payments to contributors if the NFT is re-sold on a marketplace
6. Multiple NFT purchase in one transaction (ERC-721A standard)
7. Native Stripe/Credit Card support available on Optimism, Base, Polygon, and Ethereum

You can view the open-source contract [here](https://github.com/Crowdmuse/contracts), with detailed comparison to standard NFT contracts:

<table><thead><tr><th width="245">Features</th><th width="214">ERC-721 NFTs</th><th>Modified ERC-721A (Crowdmuse)</th></tr></thead><tbody><tr><td>Onchain products</td><td>🟢</td><td>🟢</td></tr><tr><td>Multiple mints</td><td>🟢 (ERC721A standard)</td><td>🟢  (ERC721A standard)</td></tr><tr><td>Creator splits</td><td>🟢 (via splits)</td><td>🟢  (onchain and dynamic)</td></tr><tr><td>Product bundle artifacts</td><td></td><td>🟢 (jpeg, png, pdf, obj, svg, mp4)</td></tr><tr><td>Creator artifact licensing</td><td></td><td>🟠  (token gated, legal wrapper)</td></tr><tr><td>Physical Redemption</td><td>Offchain options</td><td>🟢</td></tr><tr><td>Physical CRM + fulfillment</td><td></td><td>🟢</td></tr><tr><td>Dynamic contribution</td><td></td><td>🟠</td></tr><tr><td>Payment options (USDC and Credit Card)</td><td></td><td>🟢</td></tr><tr><td>Compaitble networks</td><td></td><td>Polygon, Ethereum Mainnet, Base, Optimism, Zora Network</td></tr></tbody></table>

\
**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](https://etherscan.io/token/0x6a232c19fd8b51ea769554e6b1a3937793f509e1). We also display the existing collectors for additional social validation.

<figure><img src="/files/N8HN5VeobmjvuaflAte5" alt=""><figcaption></figcaption></figure>

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](https://litprotocol.com/) 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.

<figure><img src="/files/oMytwEC8ZCfxCz38MqIh" alt=""><figcaption></figcaption></figure>

**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.

<figure><img src="/files/dd2vlRnVdCYGIny39jzN" alt=""><figcaption></figcaption></figure>

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.&#x20;

<figure><img src="/files/U1yU6BwqBhKUfeYZ9uOz" alt=""><figcaption></figcaption></figure>

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&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://crowdmuse.gitbook.io/docs/dev-docs/crowdmuse-documentation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
