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?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Group Income (Simple Edition)


Group Income is voluntary, decentralized, end-to-end encrypted basic income for you and your friends.

Getting Started

  1. Install Node.js
  2. Install Grunt: npm install -g grunt-cli
  3. Clone this repo (or a fork of it if you plan on contributing) and cd into it.
  4. Install dependencies: npm install
  5. Now try out the dev workflow.
  • πŸ‘©β€πŸŽ¨ Check out how Group Income will feel like by taking a look at the design files on Figma


We use standard for the code style and Github project boards for efficient project management.


We are continually improving the user experience for everyone, and applying the relevant accessibility standards. We will be conformant with WCAG 2.0 Level AA and trying our best to reach Level AAA in some areas of the application.

Level Double-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0

Read first


Some issues have bounties assigned to them.

  • Anyone can post a bounty by donating to this project and letting us know which issue you'd like the bounty to be applied to.
  • Non-contractors can receive bounties by submitting PRs for them. If we approve and merge the PR, you get the bounty!
  • If there's an issue you'd like okTurtles to prioritize by posting a bounty to it, feel free to let us know via Slack!

Any open contractor positions are posted to: Open Positions

Basic workflow

To get started with development, follow the steps in Getting Started first.

Run all servers + watch files for changes

grunt dev

Create a tunnel to share access over the Internet:

grunt dev --tunnel

Build the app for distribution

grunt dist

Clean up files in dist/

grunt clean

Run tests.

NOTE: You may need to first install Cypress using ./node_modules/.bin/cypress install

# all tests
grunt test

# all tests while skipping build step
grunt test --skipbuild

# unit tests only (always skips build)
grunt test:unit

# show e2e tests (Cypress) live in a browser
grunt test --browser

# run e2e tests (Cypress) in "open" mode
grunt test --browser=debug

# Developing at the same time as writing E2E tests
grunt dev
# and in another terminal run Cypress in "open" mode
npm run cy:open

Using Docker for extra security

You can run commands in a Docker container by using npm run docker -- <cmd> instead.

For example:

npm run docker -- npm install
npm run docker -- grunt dev
npm run docker -- grunt test --skipbuild

For details, see:


If you run into any errors during the setup, try the suggestions in


Donations to the okTurtles Foundation support the development of Group Income and related projects.


AGPL-3.0. See LICENSE for license details and for the contribution policy.


Voluntary Basic Income system that's decentralized and end-to-end encrypted.








No releases published


No packages published