Skip to content

gRPC Documentation ​

This page was automatically generated.

Authorization ​

The gRPC API supports two authorization methods.

Macaroons ​

Macaroons are cryptographic bearer tokens that offer fine-grained access control and serve as the default authorization method for the gRPC. The daemon automatically generates two macaroons at startup.

  • Admin macaroon (admin.macaroon) - grants full access to all RPCs
  • Readonly macaroon (readonly.macaroon) - grants read-only access to all RPCs

The macaroons are stored in the macaroons folder in the data directory by default. Their locations can be overridden using the configuration options:

  • rpc.adminmacaroonpath
  • rpc.readonlymacaroonpath

When using macaroon authentication, include the macaroon in your request metadata:

  • For gRPC: Use the macaroon key in the request metadata
  • For REST proxy: Use the Grpc-Metadata-Macaroon header

Password ​

The client supports simple password authentication as an alternative to macaroons.

To enable password authentication:

  1. Set a password using the rpc.password flag at startup
  2. Or configure it in the config

Note: When password authentication is enabled, macaroon authentication is automatically disabled and vice-versa.

To use password authentication:

  • For gRPC: Include the password in the authorization key of the request metadata
  • For REST proxy: Use the Authorization header

Note: It is recommended to use macaroon authentication when possible as it provides more granular access control.

Paths for the REST proxy of the gRPC interface can be found here.

boltzrpc.Boltz ​

Methods ​

GetInfo ​

Gets general information about the daemon like the chain of the lightning node it is connected to and the IDs of pending swaps.

RequestResponse
GetInfoRequestGetInfoResponse

GetServiceInfo ​

Fetches the latest limits and fees from the Boltz backend API it is connected to.

RequestResponse
GetServiceInfoRequestGetServiceInfoResponse

GetPairInfo ​

Fetches information about a specific pair for a chain swap.

RequestResponse
GetPairInfoRequestPairInfo

GetPairs ​

Fetches all available pairs for submarine and reverse swaps.

RequestResponse
.google.protobuf.EmptyGetPairsResponse

ListSwaps ​

Returns a list of all swaps, reverse swaps, and chain swaps in the database.

RequestResponse
ListSwapsRequestListSwapsResponse

GetStats ​

Returns stats of all swaps, reverse swaps, and chain swaps in the database.

RequestResponse
GetStatsRequestGetStatsResponse

RefundSwap ​

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.

RequestResponse
RefundSwapRequestGetSwapInfoResponse

ClaimSwaps ​

Claim swaps manually. This is only required when no claim address has been set and the swap does not have an associated wallet.

RequestResponse
ClaimSwapsRequestClaimSwapsResponse

GetSwapInfo ​

Gets all available information about a swap from the database.

RequestResponse
GetSwapInfoRequestGetSwapInfoResponse

GetSwapInfoStream ​

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.

RequestResponse
GetSwapInfoRequestGetSwapInfoResponse stream

Deposit ​

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.

RequestResponse
DepositRequestDepositResponse

CreateSwap ​

Creates a new swap from onchain to lightning.

RequestResponse
CreateSwapRequestCreateSwapResponse

CreateChannel ​

Create a new swap from onchain to a new lightning channel. The daemon will only accept the invoice payment if the HTLCs is coming trough a new channel channel opened by Boltz.

RequestResponse
CreateChannelRequestCreateSwapResponse

CreateReverseSwap ​

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.

RequestResponse
CreateReverseSwapRequestCreateReverseSwapResponse

CreateChainSwap ​

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.

RequestResponse
CreateChainSwapRequestChainSwapInfo

CreateWallet ​

Creates a new liquid wallet and returns the mnemonic.

RequestResponse
CreateWalletRequestCreateWalletResponse

ImportWallet ​

Imports an existing wallet.

RequestResponse
ImportWalletRequestWallet

SetSubaccount ​

Sets the subaccount of a wallet. Not supported for readonly wallets.

RequestResponse
SetSubaccountRequestSubaccount

GetSubaccounts ​

Returns all subaccounts for a given wallet. Not supported for readonly wallets.

RequestResponse
GetSubaccountsRequestGetSubaccountsResponse

GetWallets ​

Returns all available wallets.

RequestResponse
GetWalletsRequestWallets

GetWallet ​

Returns the current balance and subaccount of a wallet.

RequestResponse
GetWalletRequestWallet

GetWalletSendFee ​

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.

RequestResponse
WalletSendRequestWalletSendFee

ListWalletTransactions ​

Returns recent transactions from a wallet.

RequestResponse
ListWalletTransactionsRequestListWalletTransactionsResponse

BumpTransaction ​

Increase the fee of a transaction using RBF. The transaction has to belong to one of the clients wallets.

RequestResponse
BumpTransactionRequestBumpTransactionResponse

GetWalletCredentials ​

Returns the credentials of a wallet. The password will be required if the wallet is encrypted.

RequestResponse
GetWalletCredentialsRequestWalletCredentials

RemoveWallet ​

Removes a wallet.

RequestResponse
RemoveWalletRequestRemoveWalletResponse

WalletSend ​

Send coins from a wallet. Only the confirmed balance can be spent.

RequestResponse
WalletSendRequestWalletSendResponse

WalletReceive ​

Get a new address of the wallet.

RequestResponse
WalletReceiveRequestWalletReceiveResponse

Stop ​

Gracefully stops the daemon.

RequestResponse
.google.protobuf.Empty.google.protobuf.Empty

Unlock ​

Unlocks the server. This will be required on startup if there are any encrypted wallets.

RequestResponse
UnlockRequest.google.protobuf.Empty

VerifyWalletPassword ​

Check if the password is correct.

RequestResponse
VerifyWalletPasswordRequestVerifyWalletPasswordResponse

ChangeWalletPassword ​

Changes the password for wallet encryption.

RequestResponse
ChangeWalletPasswordRequest.google.protobuf.Empty

CreateTenant ​

Creates a new tenant which can be used to bake restricted macaroons.

RequestResponse
CreateTenantRequestTenant

ListTenants ​

Returns all tenants.

RequestResponse
ListTenantsRequestListTenantsResponse

GetTenant ​

Get a specifiy tenant.

RequestResponse
GetTenantRequestTenant

BakeMacaroon ​

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.

RequestResponse
BakeMacaroonRequestBakeMacaroonResponse

GetSwapMnemonic ​

Returns mnemonic used for the key derivation of swaps, which can be used to restore swap information in the case of data loss.

RequestResponse
GetSwapMnemonicRequestGetSwapMnemonicResponse

SetSwapMnemonic ​

Sets the mnemonic used for key derivation of swaps. An existing mnemonic can be used, or a new one can be generated.

RequestResponse
SetSwapMnemonicRequestSetSwapMnemonicResponse

Messages ​

AnySwapInfo ​

FieldTypeLabelDescription
idstring
typeSwapType
pairPair
stateSwapState
errorstringoptional
statusstring
from_amountuint64The expected amount to be sent to the lockup address for submarine and chain swaps and the invoice amount for reverse swaps.
to_amountuint64from_amount minus the service and network fee.
created_atint64
service_feeint64optional
onchain_feeuint64optionalinclues the routing fee for reverse swaps
is_autobool
tenant_iduint64

BakeMacaroonRequest ​

FieldTypeLabelDescription
tenant_iduint64optional
permissionsMacaroonPermissionsrepeated

BakeMacaroonResponse ​

FieldTypeLabelDescription
macaroonstring

Balance ​

FieldTypeLabelDescription
totaluint64
confirmeduint64
unconfirmeduint64

BlockHeights ​

FieldTypeLabelDescription
btcuint32
liquiduint32optional

Budget ​

FieldTypeLabelDescription
totaluint64
remainingint64
start_dateint64
end_dateint64

BumpTransactionRequest ​

FieldTypeLabelDescription
tx_idstringId of the transaction to bump. The transaction has to belong to one of the clients wallets
swap_idstringDepending on the state of the swap, the lockup, refund or claim transaction will be bumped
sat_per_vbytedoubleoptionalFee 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.

BumpTransactionResponse ​

FieldTypeLabelDescription
tx_idstring

ChainSwapData ​

FieldTypeLabelDescription
idstring
currencyCurrency
private_keystring
their_public_keystring
amountuint64
timeout_block_heightuint32
lockup_transaction_idstringoptional
transaction_idstringoptional
wallet_iduint64optional
addressstringoptional
blinding_keystringoptional
lockup_addressstring

ChainSwapInfo ​

FieldTypeLabelDescription
idstring
pairPair
stateSwapState
errorstring
statusstring
preimagestring
is_autobool
service_feeint64optional
service_fee_percentdouble
onchain_feeuint64optional
created_atint64
tenant_iduint64
from_dataChainSwapData
to_dataChainSwapData

ChangeWalletPasswordRequest ​

FieldTypeLabelDescription
oldstring
newstring

ChannelCreationInfo ​

Channel creations are an optional extension to a submarine swap in the data types of boltz-client.

FieldTypeLabelDescription
swap_idstringID of the swap to which this channel channel belongs
statusstring
inbound_liquidityuint32
privatebool
funding_transaction_idstring
funding_transaction_voutuint32

ChannelId ​

FieldTypeLabelDescription
clnstringcln style: 832347x2473x1
lnduint64lnd style: 915175205006540801

ClaimSwapsRequest ​

FieldTypeLabelDescription
swap_idsstringrepeated
addressstring
wallet_iduint64

ClaimSwapsResponse ​

FieldTypeLabelDescription
transaction_idstring

CombinedChannelSwapInfo ​

FieldTypeLabelDescription
swapSwapInfo
channel_creationChannelCreationInfo

CreateChainSwapRequest ​

FieldTypeLabelDescription
amountuint64optionalAmount 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.
pairPair
to_addressstringoptionalAddress where funds will be swept to if the swap succeeds
refund_addressstringoptionalAddress where the coins should be refunded to if the swap fails.
from_wallet_iduint64optionalWallet 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.
to_wallet_iduint64optionalWallet where the the funds will go if the swap succeeds.
accept_zero_confbooloptionalWhether 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.
external_paybooloptionalIf set, the daemon will not pay the swap from an internal wallet.
lockup_zero_confbooloptionalDeprecated.
sat_per_vbytedoubleoptionalFee rate to use when sending from internal wallet
accepted_pairPairInfooptionalRates 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

CreateChannelRequest ​

FieldTypeLabelDescription
amountint64
inbound_liquidityuint32Percentage of inbound liquidity the channel that is opened should have. 25 by default.
privatebool

CreateReverseSwapRequest ​

FieldTypeLabelDescription
amountuint64amount of satoshis to swap
addressstringIf no value is set, the daemon will query a new address from the lightning node
accept_zero_confboolWhether 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.
pairPair
chan_idsstringrepeateda list of channel ids which are allowed for paying the invoice. can be in either cln or lnd style.
wallet_iduint64optionalwallet from which the onchain address should be generated - only considered if address is not set
return_immediatelybooloptionalWhether 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.
external_paybooloptionalIf 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.
descriptionstringoptionalDescription of the invoice which will be created for the swap
description_hashbytesoptionalDescription hash of the invoice which will be created for the swap. Takes precedence over description
invoice_expiryuint64optionalExpiry of the reverse swap invoice in seconds
accepted_pairPairInfooptionalRates 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
routing_fee_limit_ppmuint64optionalThe routing fee limit for paying the lightning invoice in ppm (parts per million)
add_magic_routing_hintbooloptionaladd a magic routing hint to the lightning invoice if external_pay is true and an internal wallet is used.

CreateReverseSwapResponse ​

FieldTypeLabelDescription
idstring
lockup_addressstring
routing_fee_milli_satuint64optionalOnly populated when zero-conf is accepted and return_immediately is set to false
claim_transaction_idstringoptionalOnly populated when zero-conf is accepted and return_immediately is set to false
invoicestringoptionalInvoice to be paid. Only populated when external_pay is set to true

CreateSwapRequest ​

FieldTypeLabelDescription
amountuint64amount of sats to be received on lightning. related: invoice field
pairPair
send_from_internalboolthe daemon will pay the swap using the onchain wallet specified in the wallet field or the first internal wallet with the correct currency otherwise.
refund_addressstringoptionaladdress where the coins should go if the swap fails. Refunds will go to any of the daemons wallets otherwise.
wallet_iduint64optionalwallet to pay swap from. only used if send_from_internal is set to true
invoicestringoptionalbolt11 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
zero_confbooloptionalDeprecated.
sat_per_vbytedoubleoptionalFee rate to use when sending from internal wallet
accepted_pairPairInfooptionalRates 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_mrhbooloptionalIgnore any magic routing hints found in the specified invoice.

CreateSwapResponse ​

FieldTypeLabelDescription
idstring
addressstring
expected_amountuint64
bip21string
tx_idstringlockup transaction id. Only populated when send_from_internal was specified in the request
timeout_block_heightuint32
timeout_hoursfloat

CreateTenantRequest ​

FieldTypeLabelDescription
namestring

CreateWalletRequest ​

FieldTypeLabelDescription
paramsWalletParams

CreateWalletResponse ​

FieldTypeLabelDescription
mnemonicstring
walletWallet

DepositRequest ​

FieldTypeLabelDescription
inbound_liquidityuint32Percentage of inbound liquidity the channel that is opened in case the invoice cannot be paid should have. 25 by default.

DepositResponse ​

FieldTypeLabelDescription
idstring
addressstring
timeout_block_heightuint32

Fees ​

FieldTypeLabelDescription
percentagefloat
minerMinerFees

GetInfoRequest ​

GetInfoResponse ​

FieldTypeLabelDescription
versionstring
nodestring
networkstring
node_pubkeystring
auto_swap_statusstringone of: running, disabled, error
block_heightsBlockHeightsmapping of the currency to the latest block height.
refundable_swapsstringrepeatedswaps that need a manual interaction to refund
tenantTenantoptionalthe currently authenticated tenant
claimable_swapsstringrepeatedswaps that need a manual interaction to claim
symbolstringDeprecated.
lnd_pubkeystringDeprecated.
block_heightuint32Deprecated.
pending_swapsstringrepeatedDeprecated.
pending_reverse_swapsstringrepeatedDeprecated.

GetPairInfoRequest ​

FieldTypeLabelDescription
typeSwapType
pairPair

GetPairsResponse ​

FieldTypeLabelDescription
submarinePairInforepeated
reversePairInforepeated
chainPairInforepeated

GetServiceInfoRequest ​

GetServiceInfoResponse ​

FieldTypeLabelDescription
feesFees
limitsLimits

GetStatsRequest ​

FieldTypeLabelDescription
includeIncludeSwaps

GetStatsResponse ​

FieldTypeLabelDescription
statsSwapStats

GetSubaccountsRequest ​

FieldTypeLabelDescription
wallet_iduint64

GetSubaccountsResponse ​

FieldTypeLabelDescription
currentuint64optional
subaccountsSubaccountrepeated

GetSwapInfoRequest ​

FieldTypeLabelDescription
idstringDeprecated.
swap_idstring
payment_hashbytesOnly implemented for submarine swaps

GetSwapInfoResponse ​

FieldTypeLabelDescription
swapSwapInfo
channel_creationChannelCreationInfo
reverse_swapReverseSwapInfo
chain_swapChainSwapInfo

GetSwapMnemonicRequest ​

GetSwapMnemonicResponse ​

FieldTypeLabelDescription
mnemonicstring

GetTenantRequest ​

FieldTypeLabelDescription
namestring

GetWalletCredentialsRequest ​

FieldTypeLabelDescription
iduint64
passwordstringoptional

GetWalletRequest ​

FieldTypeLabelDescription
namestringoptional
iduint64optional

GetWalletsRequest ​

FieldTypeLabelDescription
currencyCurrencyoptional
include_readonlybooloptional

ImportWalletRequest ​

FieldTypeLabelDescription
credentialsWalletCredentials
paramsWalletParams

ImportWalletResponse ​

LightningChannel ​

FieldTypeLabelDescription
idChannelId
capacityuint64
outbound_satuint64
inbound_satuint64
peer_idstring

Limits ​

FieldTypeLabelDescription
minimaluint64
maximaluint64
maximal_zero_conf_amountuint64

ListSwapsRequest ​

FieldTypeLabelDescription
fromCurrencyoptional
toCurrencyoptional
stateSwapStateoptional
includeIncludeSwaps
limituint64optional
offsetuint64optional
unifybooloptionalwether 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.

ListSwapsResponse ​

FieldTypeLabelDescription
swapsSwapInforepeated
channel_creationsCombinedChannelSwapInforepeatedDeprecated.
reverse_swapsReverseSwapInforepeated
chain_swapsChainSwapInforepeated
all_swapsAnySwapInforepeatedpopulated when unify is set to true in the request

ListTenantsRequest ​

ListTenantsResponse ​

FieldTypeLabelDescription
tenantsTenantrepeated

ListWalletTransactionsRequest ​

FieldTypeLabelDescription
iduint64
exclude_swap_relatedbooloptional
limituint64optional
offsetuint64optional

ListWalletTransactionsResponse ​

FieldTypeLabelDescription
transactionsWalletTransactionrepeated

MacaroonPermissions ​

FieldTypeLabelDescription
actionMacaroonAction

MinerFees ​

FieldTypeLabelDescription
normaluint32
reverseuint32

Pair ​

FieldTypeLabelDescription
fromCurrency
toCurrency

PairInfo ​

FieldTypeLabelDescription
pairPair
feesSwapFees
limitsLimits
hashstring

RefundSwapRequest ​

FieldTypeLabelDescription
idstring
addressstring
wallet_iduint64

RemoveWalletRequest ​

FieldTypeLabelDescription
iduint64

RemoveWalletResponse ​

ReverseSwapInfo ​

FieldTypeLabelDescription
idstring
stateSwapState
errorstring
statusstringLatest status message of the Boltz backend
private_keystring
preimagestring
redeem_scriptstring
invoicestring
claim_addressstring
onchain_amountuint64
invoice_amountuint64
timeout_block_heightuint32
lockup_transaction_idstring
claim_transaction_idstring
pairPair
chan_idsChannelIdrepeated
blinding_keystringoptional
created_atint64
paid_atint64optionalthe time when the invoice was paid
service_feeint64optional
onchain_feeuint64optional
routing_fee_msatuint64optional
external_paybool
tenant_iduint64
is_autobool

SetSubaccountRequest ​

FieldTypeLabelDescription
wallet_iduint64
subaccountuint64optionalThe subaccount to use. If not set, a new one will be created.

SetSwapMnemonicRequest ​

FieldTypeLabelDescription
existingstring
generatebool

SetSwapMnemonicResponse ​

FieldTypeLabelDescription
mnemonicstring

Subaccount ​

FieldTypeLabelDescription
balanceBalance
pointeruint64
typestring
descriptorsstringrepeated

SwapFees ​

FieldTypeLabelDescription
percentagedouble
miner_feesuint64

SwapInfo ​

FieldTypeLabelDescription
idstring
pairPair
stateSwapState
errorstring
statusstringLatest status message of the Boltz backend
private_keystring
preimagestring
redeem_scriptstring
invoicestring
lockup_addressstring
expected_amountuint64
timeout_block_heightuint32
lockup_transaction_idstring
refund_transaction_idstringIf the swap times out or fails for some other reason, the damon will automatically refund the coins sent to the lockup_address back to the configured wallet or the address specified in the refund_address field.
refund_addressstringoptional
chan_idsChannelIdrepeated
blinding_keystringoptional
created_atint64
service_feeint64optional
onchain_feeuint64optional
wallet_iduint64optionalinternal wallet which was used to pay the swap
tenant_iduint64
is_autobool

SwapStats ​

FieldTypeLabelDescription
total_feesint64
total_amountuint64
avg_feesint64
avg_amountuint64
countuint64
success_countuint64

Tenant ​

FieldTypeLabelDescription
iduint64
namestring

TransactionInfo ​

FieldTypeLabelDescription
swap_idstringoptionalwill be populated for LOCKUP, REFUND and CLAIM
typeTransactionType

TransactionOutput ​

FieldTypeLabelDescription
addressstring
amountuint64
is_our_addressboolwether the address is controlled by the wallet

UnlockRequest ​

FieldTypeLabelDescription
passwordstring

VerifyWalletPasswordRequest ​

FieldTypeLabelDescription
passwordstring

VerifyWalletPasswordResponse ​

FieldTypeLabelDescription
correctbool

Wallet ​

FieldTypeLabelDescription
iduint64
namestring
currencyCurrency
readonlybool
balanceBalance
tenant_iduint64

WalletCredentials ​

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):

Liquid (Elements):

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.
FieldTypeLabelDescription
mnemonicstringoptionalthe mnemonic to derive the wallet master private key (BIP39).
core_descriptorstringoptionalpublic key descriptor for the wallets external keychain.
subaccountuint64optionalDeprecated. only used in combination with mnemonic
xpubstringoptionalDeprecated.

WalletParams ​

FieldTypeLabelDescription
namestring
currencyCurrency
passwordstringoptionalthe password to encrypt the wallet with. If there are existing encrypted wallets, the same password has to be used.

WalletReceiveRequest ​

FieldTypeLabelDescription
iduint64

WalletReceiveResponse ​

FieldTypeLabelDescription
addressstring

WalletSendFee ​

FieldTypeLabelDescription
amountuint64amount of sats which would be sent
feeuint64
fee_ratedoublethe fee rate used for the estimation in sat/vbyte

WalletSendRequest ​

FieldTypeLabelDescription
iduint64
addressstring
amountuint64Amount of satoshis to be sent to 'address`
sat_per_vbytedoubleoptionalFee rate to use for the transaction
send_allbooloptionalSends all available funds to the address. The amount field is ignored.
is_swap_addressbooloptionalwhether address is the lockup of a swap.

WalletSendResponse ​

FieldTypeLabelDescription
tx_idstring

WalletTransaction ​

FieldTypeLabelDescription
idstring
balance_changeint64balance 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
timestampint64
outputsTransactionOutputrepeated
block_heightuint32
infosTransactionInforepeatedadditional informations about the tx (type, related swaps etc.)

Wallets ​

FieldTypeLabelDescription
walletsWalletrepeated

Enums ​

Currency ​

NameNumberDescription
BTC0
LBTC1

IncludeSwaps ​

NameNumberDescription
ALL0
MANUAL1
AUTO2

MacaroonAction ​

NameNumberDescription
READ0
WRITE1

SwapState ​

NameNumberDescription
PENDING0
SUCCESSFUL1
ERROR2Unknown client error. Check the error field of the message for more information
SERVER_ERROR3Unknown server error. Check the status field of the message for more information
REFUNDED4Client refunded locked coins after the HTLC timed out
ABANDONED5Client noticed that the HTLC timed out but didn't find any outputs to refund

SwapType ​

NameNumberDescription
SUBMARINE0
REVERSE1
CHAIN2

TransactionType ​

NameNumberDescription
UNKNOWN0
LOCKUP1
REFUND2
CLAIM3
CONSOLIDATION4

autoswaprpc.AutoSwap ​

Methods ​

GetRecommendations ​

Returns a list of swaps which are currently recommended by autoswap. Also works when autoswap is not running.

RequestResponse
GetRecommendationsRequestGetRecommendationsResponse

ExecuteRecommendations ​

Executes recommendations previously returned by GetRecommendations. Intended to be used when autoswap is fully configured but not enabled to allow for manual approval.

RequestResponse
ExecuteRecommendationsRequestExecuteRecommendationsResponse

GetStatus ​

Returns the current budget of autoswap and some relevant stats.

RequestResponse
GetStatusRequestGetStatusResponse

UpdateLightningConfig ​

Updates the lightning configuration entirely or partially. Autoswap will reload the configuration after this call.

RequestResponse
UpdateLightningConfigRequestConfig

UpdateChainConfig ​

Updates the chain configuration entirely or partially. Autoswap will reload the configuration after this call.

RequestResponse
UpdateChainConfigRequestConfig

GetConfig ​

Returns the currently used configuration.

RequestResponse
GetConfigRequestConfig

ReloadConfig ​

Reloads the configuration from disk.

RequestResponse
.google.protobuf.EmptyConfig

Messages ​

Budget ​

FieldTypeLabelDescription
totaluint64
remaininguint64
start_dateint64
end_dateint64
statsboltzrpc.SwapStatsoptional

ChainConfig ​

FieldTypeLabelDescription
enabledbool
from_walletstring
to_walletstring
to_addressstring
max_balanceuint64
reserve_balanceuint64
max_fee_percentfloat
budgetuint64
budget_intervaluint64
tenantstringoptional

ChainRecommendation ​

FieldTypeLabelDescription
swapChainSwapoptionalPopulated when a swap is recommended based on the configured wallet_balance of the configured from_wallet exceeds the currently configured max_balance
wallet_balanceboltzrpc.Balance
max_balanceuint64

ChainSwap ​

FieldTypeLabelDescription
amountuint64
fee_estimateuint64
dismissed_reasonsstringrepeatedReasons for which the swap is not being executed

Config ​

FieldTypeLabelDescription
chainChainConfigrepeated
lightningLightningConfigrepeated

ExecuteRecommendationsRequest ​

FieldTypeLabelDescription
lightningLightningRecommendationrepeated
chainChainRecommendationrepeated
forcebooloptionalForcefully execute all recommendations, even ones that have dismissal reasons.

ExecuteRecommendationsResponse ​

GetConfigRequest ​

GetRecommendationsRequest ​

GetRecommendationsResponse ​

FieldTypeLabelDescription
lightningLightningRecommendationrepeated
chainChainRecommendationrepeated

GetStatusRequest ​

GetStatusResponse ​

FieldTypeLabelDescription
lightningStatusoptional
chainStatusoptional

LightningConfig ​

FieldTypeLabelDescription
enabledbool
channel_poll_intervaluint64
static_addressstring
outbound_balanceuint64
inbound_balanceuint64
outbound_balance_percentfloat
inbound_balance_percentfloat
max_fee_percentfloat
accept_zero_confbool
failure_backoffuint64
budgetuint64
budget_intervaluint64
currencyboltzrpc.Currency
swap_typestring
per_channelbool
walletstring
max_swap_amountuint64
tenantstringoptional

LightningRecommendation ​

FieldTypeLabelDescription
swapLightningSwapoptionalPopulated when a swap is recommended for the associated channel, otherwise, the current balances are below the configured thresholds
channelboltzrpc.LightningChannel
thresholdsLightningThresholdsthe thresholds for a swap to be recommended for the channel

LightningSwap ​

FieldTypeLabelDescription
amountuint64
fee_estimateuint64
typeboltzrpc.SwapType
dismissed_reasonsstringrepeatedReasons for which the swap is not being executed

LightningThresholds ​

FieldTypeLabelDescription
inbounduint64optional
outbounduint64optional

Status ​

FieldTypeLabelDescription
runningbool
errorstringoptional
budgetBudgetoptional
descriptionstring

UpdateChainConfigRequest ​

FieldTypeLabelDescription
configChainConfig
field_maskgoogle.protobuf.FieldMaskoptional
resetbooloptional

UpdateLightningConfigRequest ​

FieldTypeLabelDescription
configLightningConfigoptional
field_maskgoogle.protobuf.FieldMask
resetbooloptional

Enums ​

Scalar Value Types ​

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double
doubledoublefloatfloat64doublefloatFloat
float
floatfloatfloatfloat32floatfloatFloat
int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32
Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64
Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32
Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64
Always eight bytes.int64longint/longint64longinteger/stringBignum
bool
boolbooleanbooleanboolboolbooleanTrueClass/FalseClass
string
A string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytes
May contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)