Need help with set-protocol-contracts?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

190 Stars 61 Forks Apache License 2.0 811 Commits 14 Opened issues


ğŸŽ› Set Protocol Smart Contracts

Services available


Need anything else?

Contributors list

Coverage Status License NPM

Set Protocol: A Specification for Token Abstraction


Set Protocol is a specification for abstraction of higher order tokens on the ethereum blockchain written in the Solidity programming language. We use Truffle as a development environment for compiling, testing, and deploying our contracts. See the whitepaper for more details about Set Protocol.

More details about our contract architecture and deployed contracts can also be found in our wiki.


We highly encourage participation from the community to help shape the development of Set. If you are interested in developing on top of Set Protocol or have any questions, please ping us on Discord.


For legacy users, our audited V1 contracts can be found here.


  1. Docker Set up

    Firstly, you need to install Docker. The easiest way is to follow the Instructions on

    You need to pull the docker image that you want to use by using the following command:

    docker pull ethereum/solc:0.5.7

    If you wish not to set up docker, you can turn off the

    docker: true
    flag in truffle.js
  2. Run yarn install

    yarn install
  3. Run an ethereum chain on a separate terminal window

    yarn chain
  4. Run unit tests

    yarn test

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.