Errors

All public exceptions inherit from a base class for their domain. Catching the base class handles all errors within that domain.

Core Wallet

ExceptionRaised When
WalletErrorBase class for wallet operations
WalletSyncErrorwallet.sync() cannot reach the network backend
InsufficientConfirmedFundsErrorConfirmed UTXOs cannot cover amount + fees during approval
ProposalNotFoundErrorapprove_proposal or reject_proposal called with invalid ID

Transactions

ExceptionRaised When
TransactionErrorBase class for transaction construction/broadcast
PSBTErrorPSBT data is malformed or does not conform to BIP-174
BroadcastErrorTransaction broadcast fails (network error)
BroadcastRejectedErrorBackend explicitly rejects the transaction (invalid, double-spend)

UTXO Selection

ExceptionRaised When
UTXOErrorBase class for coin selection errors
InsufficientFundsErrorAvailable UTXOs cannot cover the requested amount + fees

Policy

ExceptionRaised When
PolicyErrorPolicy engine configuration error

Fees / Watcher

ExceptionRaised When
WatcherErrorWatcher cannot complete a mempool query

Note: FeeEstimator raises httpx.HTTPStatusError or httpx.TimeoutException directly (from the httpx library).

Lightning

ExceptionRaised When
LightningErrorBase class for all Lightning errors
LightningConfigErrorInvalid LND/CLN configuration (bad paths, missing files)
LightningAuthErrorAuthentication or connectivity failure at init

L402

ExceptionRaised When
L402ErrorBase class for L402 client errors
L402ProtocolErrorHTTP 402 response missing a valid challenge header/body
L402PaymentErrorInvoice payment or preimage extraction failed

Audit

ExceptionRaised When
(none)AuditLedger methods do not raise custom exceptions; I/O errors propagate as OSError