Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
April 24, 2018 16:41
February 28, 2018 16:07
August 9, 2017 15:27
June 11, 2016 00:50
November 13, 2020 14:06
December 22, 2017 12:06
March 22, 2018 16:21


We recommend using the thoroughly vetted OpenZeppelin token implementations.


Codeship Status for ConsenSys/Tokens Coverage Status license David npm AirBNB GitHub issues

This repo contains Solidity smart contract code for simple, standards-compliant tokens on Ethereum. Adhering to standards allows other contract developers to easily incorporate your token into their applications.

The repo currently implements EIP20 tokens, and more may be added in the future.

Guiding Principles

While other projects provide custom and feature-complete token implementations, the contracts found in this repository attempt to suit a slightly different purpose: to serve as the baseline reference implementations of token standards and to capture their essence. We strive to eschew bells and whistles and instead provide minimalist implementations that maximize learning and provide sturdy foundations. Contracts shall be thoroughly documented, detailing the implementation's rationale and evolution as it has been used across production-grade projects.

Here are the guiding principles for this repository:

  1. Simplicity: Our contracts shall be simple, keeping functionality to a minimum of what is necessary to implement the token standard.
  2. Readability: Solutions that make sense to humans should be prioritized over those heavily optimized or complex.
  3. Secure: Modifications to the master branch will only be accepted after thorough review and scrutinization from the community, the project maintainers, and at least one professional vendor to ensure no security vulnerabilities are introduced.


The only environmental dependency you need is Node. Presently we can guarantee this all works with Node 8.

npm install
npm run compile


The repo has a comprehensive test suite. You can run it with npm run test.


The contracts in this repo are published under tokens on EPM. EPM is the recommended means of consuming token contracts in this repo. Copy-pasting code is highly discouraged.


Pull requests are welcome! Please keep standards discussions to the EIP repos.

When submitting a pull request, please do so to the staging branch. For a pull request to be accepted, they must pass the test suite. If a pull request adds features, it should add test coverage for those features.