Get desktop application:
View/edit binary Protocol Buffers messages
Bakes a new macaroon with the specified permissions. The macaroon can also be restricted to a specific tenant. In this case, - any swap or wallet created with the returned macaroon will belong to this tenant and can not be accessed by other tenants. - the lightning node connected to the daemon can not be used to pay or create invoices for swaps.
Increase the fee of a transaction using RBF. The transaction has to belong to one of the clients wallets.
Id of the transaction to bump. The transaction has to belong to one of the clients wallets
Depending on the state of the swap, the lockup, refund or claim transaction will be bumped
Fee rate for the new transaction. if not specified, the daemon will query the fee rate from the configured provider and bump the fee by at least 1 sat/vbyte.
Changes the password for wallet encryption.
Claim swaps manually. This is only required when no claim address has been set and the swap does not have an associated wallet.
Creates a new chain swap from one chain to another. If `accept_zero_conf` is set to true in the request, the daemon will not wait until the lockup transaction from Boltz is confirmed in a block, but will claim it instantly.
Amount of satoshis to swap. It is the amount expected to be sent to the lockup address. If left empty, any amount within the limits will be accepted.
Address where funds will be swept to if the swap succeeds
Address where the coins should be refunded to if the swap fails.
Wallet from which the swap should be paid from. Ignored if `external_pay` is set to true. If the swap fails, funds will be refunded to this wallet as well.
Wallet where the the funds will go if the swap succeeds.
Whether the daemon should broadcast the claim transaction immediately after the lockup transaction is in the mempool. Should only be used for smaller amounts as it involves trust in Boltz.
If set, the daemon will not pay the swap from an internal wallet.
Fee rate to use when sending from internal wallet
Rates to accept for the swap. Queries latest from boltz otherwise The recommended way to use this is to pass a user approved value from a previous `GetPairInfo` call
Create a new swap from onchain to a new lightning channel. The daemon will only accept the invoice payment if the HTLC is coming through a new channel opened by Boltz.
Percentage of inbound liquidity the channel that is opened should have. 25 by default.
Creates a new reverse swap from lightning to onchain. If `accept_zero_conf` is set to true in the request, the daemon will not wait until the lockup transaction from Boltz is confirmed in a block, but will claim it instantly.
amount of satoshis to swap
If no value is set, the daemon will query a new address from the lightning node
Whether the daemon should broadcast the claim transaction immediately after the lockup transaction is in the mempool. Should only be used for smaller amounts as it involves trust in boltz.
a list of channel ids which are allowed for paying the invoice. can be in either cln or lnd style.
wallet from which the onchain address should be generated - only considered if `address` is not set
Whether the daemon should return immediately after creating the swap or wait until the swap is successful or failed. It will always return immediately if `accept_zero_conf` is not set.
If set, the daemon will not pay the invoice of the swap and return the invoice to be paid. This implicitly sets `return_immediately` to true.
Description of the invoice which will be created for the swap
Description hash of the invoice which will be created for the swap. Takes precedence over `description`
Expiry of the reverse swap invoice in seconds
Rates to accept for the swap. Queries latest from boltz otherwise The recommended way to use this is to pass a user approved value from a previous `GetPairInfo` call
The routing fee limit for paying the lightning invoice in ppm (parts per million)
add a magic routing hint to the lightning invoice if `external_pay` is true and an internal `wallet` is used.
Only populated when zero-conf is accepted and return_immediately is set to false
Only populated when zero-conf is accepted and return_immediately is set to false
Invoice to be paid. Only populated when `external_pay` is set to true
Creates a new swap from onchain to lightning.
amount of sats to be received on lightning. related: `invoice` field
the daemon will pay the swap using the onchain wallet specified in the `wallet` field or the first internal wallet with the correct currency otherwise.
address where the coins should go if the swap fails. Refunds will go to any of the daemons wallets otherwise.
wallet to pay swap from. only used if `send_from_internal` is set to true
bolt11 invoice, lnurl, or lnaddress to use for the swap. required in standalone mode. when connected to a lightning node, a new invoice for `amount` sats will be fetched the `amount` field has to be populated in case of a lnurl and lnaddress
Fee rate to use when sending from internal wallet
Rates to accept for the swap. Queries latest from boltz otherwise The recommended way to use this is to pass a user approved value from a previous `GetPairInfo` call
Ignore any magic routing hints found in the specified `invoice`.
Creates a new tenant which can be used to bake restricted macaroons.
Creates a new liquid wallet and returns the mnemonic.
This is a wrapper for channel creation swaps. The daemon only returns the ID, timeout block height and lockup address. The Boltz backend takes care of the rest. When an amount of onchain coins that is in the limits is sent to the address before the timeout block height, the daemon creates a new lightning invoice, sends it to the Boltz backend which will try to pay it and if that is not possible, create a new channel to make the swap succeed.
Percentage of inbound liquidity the channel that is opened in case the invoice cannot be paid should have. 25 by default.
Gets general information about the daemon like the chain of the lightning node it is connected to and the IDs of pending swaps.
(message has no fields)
one of: running, disabled, error
mapping of the currency to the latest block height.
swaps that need a manual interaction to refund
the currently authenticated tenant
swaps that need a manual interaction to claim
startup warnings that require user attention
Fetches information about a specific pair for a chain swap.
Fetches all available pairs for submarine and reverse swaps.
Fetches the latest limits and fees from the Boltz backend API it is connected to.
(message has no fields)
Returns stats of all swaps, reverse swaps, and chain swaps in the database.
Gets all available information about a swap from the database.
Returns the entire history of the swap if is still pending and streams updates in real time. If the swap id is empty or "*" updates for all swaps will be streamed.
Returns mnemonic used for the key derivation of swaps, which can be used to restore swap information in the case of data loss.
(message has no fields)
Gets a quote for a swap with fee breakdown. Allows specifying either the send amount or the receive amount.
Specify exactly one of send_amount or receive_amount
The amount you want to send
The amount you want to receive
The amount you will send
The amount you will receive
Service fee charged by Boltz
Network/miner fees
The pair info with current limits
Get a specific tenant.
Returns information about a wallet, including its current balance.
Returns the credentials of a wallet. The password will be required if the wallet is encrypted.
Calculates the fee for an equivalent `WalletSend` request. If `address` is left empty, a dummy swap address will be used, allowing for a fee estimation of a swap lockup transaction.
amount of sats which would be sent
the fee rate used for the estimation in sat/vbyte
Returns all available wallets.
Imports an existing wallet.
Returns a list of all swaps, reverse swaps, and chain swaps in the database.
whether to return swaps in the shared `all_swaps` list or in the detailed lists. the `limit` and `offset` are only considered when `unify` is true.
populated when `unify` is set to true in the request
Returns all tenants.
(message has no fields)
Returns recent transactions from a wallet.
Refund a failed swap manually. This is only required when no refund address has been set and the swap does not have an associated wallet.
Manually specify the lockup transaction of the swap to be refunded. This can be used in cases where the client missed the lockup of the swap or a swap received multiple lockups.
Removes a tenant. Only allowed if the tenant has no associated wallets.
Removes a wallet.
(message has no fields)
Sets the mnemonic used for key derivation of swaps. An existing mnemonic can be used, or a new one can be generated.
Gracefully stops the daemon.
Unlocks the server. This will be required on startup if there are any encrypted wallets.
Check if the password is correct.
Get a new address of the wallet.
Send coins from a wallet. Only the confirmed balance can be spent.
Used in:
The expected amount to be sent to the lockup address for submarine and chain swaps and the invoice amount for reverse swaps.
`from_amount` minus the service and network fee.
includes the routing fee for reverse swaps
Used in: ,
Used in:
Used in:
Used as response type in: Boltz.CreateChainSwap
Used as field type in: ,
Channel creations are an optional extension to a submarine swap in the data types of boltz-client.
Used in: ,
ID of the swap to which this channel belongs
Used in: , ,
cln style: 832347x2473x1
lnd style: 915175205006540801
Used in:
Used as response type in: Boltz.CreateChannel, Boltz.CreateSwap
lockup transaction id. Only populated when `send_from_internal` was specified in the request
Used in: , , , , , ,
Used in:
Used as request type in: Boltz.GetSwapInfo, Boltz.GetSwapInfoStream
Only implemented for submarine swaps
Used as response type in: Boltz.GetSwapInfo, Boltz.GetSwapInfoStream, Boltz.RefundSwap
(message has no fields)
Used in: ,
Used in:
Used in: ,
Used in:
Used in:
Used in:
Used in: , , , , , , , , ,
Used as response type in: Boltz.GetPairInfo
Used as field type in: , , , ,
Used in: ,
Latest status message of the Boltz backend
the time when the invoice was paid
Used in:
Used in: , ,
Latest status message of the Boltz backend
If the swap times out or fails for some other reason, the daemon will automatically refund the coins sent to the `lockup_address` back to the configured wallet or the address specified in the `refund_address` field.
internal wallet which was used to pay the swap
Used in: , , , ,
Unknown client error. Check the error field of the message for more information
Unknown server error. Check the status field of the message for more information
Client refunded locked coins after the HTLC timed out
Client noticed that the HTLC timed out but didn't find any outputs to refund
Used in: ,
Used in: , , ,
Used as response type in: Boltz.CreateTenant, Boltz.GetTenant
Used as field type in: ,
Used in:
will be populated for LOCKUP, REFUND and CLAIM
Used in:
whether the address is controlled by the wallet
Used in:
Used as response type in: Boltz.GetWallet, Boltz.ImportWallet
Used as field type in: ,
WalletCredentials describes a BIP32 deterministic wallet that can be either: - hot (private keys present), derived from a BIP-39 mnemonic, or - watch-only (public keys only), imported via a descriptor. Hot wallet: - Provide `mnemonic`. The master key is derived per BIP-39. - Optional: provide `core_descriptor` to override the default address scheme. If omitted, a chain-specific default will be derived. Watch-only wallet: - Provide only `core_descriptor` (no `mnemonic`). Mainchain (Bitcoin): - Default descriptor: Bitcoin Core descriptor using a BIP-84 derivation path. - Descriptor format: https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md Liquid (Elements): - Default descriptor: CT Descriptor using a BIP-84 derivation path and SLIP77 for blinding key derivation. - Descriptor format: https://github.com/ElementsProject/ELIPs/blob/main/elip-0150.mediawiki Descriptor requirements: - Must be valid according to the currency-specific format - Should describe the wallet’s external keychain. - For hot wallets, the descriptor must be derived from the mnemonic’s master key.
Used as response type in: Boltz.GetWalletCredentials
Used as field type in:
the mnemonic to derive the wallet master private key (BIP39).
public key descriptor for the wallets external keychain.
Only used to migrate legacy wallets imported before descriptor-based backends.
Used in: ,
the password to encrypt the wallet with. If there are existing encrypted wallets, the same password has to be used.
Used as request type in: Boltz.GetWalletSendFee, Boltz.WalletSend
Amount of satoshis to be sent to 'address`
Fee rate to use for the transaction
Sends all available funds to the address. The `amount` field is ignored.
whether `address` is the lockup of a swap.
Used in:
balance change of the wallet in satoshis. its the sum of all output values minus the sum of all input values which are controlled by the wallet. positive values indicate incoming transactions, negative values outgoing transactions
The timestamp of the block the transaction was confirmed in or 0 if it is unconfirmed.
additional information about the tx (type, related swaps etc.)