Frequently Asked Questions (FAQ)

When will the next version of OpenZeppelin be released?

See Release Cycle to learn more about how OpenZeppelin’s releases are scheduled and coordinated, and look at the upcoming milestones for detailed information regarding dates and contents of new releases.

Where can I find documentation on OpenZeppelin’s contracts?

All contracts and their functions are documented in our API Reference, and you can also read our guides to learn about general OpenZeppelin usage and design patterns.

What does it mean for OpenZeppelin to have a stable API?

See API Stability for an in-depth discussion of this topic.

What is the difference between openzeppelin-solidity and openzeppelin-eth?

openzeppelin-solidity is a smart contracts library developed in the Solidity laguage, which provides both contracts that can be deployed as-is (e.g. PaymentSplitter), utilities that contracts use via inheritance (e.g. Pausable), and libraries (e.g. SafeMath).

openzeppelin-eth is a ZeppelinOS EVM package. Its contracts have been slightly modified from the base openzeppelin-solidity to support the upgradeability mechanisms provided by ZeppelinOS, and some of them have been pre-deployed to the Ethereum mainnet and the test networks, enabling reusability by linking them.

Both projects fall under the OpenZeppelin umbrella, so feel free to ask questions and discuss new features for either!

Can my project/EIP be added to OpenZeppelin?

We’re always open to including new features in the library! Start a new topic under the OpenZeppelin category describing your feature and why it’s a good idea, along with some general use cases and requirements for it.

Accepted features typically go through a short design phase until an API is settled on, at which point we’re ready to start taking in Pull Requests. Opening a PR before said design is final is discouraged, since usually some discussion is required before a merge, which often means refactoring the proposed code.