Self-hosted payment gateway for Ethereum and any ERC20 token, integrates with Raiden for almost-zero fees.


Keywords
hub20, ethereum, payment-gateway, payments
License
MIT
Install
pip install hub20==0.4.2

Documentation

Welcome to Hub20

Hub20 is an early stage open source, self-hosted online payment solution that can be considered as the Ethereum equivalent of BTCPayServer payment gateway, allowing users to collect payments in any Ethereum-compatible blockchain, using either the blockchain's native token or any ERC20-compatible token smart contract.

Integration with Layer-2 systems for fast and ultra-cheap transactions

The ability to interact with any blockchain that uses Ethereum's JSON RPC protocol means that it is possible to interact seamlessly with scaling projects such as roll-ups like Arbitrum or Optimism, and also sidechains like xDAI or Polygon.

Hub20 also integrates with Raiden Network, so that if you have a node running you should be able to accept and send payments of ERC20 tokens with near-zero fees. Integrating Raiden brings the possibility of nearly-free transfers, irreversibility of transactions and the usage of stablecoins such as DAI, which make it a very compelling offer for anyone that wants to receive payments online.

More than a payment gateway

Hub20 also allows users sending their tokens to either other users of the hub as well as to any external account (on the compatible blockchains), effectively turning any deployment of a hub20 server into an exclusive Paypal/Venmo/cryptobank for its users.

This works because hub20 offers the possibility of using custodial wallets for managing its funds. While this is not ideal for large deployments such as companies and crypto exchanges, for a self-hosted service this is more acceptable because the node operator is the one effectively controlling the wallets and therefore its keys.

This also opens the possibility for, e.g, enthusiasts to set up a hub20 node for their non-technical friends and family (i.e, people that are within their circle of trust) so that they can have an easy way to do transactions in cryptocurrency without ever having to deal with anything that hinders adoption: nothing to learn about wallets, no access to exchanges needed, no KYC, etc.

Extensible architecture

Hub20 is designed to work as a bridge between the "traditional" web and the growing-but-still-challenging web3 and decentralized apps based on the Ethereum blockchain. Hub Administrators can choose how much they want to pick from each "side" of the tech stack that is more suited to their needs. Want to create a hub that can authenticate with your company's LDAP or do you prefer to use ethereum account ownership for authentication? They are both just a configuration setting away.

More details:

Contributing

If you like to contribute, don't hesitate to get in touch. Any contribution is more than welcome. You don't need to be a developer to try the demo application, find bugs and make suggestions for improvements. We are using Taiga to track issues and to manage the work and milestones.

The official repository is at Gitlab, and we also keep a mirror at Github. Gitlab is preferred because it provides a free (as in libre) platform for our Continuous Integration system.

License

The project is made up of different components:

  • The backend code provides an API and does all the interfacing with the blockchain and the underlying Raiden node. This is available under the Affero GNU Public License v3
  • The web application that works as the frontend and the base javascript library are MIT-licensed

Supporters

Hub20 development started thanks to a grant awarded by the Raiden Trust. If you'd like to support the project, please visit our sponsors page