Skip to main content

Bitcoin Components

White Rabbit ships 7 Bitcoin components covering the full lifecycle of Bitcoin transactions: address derivation → UTXO selection → fee estimation → signing → broadcasting.

All network I/O (UTXO fetching, fee estimation, broadcast) is handled server-side via the configured Bitcoin RPC or Electrum endpoint.


Categories

GroupComponentsPage
TransactionsBUILD, SIGN, BROADCAST, COMPUTE_SIGNATURE_HASHTransactions →
Wallets & AddressesCOMPUTE_ADDRESS, GET_BALANCE, GET_DERIVATION_PATHWallets & Addresses →

Typical Bitcoin workflow

GET_BITCOIN_DERIVATION_PATH


COMPUTE_PUBLIC_KEY ──▶ COMPUTE_BITCOIN_ADDRESS


GET_BITCOIN_ACCOUNT_BALANCE (guard check)


BUILD_BITCOIN_TRANSACTION
│ messageHashes[] │ unsignedTransaction
▼ │
SIGN_WITH_KEY_SHARE (×N) │
│ signatures[] │
└──────────┬───────────┘

SIGN_BITCOIN_TRANSACTION
│ signedTransaction

BROADCAST_BITCOIN_TRANSACTION
│ txid

[Confirmed]

Connecting to Bitcoin

Bitcoin components that require network access accept a jsonRpcUrl pointing to a Bitcoin JSON-RPC node, an Electrum server, or a block explorer API (e.g. Blockstream Esplora).

STRING_CONSTANT ("https://blockstream.info/api")

▼ jsonRpcUrl
BUILD_BITCOIN_TRANSACTION
Avoid public RPC endpoints

White Rabbit components run on shared infrastructure — all workspaces share the same outbound IP pool. Public endpoints such as https://blockstream.info/api enforce rate limits per IP address. Under concurrent load, shared-IP traffic can exceed these limits and cause intermittent errors, even with our load balancer in place.

Always use a private or self-hosted Bitcoin node (Bitcoin Core RPC or a dedicated Esplora instance) for production workflows.

NetworkExample endpoint
Mainnet (Blockstream)https://blockstream.info/api
Testnet (Blockstream)https://blockstream.info/testnet/api
Self-hosted Esplorahttps://your-esplora.example.com
Bitcoin Core RPChttp://user:pass@127.0.0.1:8332