/CryptoPay

Easy to deploy crypto payment service

Primary LanguageJavaApache License 2.0Apache-2.0

CryptoPay(WIP)

Attention! This project is currently in development stage use of it is extremely insecure.

CryptoPay

Installation and setup

About

This project was started to provide payment service for cases when setup professional payment system require more effort then potential income it can bring.

Cryptopay supports main payment blockchains and payment stablecoins. It also allows to easily adding more tokens and chains.

Currently supported blockchains

  • Binance smart chain
  • Etherum
  • Tron
  • Solana

Currently supported tokens

  • USDT
  • USDC

TODO:

  • Code cleanup
  • Optimization
  • Testing
  • Private key encryption in the database
  • Integration samples
  • Admin panel
  • Example frontend
  • Documentation generation
  • Randomize payment id
  • Captcha support
  • Websocket support
  • Wallet creator ip tracking
  • (Optional) User service for reuse of wallets

Installation and setup

Setup

  1. This project working with using https://bscscan.com and https://etherscan.io each requires api key to serve requests. Sing up on them and set api keys in src/main/resources/application.yml
  2. To setup supported blockchains and tokens move in the end of databse/migrations/V1__.sql and edit insert statements or add new version
  3. This project uses Trident java for tron wallet generation. Project contains precompiled library ${project.basedir}/trident. You will probably need to compile the library yourself.

Installation

  1. Clone project
  2. cd ${project.basedir}/database
  3. docker compose up
  4. cd ${project.basedir}
  5. mvn clean install flyway:migrate spring-boot:run