Electrum Server
Rebar Data operates a full Electrum protocol server, giving lightweight wallets and applications efficient access to Bitcoin blockchain data without running a full node.
Capabilities
- Address history — Full transaction history for any address
- UTXO queries — Unspent outputs for balance computation
- Transaction broadcast — Submit signed transactions
- Block headers — Retrieve and verify headers for SPV validation
- Fee estimation — Current fee rate estimates
- Subscriptions — Real-time notifications when an address receives or spends funds
When to Use Electrum
| Use Case | Recommended Interface |
|---|---|
| Wallet backends | Electrum |
| Real-time balance monitoring | Electrum (subscriptions) |
| Payment processing | Electrum |
| SPV verification | Electrum |
| Metaprotocol queries | REST API |
| Analytics and batch queries | REST API or GraphQL |
Connection Details
| Host | ELECTRUM_HOST_PLACEHOLDER |
| Port | ELECTRUM_PORT_PLACEHOLDER |
| Protocol | SSL |
Connecting Your Wallet
Electrum Wallet
- Open Electrum and go to Tools > Network
- Uncheck Select server automatically
- Enter
ELECTRUM_HOST_PLACEHOLDERas the server andELECTRUM_PORT_PLACEHOLDERas the port - Click Close — the wallet will reconnect using Rebar's server
Sparrow Wallet
- Open Sparrow and go to File > Preferences > Server
- Select Private Electrum Server
- Enter
ELECTRUM_HOST_PLACEHOLDERfor the URL andELECTRUM_PORT_PLACEHOLDERfor the port - Ensure Use SSL is enabled
- Click Test Connection, then Close
BlueWallet
- Open BlueWallet and go to Settings > Network > Electrum Server
- Enter
ELECTRUM_HOST_PLACEHOLDER:ELECTRUM_PORT_PLACEHOLDER - Save and restart the app
BDK (Bitcoin Dev Kit)
Configure BDK's Electrum backend to point at Rebar's server:
use bdk_electrum::electrum_client::Client;
let client = Client::new("ssl://ELECTRUM_HOST_PLACEHOLDER:ELECTRUM_PORT_PLACEHOLDER")?;
JavaScript / TypeScript
Using the electrum-client-js library:
import { ElectrumClient } from "electrum-client-js";
const client = new ElectrumClient(
"ELECTRUM_HOST_PLACEHOLDER",
ELECTRUM_PORT_PLACEHOLDER,
"ssl"
);
await client.connect();