mining.authorize message and substitute your btx1zβ¦ payout address with theirs β your hashrate would credit them. We're wiring TLS via Caddy's TCP-proxy module next; until then, only mine over networks you trust.Get a BTX receive address
You need a BTX address to receive payouts. The easiest options:
- If you already run
btxd:btx-cli getnewaddressreturns a transparentbtx1zβ¦address ready to use. - If you don't run a node yet: see the dexbtx GitHub org for a wallet quickstart, or ask in the BTX community channels for help bootstrapping.
Note: BTX mainnet uses p2mr (witness-v2) addresses prefixed with btx1zβ¦. They look longer than Bitcoin addresses β that's expected; the post-quantum signature scheme uses larger keys.
Install with one line
Linux + NVIDIA GPU (Pascal through Blackwell):
curl -fsSL https://minebtx.com/install.sh | bash -s -- --address 'btx1zβ¦YOUR_ADDRESS_HEREβ¦'
The script:
- Detects your GPU and writes a tuned
config.yamlautomatically (workers/threads/batch profile matched to your card β see the GPU profile table below) - Downloads + SHA256-verifies the patched
btx-gbt-solvesolver binary - Runs a hard GPU acceleration smoke test that fails loudly if CUDA isn't actually engaging (catches silent CPU-fallback that would otherwise mine at 1/1000 the speed)
- Installs the
dexbtx-minerPython orchestrator
Source is on GitHub at github.com/dexbtx/minebtx β Python wrapper + installer + tuning docs, with the solver binary published as a release asset (SHA256-pinned in pyproject.toml).
Run the miner
After install:
dexbtx-miner --config ~/.dexbtx-miner/config.yaml
Or as a long-running tmux session:
tmux new -d -s dexbtx 'dexbtx-miner --config ~/.dexbtx-miner/config.yaml 2>&1 | tee -a ~/.dexbtx-miner/miner.log' tmux attach -t dexbtx
The worker_name in your config lets you tell rigs apart on the dashboard. Defaults to your hostname; change to any short label.
Verify it's working
Within a minute or two, the miner log should show accepted shares (lines like share OK ... (a/r/b=1/0/0)). On the GPU side, nvidia-smi should show β₯95% utilization at near-TDP power draw. Then:
- Check the live dashboard β your worker should appear in the "Active workers (24h)" count.
- Watch the "Recent blocks" table for blocks the pool finds.
- Telegram:
/mybalance btx1zβ¦.worker_namevia @btxdexbot for accrued earnings. - For machine-readable status, hit
/stats.
The installer auto-picks these based on detected GPU. They're the result of sweeping workers/threads/batch on actual rentals. Worker count is the dominant lever β the matmul backend is CPU-input-prep bound on every modern card we've tested.
GPU workers threads batch measured util / power βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ GTX 1070 (Pascal sm_61) 16 8 128 83% / 113W (memory-bound) RTX 2080 Ti (Turing sm_75) 12 8 128 100% / 296W (boost) RTX 3060 Ti (Ampere sm_86) 12 8 128 100% / 190W RTX 4060 Ti (Lovelace sm_89) 12 8 128 100% / 164W RTX 5060 Ti (Blackwell sm_120) 16 8 128 99% / 150W RTX 5070 (Blackwell sm_120) 16 8 128 100% / 223W RTX 5070 Ti (Blackwell sm_120) 16 8 128 (avoid batch=256 on this card)
Universal default: workers=16 threads=8 batch=128 prefetch=8 is the canonical config across all NVIDIA generations from Pascal through Blackwell. The installer auto-picks this. Cards not in the table: same starting point. If GPU util sustains below 95% on a modern card (Turing+), bump solver_prepare_workers first (proven 70% β 100% jump on the RTX 5070 by going from workers=8 β workers=16). On Pascal the kernel is memory-bandwidth-bound so you'll cap around 80-85% util regardless β that's the card, not the config.
GPU util < 95% sustained
CPU-side input prep can't keep the matmul kernel fed. Bump solver_prepare_workers to 16 (and solver_threads to 8) in your config. Batch size, prefetch depth, and pipeline_async are NOT the dominant levers β workers and threads are.
"share OK" never appears in logs
If you're getting only "share REJECTED" with code 22 (duplicate) or code 21 (stale), it usually means your miner just reconnected after a pool restart and is replaying old work. Wait 1β2 minutes; new jobs arrive and accepted shares start flowing. If it persists, your solver binary may be mis-targeting the share difficulty β open an issue on GitHub.
0% GPU util but solver appears running
Silent CPU fallback. The solver binary doesn't have a CUDA kernel image compatible with your driver. The install.sh smoke test catches this β if you skipped it, run nvidia-smi --query-compute-apps=pid,process_name --format=csv while the miner is running. If btx-gbt-solve isn't listed, the binary needs rebuilding. Do not downgrade your driver β file an issue and we'll ship a build that supports your hardware.
Want to read every dependency + config in one place
The three-audience onboarding doc (fresh starters, solo-mining converters, self-hosters) plus every env-var + every pitfall is at docs/ONBOARDING.md, with the env-var reference + per-GPU sweep methodology in docs/TUNING.md.
How are payouts calculated?
PPLNS (Pay-Per-Last-N-Shares). Your share of each found block is proportional to your share count within the most recent N shares accepted before the block. PPLNS resists pool-hopping and rewards consistent miners.
When do I get paid?
Payouts are batched once per week. There is no minimum threshold β every active address with a non-zero balance gets a payout transaction. Batching keeps on-chain fee costs reasonable for small balances.
What does the β% fee fund?
100% of fees accrue to a transparent user treasury, not an operator pocket. The treasury address is published on the live dashboard β you can verify the balance on-chain at any time. Long-term, treasury funds will go to community-aligned initiatives.
Where does my coinbase go?
The pool collects coinbase rewards into pool-controlled outputs, then pays you (and other miners) at the weekly batch. This is standard pooled mining; you trade direct coinbase custody for variance reduction.
Can I solo-mine instead?
Absolutely β point dexbtx-miner at your local btxd instead of the pool. The miner has a solo mode. We recommend it once your sustained hashrate is meaningful relative to the network.
Is there a Telegram bot?
Yes β @btxdexbot on Telegram. Currently supports /stats, /mybalance, /blocks_today, /help.