OpenZeppelin Documentation

Learn about writing, testing, deploying, and upgrading your smart contract applications on Ethereum using the OpenZeppelin tools.

Our offering includes the most widely used Solidity smart contracts library, a command-line tool for managing your project, several JavaScript modules, and pre-packaged boxes to bootstrap development.

Why OpenZeppelin?

OpenZeppelin tools have been built with security in mind. Since the first release of the Contracts library in 2016, our libraries have been downloaded over 1.5 million times to create tokens, protect digital assets, and power decentralized applications, securing more than $4.5 billion. We also work with top Ethereum projects through our security audits service.

More from OpenZeppelin


The OpenZeppelin Research team provides a Security Audits service for decentralized applications, tools, and protocols. You can browse through past public audits in our blog. Go through our quality checklist and contact us before going to production to make sure your project is secure.


Learn more about security in Solidity contracts by playing Ethernaut. Every level in Ethernaut is a smart contract waiting to be hacked, and teaches you a vulnerability by having you exploit it - many of them based on real-life hacks! You can discuss your solutions or ask for tips in our forum.


The OpenZeppelin team is always hiring. If you have enjoyed using our tools or reading our audit reports, and want to be a part of it, check out our current job openings and join us!


Join the OpenZeppelin community in our forum to ask for help, as well as share your feedback or showcase what you have built with OpenZeppelin!

Share the Love!

If you are using OpenZeppelin contracts, tools, or libraries in your project, share the love with the rest of the community by adding a badge to your README! Let your audience know that your system is built with the most secure components available.

built-with openzeppelin
[![built-with openzeppelin](](