Skip to content
This repository has been archived by the owner on Jan 24, 2022. It is now read-only.


Repository files navigation

OpenZeppelin SDK is not being actively developed. We recommend using Upgrades Plugins instead.

For more information, see Building for interoperability: why we’re focusing on Upgrades Plugins.

OpenZeppelin SDK

standard-readme compliant CircleCI lerna

Formerly known as ZeppelinOS

OpenZeppelin is a platform to develop, deploy and operate smart contract projects on Ethereum and every other EVM and eWASM-powered blockchain.

This repository includes the OpenZeppelin Command-Line Interface and Upgrades Library.


First, install Node.js and npm. Then, install the OpenZeppelin SDK running:

npm install --global @openzeppelin/cli

If you get an EACCESS permission denied error while installing, please refer to the npm documentation on global installs permission errors. Alternatively, you may run sudo npm install --unsafe-perm --global @openzeppelin/cli, but this is highly discouraged, and you should rather either use a node version manager or manually change npm's default directory.


We recommend to use the OpenZeppelin SDK through the openzeppelin sdk command-line interface.

To start, create a directory for the project and access it:

mkdir my-project
cd my-project

Use npm to create a package.json file:

npm init

And initialize the OpenZeppelin SDK project:

openzeppelin init my-project

Now it is possible to use openzeppelin deploy to create instances for these contracts that later can be upgraded, and many more things.

Run openzeppelin --help for more details about thes and all the other functions of the OpenZeppelin CLI.

The OpenZeppelin SDK documentation explains how to build a project using our platform, how to upgrade contracts, how to share packages for other projects to reuse, how to vouch for the quality of a package, how to use the JavaScript libraries to operate the project, and it explains details of the platform and some advanced topics.


If you find a security issue, please contact us at We give rewards for reported issues, according to impact and severity.



Join our Community Forum or community channel on Telegram, where you can talk to all the OpenZeppelin developers, contributors, partners, and users.

You can also follow the recent developments of the project in the OpenZeppelin blog and Twitter account.


To set up a local development environment for contributing, clone the repository and run yarn in the root of the project.

Please refer to the contributing guide for more details on how to contribute.


MIT © OpenZeppelin