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

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)

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

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

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.

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

FieldTypeLabelDescription
mnemonicstringoptionalonly one of these is allowed to be present
xpubstringoptional
core_descriptorstringoptional
subaccountuint64optionalonly used in combination with mnemonic

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)