Skip to content


Repository files navigation

Universal Basic Income.

UBI Coin

A standard for Universal Basic Income tokens.

Built in collaboration with Kleros and the Proof of Humanity project.

Build Status Coverage Status


  • ERC20 token that can mint new supply for verified humans over time at a given rate.
  • Tokens get streamed directly to a users wallet.
  • Interfaces with ProofOfHumanity to get curated list of verified humans.
  • ProofOfHumanity registry can be updated with governance mechanism.
  • Implements ERC20Upgradeable contracts with OpenZeppelin proxy libraries.

Built with Hardhat.

Latest release is version 0.2.0


  1. Clone Repository

    $ git clone
    $ cd ubi
  2. Install Dependencies

    $ npm install
  3. Run Tests

    $ npx hardhat test

    To compute their code coverage run npx hardhat coverage.


  1. On hardhat.config.js configure the following constants for the kovan testnet:

  2. Deploy on Ethereum kovan testnet:

    $ npx hardhat run scripts/deploy.js --network kovan
  3. Interact with the console:

    $ npx hardhat console --network kovan

    Initalize the token with:

     const UBI = await ethers.getContractFactory("UBI")
     const ubi = await UBI.attach('0x703960D03533B1D34fF4996DC6604f0Bc74ED198') // Replace with your token address


  1. Deploy new contract in a fresh address:

    $ npx hardhat run scripts/prepare.js --network kovan
  2. Upgrade the proxy contract with the freshly deployed address:

    $ npx hardhat run scripts/upgrade.js --network kovan


  1. On hardhat.config.js configure your Etherscan API key:

  2. Verify the contract by running:

    $ npx hardhat verify --network kovan <ADDRESS>


These contracts are free, open source and censorship resistant. Support us via Open Collective.


This software is under an MIT License. This is a free software built by Democracy Earth Foundation between 2020 and 2021. Democracy Earth Foundation is a 501 (c) 3 not for profit corporation from San Francisco, California with no political affiliations.