@zoralabs/coins
v2.3.1
Published
A protocol for creating and trading creator and content coins with automatic rewards distribution on top of Uniswap V4 hooks.
Maintainers
Keywords
Readme
Coins
A protocol for creating and trading creator and content coins with automatic rewards distribution on top of Uniswap V4 hooks.
📖 Documentation
For comprehensive documentation including architecture details, contract specifications, and usage guides, visit:
Quick Start
This package contains the core smart contracts for the Zora Coins protocol. For end-user guides and detailed explanations, see the documentation link above.
Development Setup
Install dependencies:
pnpm installEnvironment setup:
cp .env.example .env # Edit .env with your configurationBuild contracts:
forge buildRun tests:
forge test -vvv
Testing
For individual packages:
forge test -vvv- Run Solidity tests with verbose outputforge test --watch -vvv- Run tests in watch modeforge test -vvv --match-test {test_name}- Run specific testpnpm test- Run JavaScript/TypeScript tests
Deployment
The ZoraFactory contract is deployed deterministically using a turnkey account. The deployment process uses a helper contract, DeterministicDeployerAndCaller.
Prerequisites
- Ensure you have Forge installed.
- Familiarity with turnkey accounts is recommended.
Setting up environment variables
In the packages/coins directory:
- Copy
.env.exampleto.env - Populate the parameters in
.env
Deploying the Coins Factory
- Deploy the
ZoraFactorycontract, you must pass the--ffiflag to enable calling an external script to sign the deployment with turnkey:
forge script script/Deploy.s.sol $(chains {chainName} --deploy) --broadcast --verify --ffiwhere {chainName} is the emdash name of the chain you want to deploy on.
- Verify the factory contract. Since it is deployed with create2, foundry won't always recognize the deployed contract; verification instructions will be printed out in the logs.
Audits
- Coins Aug 2025: Cantina Audit Report
- Coins Oct 2025: Cantina Audit Report
