Joyn is an ecosystem of talent, knowledge and resources for emerging creators to co-create, promote and launch NFT projects. We provide project blueprints (project page, milestones, prompts), web3 building blocks (NFT membership passes, royalty splits, airdrops, output collections), and community resources (network of co-creators and support programs)
Our mission is to make the process of creative collaboration accessible to as many as possible, and to empower every creator regardless of their number of followers, knowledge, or access to resources.
Looking into the future we want to become a go-to platform for metaverse content creation, and to see a lot of cross-pollination and remixing among the projects built with Joyn.
We fully embrace modularity and interoperability with our architecture. We have modules that extend the ERC721 standards, which provide functionalities beyond minting and transferring token instances.
Eg. NFT collections launched through Joyn out of the box allow project creators to split royalties among an arbitrary number of recipients, which means we could achieve shared royalties between everyone involved in the project.
This paves the way for open co-creation of web3 content, where all contributors may share ownership and royalties, and benefit directly from the project’s success.
With that as a foundation, this will also unlock content attribution / remixing as a new class of use case based on inter-referencing projects.
Here is high level System Diagram
ERC721 contract responsible for:
- Deploying split & royalty vaults contracts
- Updating the platform fee and platform fee recipient of a royalty vault
Libraries used:
- Openzeppelin Ownable
Contract used for deploying instances of Splitter. We use the proxies for gas optimization and will allow us to upgrade our users contracts in the future.
A contract that allows co-creators to share revenue generated by a project. This contract uses Merkle tree to verify if a user can claim a share of the revenue.
This contract is responsible for:
- Defining revenue splitting rules
- Allowing co-creators to claim revenue from sales of a collection
The splits repository has been forked from this mirror-xyz/splits Github repository.
More information about how the split mechanism works can be found here
A full set of unit tests are provided in the repo. To run these do the following:
- install
nodejs
, refer to nodejs - run
cp .env.example .env
- set those two env variables:
ALCHEMY_API_KEY={your key}
&DEPLOYER_PRIVATE_KEY={your private key}
- run
npm install
- run
npm run test
command in terminal