OpenCEX is a free and open source cryptocurrency exchange platform.
Developed by Polygant.
Live demo | OpenCEX documentation | Telegram chat
- Custodial wallet supporting BTC, ETH, BNB, TRX, USDT (ERC-20, BEP-20, TRC-20). Deposit and withdrawal.
- Order matching engine. Trading pairs BTC-USDT, ETH-USDT, BNB-USDT, TRX-USDT.
- Professional exchange interface for placing orders.
- Simplified interface for quick swap.
- KYT transaction verification (requires Scorechain keys).
- KYC verification of users (requires Sumsub keys).
- SMS 2fa for users (requires Twilio keys).
Minimum | Recommended |
CPU: 4 cores RAM: 16 GB Disks: 40 GB OS: Ubuntu 22.04 https://www.hetzner.com/cloud |
CPU: 8 cores RAM: 64 Gb Disks: 2x1Tb NVMe SSD OS: Ubuntu 22.04 https://www.hetzner.com/dedicated-rootserver/ax51-nvme |
Docker | latest | OS-level virtualization |
NGINX | 1.22.0 | Web server |
Caddy | 2.6.2 | Router |
Postgres | 14.5 | RDBMS |
Redis server | 7.0.4 | RDBMS |
RabbitMQ | 3.10.7 | Message-broker software |
Python | 3.8 | Programming language |
Django | 3.2.7 | Python framework |
VUE.JS | 3.2.25 | JS framework |
NUXT.JS | 2.15.7 | JS framework |
Bitcoin Core | latest | Bitcoin node |
- Watch the installation video https://youtu.be/c-WnQkvBwf0
- Order a virtual or physical server, not below the minimum requirements. You will need full access to this server (root). Shared hosting will not work.
- Bind the IPv4 address you received when purchasing the server to your domain. If you don't have a domain yet, you can use https://nip.io/ or https://sslip.io/.
- Sign up for a Google account and get reCAPTCHA V2 keys (invisible). https://www.google.com/recaptcha/
- Get the SMTP server credentials for sending emails (any will do, i.e. https://www.mailgun.com/).
- Register an Infura account (https://infura.io/) and create an API key + secret.
- Register an Etherscan account (https://etherscan.io/) and create an API key.
- You will need BTC, ETH addresses and BNB, TRX addresses(optional) to collect cryptocurrency deposits (cold addresses). If you don't have it yet, you can use any multi-currency wallet like Trust Wallet and generate BTC, ETH, BNB, TRX addresses.
- OPTIONAL. For BNB и BEP-20 support you will need Bscscan credentials (https://bscscan.com/)
- OPTIONAL. For TRX and TRC-20 support you will need Trondrid credentials (https://www.trongrid.io/)
- OPTIONAL. For SMS verification you will need Twilio credentials (https://twilio.com)
- OPTIONAL. For KYT you need Scorechain credentials (https://www.scorechain.com/)
- OPTIONAL. For KYC you will need Sumsub credentials (https://sumsub.com/)
You need to SSH into your server as root and run the following command:
mkdir /app ;
cd /app/ || exit ;
git clone https://github.com/Polygant/OpenCEX.git ./deploy ;
cd deploy ;
chmod +x opencex.sh ;
./opencex.sh 2>&1 | tee /tmp/install.txt
Installation time ~ 5 minutes.
If something goes wrong you can clean the installation and try again
cd /app/opencex && docker compose down ;
rm -rf /app ;
docker system prune -a
🥳 Congratulations, the exchange has been successfully installed!
You can open it by your domain name.
After installation, you need to download the file /app/openex/backend/save_to_self_and_delete.txt and delete it from the server.
Mind that BTC node will take up to 30 hours to fully sync. BTC transactions sent to user addresses in this period will be collected and credited only after a full sync.
Become a partner: hello@polygant.net
Ask questions at the official community Telegram chat.
Thanks for all your wonderful PRs, issues and ideas. You’re always welcome to join: check out our contribution guides, open issues and the Telegram chat.
OpenCEX was created and backed by Polygant, and is supported through all the years. You can request a consultation or order web and mobile development services by Polygant, just visit our site. 😎
Say hi: hello@polygant.net . We will be happy to work with you!
Apache License, Version 2.0