03 / Wallet backends
The node that validates can serve your wallets.
Electrum and Esplora run inside rbitcoin, using the same archive as the node. A subset of Bitcoin Core JSON-RPC is also available. Choose the interface your wallet needs; no separate indexer is required.
Choose the interface your client needs
- Electrum
- Confirmed and unconfirmed history, transaction broadcast, fee information, silent payment tweaks, and Electrum 1.6 package broadcast.
- Esplora
- A REST interface for wallet clients. It is an API, not a bundled graphical block explorer.
- JSON-RPC
- Chain, mempool, raw-transaction and decode methods, fee estimates, and a block-template selector. A subset, not the complete Bitcoin Core interface.
Your wallet keeps your keys and signs transactions. rbitcoin supplies chain data and broadcasts transactions. Check the compatibility contract before pointing an existing integration at it.
Connect a wallet
Electrum and Esplora need --sh-index, the optional index for wallet
history. It is off by default.
Continue from the Linux signet setup. Stop the node with Ctrl-C, then restart it with the same data directory:
./rbitcoin-node --datadir ./datadir-signet \
--network signet --listen 127.0.0.1:38333 \
--milestone 0 --sh-index \
--electrum-listen 127.0.0.1:50001
Leave the node running while it syncs and builds the wallet index. Electrum waits until that index is ready; reaching the chain tip alone is not enough. Enabling the index after a mainnet sync can take hours and needs extra temporary disk space.
In a signet-capable wallet on the same machine, select signet and set its Electrum
server to 127.0.0.1, port 50001, using plain TCP (SSL/TLS
off). These settings are for a local connection. A wallet on another device needs the
remote-access setup.
Silent payments
rbitcoin serves silent payment tweaks over Electrum and supports Frigate scan-key subscriptions. Your wallet must support the matching protocol; ordinary Electrum support is not enough. See the client compatibility notes.
Using JSON-RPC
TCP JSON-RPC authenticates with a Bearer token from {datadir}/rpc.token. A
Unix socket uses filesystem access control. Do not assume Bitcoin Core’s cookie or
--rpcuser authentication works here.
There is no wallet RPC surface or coins-database UTXO scan. A matching method name is not a guarantee that every existing Core integration will work unchanged. Read the method and authentication reference.
Remote access
Keep application listeners on loopback for local use. For a wallet on another device, use a secure tunnel or configure a TLS proxy and access controls. The node itself serves plain TCP or HTTP.
See the operator guide for deployment examples. Keep RPC tokens private and restrict who can reach your services.