Integrator APIs
Developer- and integrator-facing surfaces that go beyond Bitcoin Core's JSON-RPC contract. These are satd extensions; the Core-compatible RPC methods they build on remain governed by the stability policy.
The push-based streaming consumption API (gRPC / WebSocket / ZMQ, cursor-resumable watch subscriptions) is specified separately as a forward-looking protocol spec.
Authentication. JSON-RPC keeps Bitcoin Core's cookie /
rpcuser/rpcauthcredentials by default; capability-scoped bearer tokens (-rpcauthbearer,rpc:read/rpc:write) are an opt-in addition. See Authentication & Authorization.
Mempool-Based Fee Estimation
estimatesmartfeesupports an optionalmodeparam (historical,mempool,blend).satdnever hard-errors on fee estimation; it falls back to the min-relay floor withconfidence: lowrather than breaking downstream applications.
Mempool Subscription Stream
subscribemempoolJSON-RPC WS stream emitting structured events:enter,leave_confirmed,leave_evicted, andleave_replaced.- Includes explicit eviction reasons and RBF replacement linkage.
Satoshis-as-Integers
- To prevent IEEE 754 float precision errors, operators can pass
amounts=satsto any RPC request to receive exact integer satoshi values instead of BTC decimals.
Persistent Reorg Log & Webhook
- A persistent, append-only JSONL log at
$datadir/<network>/reorg.log(the network-specific datadir subdirectory; directly under$datadironly on mainnet) survives restarts. - Optional HTTP POST on reorgs via
--reorg-webhook=<url>.
Client-Side PSBT Signing
sat-cli signpsbtwithkeyis a client-side command that reads a WIF or xpriv from stdin and signs Taproot key-path, SegWit, or Legacy inputs locally. Because the private key is never passed over JSON-RPC, thesatddaemon stays strictly keyless while allowing operators to securely sign PSBTs via their CLI terminal.