UTXO Networks Integration Guide

Bitcoin • Litecoin • Dogecoin • Dash

Bitcoin (BTC) Litecoin (LTC) Dogecoin (DOGE) Dash (DASH) Providers: Mempool • BlockCypher • Bitcoin Node

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.).

1

Configure Environment Variables

Add to .env file
# ============================================
# 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"

🔑 Provider Options

  • mempool: Free, unlimited API for BTC & LTC - No token required ✅
  • blockcypher: 200 requests/hour free tier for BTC, LTC, DOGE, DASH - Requires token
  • node: Self-hosted nodes for BTC, LTC, DOGE, DASH - Full control, requires setup

🔧 Configuration Details

  • Network Settings: Currently only mainnet is supported
  • BTC_FEE_RATE_PRIORITY: regular (10-30 min) or priority (5-10 min)
  • BLOCKCYPHER_TOKEN: Required only when using blockcypher provider
  • Node RPC & ZMQ: Required only when using node provider for each coin
2

Choose and Configure Provider

🌐 Option 1: Mempool.space (Recommended for BTC/LTC)

Best for: Production use with unlimited free access

  • Free & Unlimited: No rate limits, no API key required
  • Supported Coins: Bitcoin (BTC) and Litecoin (LTC)
  • Fast API: Direct UTXO endpoint support
  • Setup: Just set BTC_NODE="mempool" or LTC_NODE="mempool"

Configuration: No additional setup required - works out of the box!

🔗 Option 2: BlockCypher

Best for: All UTXO coins (BTC, LTC, DOGE, DASH) with moderate usage

  • ⚠️ Free Tier: 200 requests/hour (4,800/day)
  • Supported Coins: BTC, LTC, DOGE, DASH
  • ⚠️ Requires Token: API key needed

Setup Steps:

  1. Create an account at BlockCypher
  2. Navigate to your dashboard
  3. Generate an API token
  4. Insert it into BLOCKCYPHER_TOKEN in your .env file
BlockCypher dashboard showing how to create an API token

🏗️ Option 3: Self-Hosted UTXO Nodes

Best for: Maximum privacy, control, and advanced features

✅ Benefits
  • Full Privacy: No third-party sees your addresses
  • No Rate Limits: Unlimited local queries
  • Instant Deposits: ZMQ real-time notifications (0-5 seconds vs 30+ seconds)
  • Advanced Features: Mempool monitoring, RBF (Replace-By-Fee), 0-conf warnings
  • No Monthly Costs: $0 API fees (only electricity)
⚠️ Requirements
  • Initial Sync: BTC: 3-7 days, LTC/DOGE/DASH: 6-12 hours
  • Storage: 2-10 GB per coin (pruned mode) or 40-600 GB (full)
  • RAM: ~500 MB - 1 GB per node
  • Bandwidth: ~1-5 GB/month per coin after sync
📊 Supported Coins
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
⚙️ Setup Guide
1. Download Node Software
2a. Bitcoin Configuration (bitcoin.conf)
# 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
2b. Litecoin Configuration (litecoin.conf)
# 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
2c. Dogecoin Configuration (dogecoin.conf)
# 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
2d. Dash Configuration (dash.conf)
# 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).

3. Start Your Node(s)

After creating the config file, start the node:

  • Bitcoin: Launch Bitcoin Core and let it sync (3-7 days)
  • Litecoin: Launch Litecoin Core and let it sync (6-12 hours)
  • Dogecoin: Launch Dogecoin Core and let it sync (6-12 hours)
  • Dash: Launch Dash Core and let it sync (6-12 hours)

⏳ 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.

4. Update .env Provider Setting

After your node is synced, update the provider in your .env (already configured in Step 1):

  • Change BTC_NODE="mempool" to BTC_NODE="node"
  • Change LTC_NODE="mempool" to LTC_NODE="node"
  • Change DOGE_NODE="blockcypher" to DOGE_NODE="node"
  • Change DASH_NODE="blockcypher" to DASH_NODE="node"

🔄 Then restart your backend to apply changes.

🔒 Security Note: Never share your RPC credentials publicly. Use strong, unique passwords for each node. Store configuration files in secure locations with restricted access.
🚀 Advanced Features (Node Only)
⚡ ZMQ Real-Time Deposits

Instant push notifications when deposits arrive (0-5 seconds vs 30+ seconds polling). Automatic confirmation tracking with each new block.

📊 Mempool Monitoring

Check 0-conf transaction status, detect low-fee transactions that may get stuck, estimate confirmation times based on current mempool.

🔄 RBF (Replace-By-Fee)

Automatically unstuck failed withdrawals by increasing fees, abandon impossible transactions, speed up slow confirmations.

💡 Recommendation: Start with Bitcoin node (most critical), then add Litecoin if needed. Dogecoin and Dash can remain on APIs unless you require maximum privacy or have high volume.

📊 Provider Comparison

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
💡 Recommendation: Use mempool for BTC and LTC (free, unlimited), blockcypher for DOGE and DASH (only option), and node only if you need maximum privacy and control.
3

Apply Environment Updates

4

Configure Master Wallet

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.

1

Navigate to Master Wallet

Go to Admin → Extensions → Ecosystem → Master Wallet

Navigating to Ecosystem Master Wallet in Bicrypto
2

Generate Master Wallets

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.

Generate Master Wallet button Master Wallet creation process

Important: Each UTXO coin requires its own master wallet due to different address formats and transaction structures.

5

Enable UTXO Coins and Configure Fees

1

Enable UTXO Coins

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.

List of tokens in Bicrypto Ecosystem
2

Configure Fees and Limits

Click the 3 dots next to a coin and select Edit to configure:

💰 Fee Configuration
  • Minimum Fee: If your percentage fee (e.g., 1%) results in a very low fee (like $1 on $100 withdrawal), set a minimum fee (e.g., $5) to ensure you cover network transaction fees or operational overhead.
  • Percentage Fee: The standard withdrawal fee based on a percentage of the withdrawn amount.
📊 Limits
  • Deposit Limits: The minimum/maximum amount a user can deposit for that coin.
  • Withdraw Limits: The minimum/maximum amount a user can withdraw for that coin.
Coin edit form showing fee and limit configuration

Final Notes & Best Practices

🔐 Security

Storing private keys for UTXO coins is a critical responsibility. Always secure your wallet seeds/keys in a safe environment with proper backup procedures.

⛽ Fee Rate Priority

BTC has a BTC_FEE_RATE_PRIORITY setting. If you notice slow confirmations, consider priority. For LTC, DOGE, and DASH, typical fees are lower.

💰 Monitoring Balances

Check your Master Wallet balances regularly to ensure you have enough coin for withdrawal fees (especially if BTC_FEE_RATE_PRIORITY is priority).

📈 Scaling

If high volume is expected, explore solutions like batching withdrawals or using a separate hot/cold wallet architecture for better security.

🔄 UTXO vs EVM Differences

Address Management

UTXO coins generate new addresses for each transaction, enhancing privacy but requiring different tracking mechanisms.

Transaction Structure

Transactions are built from unspent outputs (UTXOs) rather than account balances, requiring specialized handling logic.

No Smart Contracts

These coins don't support complex smart contracts or permit-style transactions like EVM chains.

By configuring these UTXO environment variables, generating Master Wallets for BTC, LTC, DOGE, or DASH, and adjusting deposit/withdrawal fees and limits, you can effectively manage UTXO-based coins within your Bicrypto Ecosystem.