A collection of battle-tested OpenZeppelin patterns — copy, paste, deploy. Every recipe targets OpenZeppelin Contracts v5 and follows current best practices for gas efficiency, security, and upgradability.
- ERC-20 — tokens, permit, votes, snapshots
- ERC-721 — NFTs, royalties, enumerable
- ERC-1155 — multi-token, batch operations
- Access Control — Ownable, Roles, timelocks
- Upgrades — UUPS, transparent proxies, beacon
- Governance — Governor Bravo, TimelockController
-
ERC-20 with Permit
Ingredients: ERC20, ERC20Permit, Ownable
Method: Inherit ERC20 and ERC20Permit. Set owner in constructor. Deploy — gasless approvals work via off-chain signatures.
-
ERC-721 with Royalties
Ingredients: ERC721, ERC2981, Ownable
Method: Inherit ERC721 and ERC2981. Set default royalty in constructor. Override supportsInterface to return true for ERC2981.
-
UUPS Upgradeable Proxy
Ingredients: UUPSUpgradeable, OwnableUpgradeable, Initializable
Method: Write implementation with upgrade gap. Use OpenZeppelin CLI to deploy proxy. Upgrade via _authorizeUpgrade restricted to owner.
-
Governor Bravo DAO
Ingredients: Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl, TimelockController
Method: Wire Governor with voting delay, quorum, and timelock. Deploy TimelockController first, then Governor. Proposals execute after delay + voting period.
-
Access Control with Roles
Ingredients: AccessControlUpgradeable, Initializable
Method: Define roles as bytes32 constants. Grant DEFAULT_ADMIN_ROLE to deployer. Use modifier checks for MINTER_ROLE, PAUSER_ROLE, etc.
What you get
A single PDF with 25+ production-ready recipes covering every major OpenZeppelin module — complete Solidity code, import paths, constructor wiring, and deployment notes.
- ERC-20, ERC-721, ERC-1155 — full variants
- Access control — Ownable, Roles, timelocks
- Upgradeable proxies — UUPS, transparent, beacon
- Governance — Governor Bravo, token voting
- Security — Pausable, ReentrancyGuard, PullPayment
- Utilities — Arrays, Counters, ECDSA, MerkleProof
Payment
Send exactly $1 in ETH or USDC (ERC-20) to:
0x0D42B32D6E21F496082104BFC8d7213081474577
After payment, email your transaction hash to receive the PDF.