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
| Group | Components | Page |
|---|---|---|
| Transactions | BUILD, SIGN, BROADCAST, COMPUTE_SIGNATURE_HASH | Transactions → |
| Wallets & Addresses | COMPUTE_ADDRESS, GET_BALANCE, GET_DERIVATION_PATH | Wallets & 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
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.
| Network | Example endpoint |
|---|---|
| Mainnet (Blockstream) | https://blockstream.info/api |
| Testnet (Blockstream) | https://blockstream.info/testnet/api |
| Self-hosted Esplora | https://your-esplora.example.com |
| Bitcoin Core RPC | http://user:pass@127.0.0.1:8332 |