selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

xcash logo

Self-host xcash

v0.6.0

Open-source self-hosted crypto payment gateway

BetaOpen SourceMIT
Updated4 months ago
LanguagePython
Setup difficultyAdvanced
Stars
189
CPU
1 core (low) / 4 cores (medium) / 8 cores (high)
RAM
2 GB (low) / 8 GB (medium) / 16 GB (high)
Ports
6688 (HTTP (Caddy reverse proxy entry point)), 80 (HTTP (container internal, mapped to 6688 on host))
Requires
Caddy, EVM RPC provider (QuickNode/Alchemy/Infura), PostgreSQL, Redis
Docker
ghcr.io/xca-sh/xcash
Install with Docker Compose
Xcash admin dashboard showing invoice and deposit managementXcash invoice payment page with multi-chain and multi-currency selection

What is xcash?

Xcash is a non-custodial crypto payment gateway you host yourself. It accepts stablecoins like USDT and USDC on major EVM networks and Tron, sending funds directly to your wallet via smart contracts — no platform custody, no per-transaction fees, no KYC. Two modes: invoices for orders and subscriptions, plus dedicated deposit addresses for user balances. Includes a Django admin panel, HMAC-SHA256 REST API, webhooks with retry and idempotency, optional MistTrack AML scoring, EPay V1 compatibility for Xboard and V2board, and a WooCommerce plugin. Deployed via Docker Compose with PostgreSQL, Redis, and Caddy using an init script. Self-hosted is free; a managed cloud option also exists.

Should you self-host xcash?

xcash scores 46/100 on selfhost.directory (how scoring works) and ranks #29 of 42 in Cryptocurrency. It has 189 GitHub stars.

It shipped 2 stable releases in the past year. The latest, v0.6.0, came out on 30 July 2026. New versions land roughly every 3 weeks.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is payram-mcp (47/100, 158 stars). It scores higher overall, so compare the two before you pick. See xcash vs payram-mcp side by side.

Features

  • Admin Dashboard
  • AML risk scoring (MistTrack)Optional, requires QuickNode MistTrack add-on
  • Batch sweep to reduce gas
  • Deposit addresses
  • Docker Compose Deployment
  • EPay V1 protocol compatibility
  • HMAC-SHA256 API authentication
  • Invoice payments
  • Multi-chain support (EVM + Tron)
  • Multi-merchant multi-project isolation
  • Non-custodial payments
  • Smart contract & wallet collection modes
  • Webhook Notifications
  • WooCommerce plugin
  • Zero platform fees

xcash README

How to install xcash

Install xcash with Docker Compose

Linux server with Docker and Docker Compose; domain name; RPC endpoints for enabled chains (QuickNode/Alchemy/Infura for EVM, TronGrid for Tron)
Environment variables
SITE_DOMAIN, DJANGO_DEFAULT_SUPERUSER_PASSWORD, WALLET_MNEMONIC_ENCRYPTION_KEY, PERFORMANCE, GUNICORN_WORKERS, WORKER_CONCURRENCY, ADMIN_PATH, POSTGRES_PASSWORD, CADDY_TRUSTED_PROXIES, LISTEN_TO, ENV_FILE

git clone https://github.com/xca-sh/xcash.git cd xcash ./scripts/init_env.sh # 生成 .env 并自动填充随机密钥

编辑 .env,设置 SITE_DOMAIN=pay.example.com

docker compose up -d

Requires Linux server with Docker, a domain pointing to the server, and RPC endpoints for enabled chains

How to configure xcash

  • ADMIN_PATHCustom admin panel path (default: root path)

    Custom admin panel path (default: root path)

  • CADDY_TRUSTED_PROXIESprivate_rangesTrusted proxy ranges for Caddy (default: private_ranges)

    Trusted proxy ranges for Caddy (default: private_ranges)

  • DJANGO_DEFAULT_SUPERUSER_PASSWORDInitial admin password generated by init_env.sh

    Initial admin password generated by init_env.sh

  • ENV_FILE.envPath to environment file (default: .env)

    Path to environment file (default: .env)

  • GUNICORN_WORKERSOverride Django worker count set by PERFORMANCE

    Override Django worker count set by PERFORMANCE

  • LISTEN_TO127.0.0.1Host bind address for Caddy (default: 127.0.0.1)

    Host bind address for Caddy (default: 127.0.0.1)

  • PERFORMANCElowPerformance mode controlling Django worker count: low, medium, high

    Performance mode controlling Django worker count: low, medium, high

    values: low, medium, high

  • POSTGRES_PASSWORDPostgreSQL password

    PostgreSQL password

  • SITE_DOMAINDomain name for the self-hosted instance (e.g., pay.example.com)

    Domain name for the self-hosted instance (e.g., pay.example.com)

  • WALLET_MNEMONIC_ENCRYPTION_KEYEncryption key for wallet mnemonic, stored in .env not database

    Encryption key for wallet mnemonic, stored in .env not database

  • WORKER_CONCURRENCY16Business task concurrency (default 16)

    Business task concurrency (default 16)

xcash releases & version history

FAQ

Xcash 支持哪些加密货币?

All ERC-20 tokens on EVM-compatible chains (Ethereum, BNB Chain, Polygon, Arbitrum, Base, Optimism, etc.) such as USDT, USDC; on Tron: USDT and native TRX.

钱包直收和智能合约收款有什么区别?

Both are non-custodial. Smart contract mode assigns per-invoice contract addresses from a pool, buyers pay exact amounts, suited for high concurrency, with auto-sweep to collection address. Wallet direct collection sends payments to your configured wallet, no sweep gas, uses 0.01 amount suffixes to distinguish concurrent invoices. EVM wallet direct doesn't support native coins; deposits always use smart contracts.

Xcash 如何保证资金安全?

Smart contracts lock the fund flow to your collection address, which cannot be changed once written. Even if Xcash servers are compromised, funds remain safe because Xcash only handles invoice matching, status transitions, and notifications — never touching funds.

Xcash 和 BTCPay Server 有什么区别?

Xcash focuses on EVM chains and Tron with arbitrary ERC-20 token support and per-invoice smart contract addresses, while BTCPay Server primarily targets Bitcoin. Xcash also provides deposit addresses, multi-merchant isolation, and MistTrack AML scoring.

什么是 Xcash?

Xcash is a non-custodial cryptocurrency payment gateway offered as a managed cloud service or self-hosted. Payments via invoices and deposits go directly to your collection address via smart contracts; Xcash never holds funds. Supports major EVM chains and Tron.

More in Finance

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…