Grow Open Source
Switch branches/tags
Clone or download
Latest commit 8bbe12e Oct 14, 2018
Failed to load latest commit information.
.circleci Cache setting adjustments for redis Sep 5, 2018
.github templates Oct 9, 2018
app parrot fix? Oct 14, 2018
bin Adjust docker entry web worker vars to avoid collision Oct 11, 2018
charts Adjust docker entry handling for staging envs - load additional envvars Oct 11, 2018
docs Fixes: #2460 (#2461) Oct 14, 2018
js-sdk Up the js-sdk version to 1.0.6 Aug 23, 2018
ops Remove dead code from remove_ip Sep 13, 2018
requirements Migrate image converter to pyvips (#2346) Oct 4, 2018
scripts fixes up the quarterly stats emails so they can be send Oct 9, 2018
.dockerignore Draft create Oct 11, 2018
.editorconfig Initial commit for EthOS redemption May 4, 2018
.eslintignore fix for… Aug 10, 2018
.eslintrc Minor eslint/stickler changes to avoid unnecessary comments May 4, 2018
.gitignore Autogenerated documentation (#2183) Sep 10, 2018
.helmignore Draft create Oct 11, 2018
.pre-commit-config.yaml Update precommit yapf config Aug 2, 2018
.stickler.yml Update and include more apps to yapf Jul 9, 2018
.stylelintignore Enable stylelint on Travis Apr 4, 2018
.stylelintrc birth: landing page (#1377) Jun 7, 2018
.travis.yml Migrate image converter to pyvips (#2346) Oct 4, 2018 Update CHANGELOG Oct 12, 2018
Dockerfile Update charts Oct 11, 2018
Jenkinsfile Modify preview env match Oct 11, 2018
LICENSE Update docs Mar 27, 2018
Makefile Adjust makefile entry for collectstatic Sep 17, 2018
OWNERS Update charts Oct 11, 2018
OWNERS_ALIASES Update charts Oct 11, 2018
detect Update charts Oct 11, 2018
docker-compose.yml Add VSCode remote debugging handling and documentation Sep 21, 2018
package-lock.json npm update Oct 9, 2018
package.json npm update Oct 9, 2018
pydocmd.yml Add GH ratelimit healthcheck, job, cmd and additional Infura specific… Oct 1, 2018
setup.cfg Upgrade django to 2.1, modify field defaults, and address deprecations ( Aug 9, 2018
skaffold.yaml Update charts Oct 11, 2018
webpack.config.js Fix test_tool vote scoring and test_bounty since std bounty ID in url Apr 23, 2018
yarn.lock Remove lodash core Mar 20, 2018


Gitcoin Grows Open Source. Learn more at

web repo

Build Status codecov - Columns and their card count

This is the website that is live at


How to interact with this repo

Table of Contents

On Github

Star and watch this github repository to stay up to date, we're pushing new code several times per week!

Check out the CHANGELOG for details about recent changes to this repository.


On Gitcoin

Check out the available open issues on Gitcoin.


Functionally, the app has several key features:

  • Smart Contracts -- Where funded issues are stored and indexed.
  • Brochureware -- Describes the project.
  • Funded Issue Explorer -- A searchable index of all of the work available in the system.
  • Funded Issue Submission / Acceptance flow -- Interface between the application and web3.
  • API - the HTTPS API
  • Bot - the GitcoinBot

More about how/why to interact with web3 here.

Technically, the system is architected:

  • Web3 The main source of truth for the system is the Ethereum blockchain. Check out the smart contracts.
  • Web2 This part of the app is built with Python, Django, Postgres, and a handful of other tools that are common in the web2 ecosystem.
  • Web 3 Bridge This is the bridge between web3 and the rest of the application. Mostly built in javascript(web3js) and python(web3py).
  • Brochureware Just a nice little landing page telling folks what the Gitcoin project is.



For more information on the HTTPS API, please view the api README

Running locally

With Docker (Recommended)

For more information on running the app locally, please view the documentation for running gitcoinco/web with Docker

Without Docker

For more information on running the app locally, please view the documentation for running gitcoinco/web without Docker

Overriding Application Defaults

For more information on overriding the local dev environment configuration defaults, please view the environment variables documentation

Trying out Gitcoin

Posting your first issue

If you

  • have some work on your Github Issues board that you don't have time (or skills) to do.
  • are dependant upon an upstream repo for something, and you'd like to incentivize them to work onit.

try posting a funded issue at

Integrating Gitcoin




Testimonials & Case Studies

Integrating the 'available work widget' on your repo.

This widget will help you advertise that you support Gitcoin bounties, so that your community knows the best place to contribute.

Check out the widget documentation to learn how

Adding GitcoinBot to your repo

Gitcoinbot will allow you to add issues straight from github.

Check out the gitcoinbot readme to learn how

Adding your token to Gitcoin

Have an ERC20 compatible token that you'ud like to add support for? Great! Submit this form to submit it to the system

High Level flows

of a Bounty

This is the high level flow of a bounty on Gitcoin:

Chain of Custody

  1. Bounty Funder's Wallet
  2. StandardBounties Smart Contract deployed at 0x2af47a65da8cd66729b4209c22017d6a5c2d2400
  3. (Submission Made)
  4. (Submission Accepted)
  5. Recipient's Wallet

Anywhere between 2 and 4 above, Funder may withdraw their funds via 'Cancel Bounty' function for any reason.

We may introduce Arbitration via Delphi at some point in the future. Until then, we are lucky that Github users are very protective of their reputation, and therefore very kind to each other, and disputes have not generally arisen.

of a Tip

Note: Crowdfunded bounties + bulk payouts are secured by Tips (at least until Standard Bounties 2.0 is released).

This is the high level flow of a bounty on Gitcoin:


''' Copyright (C) 2018 Gitcoin Core

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <>.