DV.net Merchant Backend is a high-load, self-hosted payments platform for accepting, processing, and sending cryptocurrency. The stack is fully open source, runs on your own infrastructure, and keeps you in control of every transaction.
π Non-custodial β private keys always stay on your side
β‘ High-performance β Go 1.24, Fiber v3, PostgreSQL & Redis
π Wide coverage β multiple blockchains and centralized exchanges
π§± Modular β clean architecture with delivery β service β storage
π― Business capabilities
- β Accept and send crypto without mandatory KYC/KYB
- β Notifications, webhooks, and flexible event routing
- β Fee management plus TRON/EVM resource optimization
- β Integrations with major CEXs (Binance, OKX, HTX, KuCoin, Bybit, etc.)
π§ Technical features
- β Fiber v3 HTTP API with Casbin-based RBAC
- β
Async workers and schedulers in
internal/app - β
Service layer with DI and business logic (
internal/service) - β
PostgreSQL / Redis repositories (
internal/storage) - β
Automated SQL generation (
sqlc,pgxgen) - β
Rich helper packages in
pkg(clients, retry, OTP, AML)
cmd/ CLI entrypoints (server, migrations, utilities)
configs/ Config templates and Casbin policies
internal/app App bootstrap and background jobs
internal/delivery HTTP handlers, middleware, routing
internal/service Business logic, integrations, events
internal/storage PostgreSQL/Redis repositories
pkg/ External clients and shared libraries
sql/ SQL modules, migrations, code generation
Diagrams and Swagger specs live in docs/ (swagger.yaml, swagger.json).
Self-hosted install (one command)
sudo bash -c "$(curl -fsSL https://dv.net/install.sh)"Developer Docker bundle
git clone --recursive https://github.com/dv-net/dv-bundle.git
cd dv-bundle && cp .env.example .env
docker compose up -dManual backend build
git clone https://github.com/dv-net/dv-merchant.git
cd dv-merchant
make buildThe binary github.com/dv-net/dv-merchant will appear in .bin/ once the build finishes.
Pre-commit checklist
- Run linting and formatting to keep the codebase consistent.
- Execute unit tests and make sure critical flows are covered.
- Add or update tests when shipping new features or fixes.
# Static analysis & formatting
make lint
go fmt ./...
# Unit tests
make testβΉοΈ Extended workflows (
make run, Docker Compose, etc.) are documented in thedv-bundlerepo (README.md) and on https://docs.dv.net.
.bin/dv-merchant startβ run the HTTP API server..bin/dv-merchant migrate up|downβ apply or roll back DB migrations..bin/dv-merchant seed up|downβ load or drop seed data..bin/dv-merchant configβ validate config and generate env/flags..bin/dv-merchant permissionβ manage roles and Casbin policies..bin/dv-merchant transactionsβ tooling for transaction operations..bin/dv-merchant usersβ manage users from the console.
- π Full guide β installation, configuration, scenarios.
- π API reference β request/response schemas.
- π§Ύ Swagger spec β shipped with the repository.
- π Non-custodial design β you control keys and addresses.
- π§ Multisig support and TRON resource delegation.
- π‘οΈ Casbin RBAC with flexible
configs/rbac_*policies. - π Full audit trail: events, logging, Prometheus metrics.
# Before submitting a PR
make lint
go test ./...- β Star the repo if it helps your project.
- π Report bugs via Issues.
- π‘ Propose new features and use cases.
- π§ Pull Requests are welcome!
Telegram: @dv_net_support_bot β’ Telegram Chat: @dv_net_support_chat β’ Discord: discord.gg/Szy2XGsr
Email: support@dv.net β’ Website: dv.net β’ Documentation: docs.dv.net
Β© 2025 DV.net β’ DV Technologies Ltd.
Built with β€οΈ for the crypto community