GhostPay gives every order its own BTC/LTC address straight from your own wallet, watches the chain through Tor, and calls your shop with a signed webhook when the money confirms. No accounts, no processor, no fees, nobody in the middle.
Addresses are derived from an
xpub/zpub — the server never holds a private key. Funds land in
your wallet, not in someone's clearing account.
Built-in SOCKS5h client (no DNS leak),
ships with .onion blockchain explorers, GHOSTPAY_TOR=1 and
it's done. Checkout page loads with zero external assets.
Per-invoice addresses, expiry, underpayment detection with top-ups, overpay safety, confirmation thresholds, cancel, SQLite ledger, and redeem-code vouchers for digital delivery.
HMAC-SHA256 over the exact body,
X-GhostPay-Signature, 6 retries with backoff and a delivery log. Your shop
trusts data, not vibes.
Own pure-python QR encoder emitted as SVG — no CDN, no JS library, no third-party request from your customer's Tor Browser.
doctor checks config, crypto,
explorers and Tor in one go. selftest verifies the protocol vectors.
systemd unit, Dockerfile and installer shipped.
| Tier | Price | Includes |
|---|---|---|
| Single Shop | $79 | 1 shop, BTC or LTC, source, 12 months of updates |
| Unlimited ⭐ | $149 | Unlimited shops, BTC + LTC, Tor-first profile, priority support |
| Reseller | $299 | Rebrand and resell it as your own, lifetime updates |
A hosted no-KYC processor takes ~1% forever. On $30k/month that's $300 every month — Unlimited is $149 once. Add-ons: +$19 done-for-you VPS setup, $15/mo hosted instance.
# 5 seconds, no coins, no network: python3 ghostpay.py selftest # 68 protocol vectors (BIP32/39/44/84/86, bech32m, taproot, QR) sh tests/run_all.sh # 119 checks: crypto, QR audit vs an independent lib, e2e, live mainnet+Tor python3 ghostpay.py doctor # config + explorer + Tor connectivity report python3 ghostpay.py serve --demo # whole shop offline against a fake chain
The addresses the tests assert are the same addresses the
live tests fetch back off mainnet. The QR encoder is compared cell-for-cell against the
battle-tested qrcode library across every version, ECC level and mask.
export GHOSTPAY_BTC_XPUB=zpub6rFR7y4Q2Aij… export GHOSTPAY_API_KEY=$(python3 -c 'import secrets;print("gp_"+secrets.token_hex(16))') export GHOSTPAY_BRAND=YourShop GHOSTPAY_TOR=1 python3 ghostpay.py doctor # all green? python3 ghostpay.py serve --port 8899 # your shop now creates invoices with one call: curl -X POST localhost:8899/api/v1/invoices -H "X-API-Key: $GHOSTPAY_API_KEY" \ -d '{"amount_fiat":25,"memo":"Seed box","webhook_url":"http://127.0.0.1:9000/hook"}'