Technical Overview

OpenQ is a decentralized bounty and promotion platform for open source projects, using the following technologies:

  • Smart Contract and Token

  • Chainlink Oracles (API3 coming soon)

  • The Graph

  • Uniswap

  • Gas Station Network

Main Use Cases

Bounty

Funds are deposited in the smart contract for an issue on GitHub. Once the issue is closed, the author/contributor can request a withdrawal on which the Chainlink oracles check if the required conditions are met.

Possible conditions:

  • A pull request got merged into the default branch, closing the issue automatically. (Default behavior if not specified otherwise by the maintainer of the issue's repository.)

  • A pull request, mentioning the issue (in its description or a commit message ) with a close command (e.g. closes #12), got merged into a branch specified by the maintainer and the issue is closed.

  • The maintainer comments on the issue in the form: @OpenQ release to @user. (Overrides previous conditions.)

OpenQ integrates Uniswap, to enable withdrawals in any currency, regardless of the deposits.

Tipping/Inviting

Any Ethereum account can send funds to any GitHub user. If the user is new to OpenQ, one of our oracles will send an email invitation or mention the user on GitHub (and Twitter, if available). The user creates a wallet and can withdraw the deposit via a gasless meta transaction, that is prepaid by the deposit and handled by our Gas Station Network relayer.

This process also works for issue bounties or repository funds. Those can also be accessed via gasless transactions for new users. Users that already registered their GitHub account on OpenQ, can receive funds directly in their Ethereum wallet.