# OpenZeppelin Contracts — Secure Smart Contract Library for Ethereum > OpenZeppelin Contracts is an open-source library of audited, reusable Solidity smart contracts. It provides standard implementations of ERC-20, ERC-721, ERC-1155, access control, upgradeable proxies, and governance patterns. Developers use it to build secure on-chain applications without reinventing common primitives. ## Install Save in your project root: # OpenZeppelin Contracts — Secure Smart Contract Library for Ethereum ## Quick Use ```bash # Install in a Hardhat or Foundry project npm install @openzeppelin/contracts # Import in Solidity # import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; ``` ## Introduction OpenZeppelin Contracts is the most widely adopted library of reusable smart contracts for Ethereum and EVM-compatible chains. Each contract is peer-reviewed and professionally audited, reducing the risk of costly vulnerabilities. The library covers tokens, access control, governance, proxies, and cryptographic utilities. ## What OpenZeppelin Contracts Does - Provides standard-compliant ERC-20, ERC-721, and ERC-1155 token implementations - Offers access control patterns like Ownable, AccessControl, and role-based permissions - Includes proxy contracts (Transparent, UUPS, Beacon) for upgradeability - Ships governance primitives (Governor, TimelockController) for on-chain DAOs - Supplies cryptographic helpers for Merkle proofs, ECDSA, and EIP-712 signatures ## Architecture Overview The library is organized into modules by domain: `token/`, `access/`, `proxy/`, `governance/`, `utils/`, and `finance/`. Contracts follow an inheritance-based composition model where developers extend base contracts and override hooks to customize behavior. Each module is designed to be minimal and composable. The project uses Hardhat for compilation and testing, and it ships both Solidity source files and pre-compiled artifacts. ## Self-Hosting & Configuration - Install via npm (`@openzeppelin/contracts`) or copy sources directly into your project - Import individual contracts by path to keep deployment gas costs low - Use the OpenZeppelin Contracts Wizard (web UI) to scaffold custom contracts - Pin a specific version in your package manager to avoid unexpected breaking changes - For upgradeable contracts, use `@openzeppelin/contracts-upgradeable` and initializer patterns ## Key Features - Every release is professionally audited with public reports - Contracts Wizard generates ready-to-deploy Solidity from a web form - Modular design lets you import only what you need - Active governance module used by major DAOs including Compound and Uniswap forks - Compatible with all EVM chains including Polygon, Arbitrum, and Optimism ## Comparison with Similar Tools - **Solmate** — Gas-optimized alternatives by Paradigm; OpenZeppelin prioritizes safety and completeness - **Solady** — Ultra-optimized assembly contracts; OpenZeppelin offers more readable, audited code - **thirdweb Contracts** — Focused on NFT and marketplace use cases; OpenZeppelin covers broader primitives - **DappSys** — MakerDAO's early library; largely superseded by OpenZeppelin in ecosystem adoption ## FAQ **Q: Is OpenZeppelin Contracts free to use?** A: Yes. The library is released under the MIT license and free for commercial and personal use. **Q: Does using OpenZeppelin guarantee my contract is secure?** A: The library itself is audited, but your custom logic on top still needs its own review. Audits cover the library code, not project-specific integrations. **Q: How do upgradeable contracts work?** A: OpenZeppelin provides proxy patterns (Transparent and UUPS) that separate storage from logic, allowing the logic contract to be replaced while preserving state. **Q: Which version should I use with Solidity 0.8?** A: OpenZeppelin Contracts v4.x and v5.x both support Solidity 0.8. Version 5.x is the latest with improved API ergonomics. ## Sources - https://github.com/OpenZeppelin/openzeppelin-contracts - https://docs.openzeppelin.com/contracts --- Source: https://tokrepo.com/en/workflows/asset-fc0176db Author: AI Open Source