Bitcoin • Litecoin • Dogecoin • Dash
This guide shows you how to integrate UTXO-based networks—Bitcoin (BTC), Litecoin (LTC), Dogecoin (DOGE), and Dash (DASH)—into your Bicrypto Ecosystem. You'll add UTXO credentials in .env, choose between multiple provider options (Mempool.space, BlockCypher, or self-hosted Bitcoin Node), and then configure master wallets and tokens in the admin panel. Unlike EVM-compatible chains, UTXO networks handle transactions differently (no "permit" tokens, different address management, etc.).
# ============================================
# UTXO Networks Configuration
# ============================================
# Network Selection (mainnet only)
BTC_NETWORK="mainnet"
LTC_NETWORK="mainnet"
DOGE_NETWORK="mainnet"
DASH_NETWORK="mainnet"
# ============================================
# Provider Selection
# ============================================
# Options: mempool, blockcypher, or node
#
# mempool: Free, unlimited (BTC, LTC)
# blockcypher: 200 req/hour free (BTC, LTC, DOGE, DASH)
# node: Self-hosted (BTC, LTC, DOGE, DASH)
# Bitcoin Provider
BTC_NODE="mempool"
# BTC_NODE="blockcypher"
# BTC_NODE="node"
# Litecoin Provider
LTC_NODE="mempool"
# LTC_NODE="blockcypher"
# LTC_NODE="node"
# Dogecoin Provider
DOGE_NODE="blockcypher"
# DOGE_NODE="node"
# Dash Provider
DASH_NODE="blockcypher"
# DASH_NODE="node"
# ============================================
# Fee Configuration
# ============================================
# BTC Fee Rate Priority (regular, priority)
# regular: Normal network fees (~10-30 min confirmation)
# priority: Higher fees for faster confirmation (~5-10 min)
BTC_FEE_RATE_PRIORITY="regular"
# ============================================
# BlockCypher API (if using blockcypher provider)
# ============================================
# Get your token at: https://www.blockcypher.com/
BLOCKCYPHER_TOKEN=""
# ============================================
# Bitcoin Core Node Settings (if BTC_NODE="node")
# ============================================
BTC_NODE_HOST="127.0.0.1"
BTC_NODE_PORT="8332"
BTC_NODE_USER=""
BTC_NODE_PASSWORD=""
# Bitcoin ZMQ Settings (real-time notifications)
BTC_ZMQ_RAWTX="tcp://127.0.0.1:28333"
BTC_ZMQ_RAWBLOCK="tcp://127.0.0.1:28332"
BTC_ZMQ_HASHTX="tcp://127.0.0.1:28334"
BTC_ZMQ_HASHBLOCK="tcp://127.0.0.1:28335"
# ============================================
# Litecoin Core Node Settings (if LTC_NODE="node")
# ============================================
LTC_NODE_HOST="127.0.0.1"
LTC_NODE_PORT="9332"
LTC_NODE_USER=""
LTC_NODE_PASSWORD=""
# Litecoin ZMQ Settings (real-time notifications)
LTC_ZMQ_RAWTX="tcp://127.0.0.1:29333"
LTC_ZMQ_RAWBLOCK="tcp://127.0.0.1:29332"
LTC_ZMQ_HASHTX="tcp://127.0.0.1:29334"
LTC_ZMQ_HASHBLOCK="tcp://127.0.0.1:29335"
# ============================================
# Dogecoin Core Node Settings (if DOGE_NODE="node")
# ============================================
DOGE_NODE_HOST="127.0.0.1"
DOGE_NODE_PORT="22555"
DOGE_NODE_USER=""
DOGE_NODE_PASSWORD=""
# Dogecoin ZMQ Settings (real-time notifications)
DOGE_ZMQ_RAWTX="tcp://127.0.0.1:30333"
DOGE_ZMQ_RAWBLOCK="tcp://127.0.0.1:30332"
DOGE_ZMQ_HASHTX="tcp://127.0.0.1:30334"
DOGE_ZMQ_HASHBLOCK="tcp://127.0.0.1:30335"
# ============================================
# Dash Core Node Settings (if DASH_NODE="node")
# ============================================
DASH_NODE_HOST="127.0.0.1"
DASH_NODE_PORT="9998"
DASH_NODE_USER=""
DASH_NODE_PASSWORD=""
# Dash ZMQ Settings (real-time notifications)
DASH_ZMQ_RAWTX="tcp://127.0.0.1:31333"
DASH_ZMQ_RAWBLOCK="tcp://127.0.0.1:31332"
DASH_ZMQ_HASHTX="tcp://127.0.0.1:31334"
DASH_ZMQ_HASHBLOCK="tcp://127.0.0.1:31335"
mainnet is supportedregular (10-30 min) or priority (5-10 min)blockcypher providernode provider for each coinBest for: Production use with unlimited free access
BTC_NODE="mempool" or LTC_NODE="mempool"Configuration: No additional setup required - works out of the box!
Best for: All UTXO coins (BTC, LTC, DOGE, DASH) with moderate usage
Setup Steps:
BLOCKCYPHER_TOKEN in your .env file
Best for: Maximum privacy, control, and advanced features
| Coin | Node Software | Full Size | Pruned Size | Sync Time | Default Port |
|---|---|---|---|---|---|
| Bitcoin | Bitcoin Core | ~600 GB | 2-10 GB | 3-7 days | 8332 |
| Litecoin | Litecoin Core | ~80 GB | 2-10 GB | 6-12 hours | 9332 |
| Dogecoin | Dogecoin Core | ~80 GB | 2-10 GB | 6-12 hours | 22555 |
| Dash | Dash Core | ~40 GB | 2-10 GB | 6-12 hours | 9998 |
# Bitcoin Core Configuration
# Pruned mode - keeps only last 10 GB of blocks (recommended)
prune=2000
# RPC Server Settings
server=1
rpcuser=your_username
rpcpassword=your_secure_password
rpcallowip=127.0.0.1
rpcport=8332
# ZMQ for real-time notifications (instant deposits)
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
zmqpubhashtx=tcp://127.0.0.1:28334
zmqpubhashblock=tcp://127.0.0.1:28335
# Performance
maxmempool=300
dbcache=450
# Logging
debug=rpc
debug=walletdb
# Litecoin Core Configuration
# Pruned mode - keeps only last 10 GB of blocks (recommended)
prune=2000
# RPC Server Settings
server=1
rpcuser=your_username
rpcpassword=your_secure_password
rpcallowip=127.0.0.1
rpcport=9332
# ZMQ for real-time notifications (instant deposits)
zmqpubrawblock=tcp://127.0.0.1:29332
zmqpubrawtx=tcp://127.0.0.1:29333
zmqpubhashtx=tcp://127.0.0.1:29334
zmqpubhashblock=tcp://127.0.0.1:29335
# Performance
maxmempool=300
dbcache=450
# Logging
debug=rpc
debug=walletdb
# Dogecoin Core Configuration
# Pruned mode - keeps only last 10 GB of blocks (recommended)
prune=2000
# RPC Server Settings
server=1
rpcuser=your_username
rpcpassword=your_secure_password
rpcallowip=127.0.0.1
rpcport=22555
# ZMQ for real-time notifications (instant deposits)
zmqpubrawblock=tcp://127.0.0.1:30332
zmqpubrawtx=tcp://127.0.0.1:30333
zmqpubhashtx=tcp://127.0.0.1:30334
zmqpubhashblock=tcp://127.0.0.1:30335
# Performance
maxmempool=300
dbcache=450
# Logging
debug=rpc
debug=walletdb
# Dash Core Configuration
# Pruned mode - keeps only last 10 GB of blocks (recommended)
prune=2000
# RPC Server Settings
server=1
rpcuser=your_username
rpcpassword=your_secure_password
rpcallowip=127.0.0.1
rpcport=9998
# ZMQ for real-time notifications (instant deposits)
zmqpubrawblock=tcp://127.0.0.1:31332
zmqpubrawtx=tcp://127.0.0.1:31333
zmqpubhashtx=tcp://127.0.0.1:31334
zmqpubhashblock=tcp://127.0.0.1:31335
# Performance
maxmempool=300
dbcache=450
# Logging
debug=rpc
debug=walletdb
📍 Note: Create the appropriate config file based on which node(s) you're setting up. Use the same username/password that you configured in your .env file (Step 1).
After creating the config file, start the node:
⏳ Sync Progress: You can monitor sync progress in the node's GUI or check via RPC. Once blocks equals headers, your node is fully synced and ready.
After your node is synced, update the provider in your .env (already configured in Step 1):
BTC_NODE="mempool" to BTC_NODE="node"LTC_NODE="mempool" to LTC_NODE="node"DOGE_NODE="blockcypher" to DOGE_NODE="node"DASH_NODE="blockcypher" to DASH_NODE="node"🔄 Then restart your backend to apply changes.
Instant push notifications when deposits arrive (0-5 seconds vs 30+ seconds polling). Automatic confirmation tracking with each new block.
Check 0-conf transaction status, detect low-fee transactions that may get stuck, estimate confirmation times based on current mempool.
Automatically unstuck failed withdrawals by increasing fees, abandon impossible transactions, speed up slow confirmations.
| Feature | Mempool | BlockCypher | Bitcoin Node |
|---|---|---|---|
| Chains | BTC, LTC | BTC, LTC, DOGE, DASH | BTC, LTC, DOGE, DASH |
| Rate Limits | ✅ None | ❌ 200/hour | ✅ None |
| Cost | ✅ Free forever | ⚠️ Free tier, paid plans | ⚠️ Infrastructure cost |
| Setup | ✅ No setup | ✅ API key only | ❌ Complex installation |
| Privacy | ⚠️ Third-party | ⚠️ Third-party | ✅ Full control |
mempool for BTC and LTC (free, unlimited), blockcypher for DOGE and DASH (only option), and node only if you need maximum privacy and control.
Unlike EVM chains, UTXO-based coins (BTC, LTC, DOGE, DASH) manage addresses differently. However, Bicrypto's Master Wallet concept still applies for deposit and withdrawal flows.
Go to Admin → Extensions → Ecosystem → Master Wallet
Generate a New Master Wallet for each UTXO coin you want to enable (BTC, LTC, DOGE, DASH). These wallets hold addresses and manage incoming/outgoing transactions for each coin.
Important: Each UTXO coin requires its own master wallet due to different address formats and transaction structures.
Go to Admin → Extensions → Ecosystem → Tokens and enable the UTXO coins (BTC, LTC, DOGE, DASH) you plan to support. They appear as "native" tokens since they're not ERC-20 or token contracts.
Click the 3 dots next to a coin and select Edit to configure:
Storing private keys for UTXO coins is a critical responsibility. Always secure your wallet seeds/keys in a safe environment with proper backup procedures.
BTC has a BTC_FEE_RATE_PRIORITY setting. If you notice slow confirmations, consider priority. For LTC, DOGE, and DASH, typical fees are lower.
Check your Master Wallet balances regularly to ensure you have enough coin for withdrawal fees (especially if BTC_FEE_RATE_PRIORITY is priority).
If high volume is expected, explore solutions like batching withdrawals or using a separate hot/cold wallet architecture for better security.
UTXO coins generate new addresses for each transaction, enhancing privacy but requiring different tracking mechanisms.
Transactions are built from unspent outputs (UTXOs) rather than account balances, requiring specialized handling logic.
These coins don't support complex smart contracts or permit-style transactions like EVM chains.