rustywallet-electrum
Electrum protocol client for Bitcoin balance checking and UTXO fetching.
Features
- Balance checking - Get confirmed and unconfirmed balance for any address
- Batch queries - Check multiple addresses efficiently in a single request
- UTXO listing - Get unspent outputs for transaction building
- Transaction operations - Get raw transactions and broadcast signed ones
- TLS support - Secure connections to Electrum servers
- No rate limits - Unlike public APIs, Electrum has no rate limiting
Quick Start
use ;
async
Address Support
All Bitcoin address types are supported:
- P2PKH (1...)
- P2SH (3...)
- P2WPKH (bc1q...)
- P2WSH (bc1q... longer)
- P2TR (bc1p...)
Custom Configuration
use ClientConfig;
use Duration;
let config = ssl
.with_port
.with_timeout
.with_retry;
let client = with_config.await?;
Public Servers
Built-in list of public Electrum servers:
electrum.blockstream.info:50002(SSL)electrum1.bluewallet.io:443(SSL)bitcoin.aranguren.org:50002(SSL)
API Reference
Balance Methods
get_balance(address)- Get balance for single addressget_balances(addresses)- Batch balance check
UTXO Methods
list_unspent(address)- List UTXOs for address
Transaction Methods
get_transaction(txid)- Get raw transactionbroadcast(raw_tx)- Broadcast signed transactionget_history(address)- Get transaction history
Server Methods
server_version()- Get server versionping()- Check connectionget_block_height()- Get current block heightestimate_fee(blocks)- Estimate fee rate
License
MIT