loop/docs/loop.1
Slyghtning 88039c2125
staticaddr: fund new addresses with sendcoins
Let loop static deposit create a fresh receive address and optionally
fund it through lnd SendCoins. Validate funding arguments before address
creation and expose the nested request through the client RPC.

Regenerate the RPC artifacts, CLI documentation, and replay fixtures for
the new command behavior.
2026-08-10 14:18:05 +02:00

646 lines
22 KiB
Groff

.nh
.TH loop 1
.SH NAME
loop \- control plane for your loopd
.SH SYNOPSIS
loop
.EX
[--help|-h]
[--loopdir]=[value]
[--macaroonpath]=[value]
[--network|-n]=[value]
[--rpcserver]=[value]
[--tlscertpath]=[value]
[--version|-v]
.EE
.PP
\fBUsage\fP:
.EX
loop [GLOBAL OPTIONS] [command [COMMAND OPTIONS]] [ARGUMENTS...]
.EE
.SH GLOBAL OPTIONS
\fB--help, -h\fP: show help
.PP
\fB--loopdir\fP="": path to loop's base directory (default: ~/.loop)
.PP
\fB--macaroonpath\fP="": path to macaroon file (default: ~/.loop/mainnet/loop.macaroon)
.PP
\fB--network, -n\fP="": the network loop is running on e.g. mainnet, testnet, etc. (default: mainnet)
.PP
\fB--rpcserver\fP="": loopd daemon address host:port (default: localhost:11010)
.PP
\fB--tlscertpath\fP="": path to loop's TLS certificate (default: ~/.loop/mainnet/tls.cert)
.PP
\fB--version, -v\fP: print the version
.SH COMMANDS
.SH out
perform an off-chain to on-chain swap (looping out)
.PP
\fB--account\fP="": the name of the account to generate a new address from. You can list the names of valid accounts in your backing lnd instance with "lncli wallet accounts list"
.PP
\fB--account_addr_type\fP="": the address type of the extended public key specified in account. Currently only pay-to-taproot-pubkey(p2tr) is supported (default: p2tr)
.PP
\fB--addr\fP="": the optional address that the looped out funds should be sent to, if let blank the funds will go to lnd's wallet
.PP
\fB--amt\fP="": the amount in satoshis to loop out. To check for the minimum and maximum amounts to loop out please consult "loop terms" (default: 0)
.PP
\fB--asset_edge_node\fP="": the pubkey of the edge node of the asset to loop out, this is required if the taproot assets daemon has multiple channels of the given asset id with different edge nodes
.PP
\fB--asset_id\fP="": the asset ID of the asset to loop out, if this is set, the loop daemon will require a connection to a taproot assets daemon
.PP
\fB--channel\fP="": the comma-separated list of short channel IDs of the channels to loop out
.PP
\fB--conf_target\fP="": the number of blocks from the swap initiation height that the on-chain HTLC should be swept within (default: 9)
.PP
\fB--fast\fP: indicate you want to swap immediately, paying potentially a higher fee. If not set the swap server might choose to wait up to 30 minutes before publishing the swap HTLC on-chain, to save on its chain fees. Not setting this flag therefore might result in a lower swap fee
.PP
\fB--force\fP: Assumes yes during confirmation. Using this option will result in an immediate swap
.PP
\fB--help, -h\fP: show help
.PP
\fB--htlc_confs\fP="": the number of confirmations (in blocks) that we require for the htlc extended by the server before we reveal the preimage (default: 1)
.PP
\fB--label\fP="": an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved].
.PP
\fB--max_swap_routing_fee\fP="": the max off-chain swap routing fee in satoshis, if not specified, a default max fee will be used (default: 0)
.PP
\fB--payment_timeout\fP="": the timeout for each individual off-chain payment attempt. If not set, the default timeout of 1 hour will be used. As the payment might be retried, the actual total time may be longer (default: 0s)
.PP
\fB--verbose, -v\fP: show expanded details
.SH in
perform an on-chain to off-chain swap (loop in)
.PP
\fB--amt\fP="": the amount in satoshis to loop in. To check for the minimum and maximum amounts to loop in please consult "loop terms" (default: 0)
.PP
\fB--conf_target\fP="": the target number of blocks the on-chain htlc broadcast by the swap client should confirm within (default: 0)
.PP
\fB--external\fP: expect htlc to be published externally
.PP
\fB--force\fP: Assumes yes during confirmation. Using this option will result in an immediate swap
.PP
\fB--help, -h\fP: show help
.PP
\fB--label\fP="": an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved].
.PP
\fB--last_hop\fP="": the pubkey of the last hop to use for this swap
.PP
\fB--private\fP: generates and passes routehints. Should be used if the connected node is only reachable via private channels
.PP
\fB--route_hints\fP="": route hints that can each be individually used to assist in reaching the invoice's destination (default: [])
.PP
\fB--verbose, -v\fP: show expanded details
.SH terms
Display the current swap terms imposed by the server.
.PP
\fB--help, -h\fP: show help
.SH monitor
monitor progress of any active swaps
.PP
\fB--help, -h\fP: show help
.SH quote
get a quote for the cost of a swap
.PP
\fB--help, -h\fP: show help
.SS in
get a quote for the cost of a loop in swap
.PP
\fB--conf_target\fP="": the target number of blocks the on-chain htlc broadcast by the swap client should confirm within (default: 0)
.PP
\fB--deposit_outpoint\fP="": one or more static address deposit outpoints to quote for. Deposit outpoints are not to be used in combination with an amount. Eachadditional outpoint can be added by specifying --deposit_outpoint tx_id:idx (default: [])
.PP
\fB--help, -h\fP: show help
.PP
\fB--last_hop\fP="": the pubkey of the last hop to use for the quote
.PP
\fB--private\fP: generates and passes routehints. Should be used if the connected node is only reachable via private channels
.PP
\fB--route_hints\fP="": route hints that can each be individually used to assist in reaching the invoice's destination (default: [])
.PP
\fB--verbose, -v\fP: show expanded details
.SS out
get a quote for the cost of a loop out swap
.PP
\fB--conf_target\fP="": the number of blocks from the swap initiation height that the on-chain HTLC should be swept within in a Loop Out (default: 9)
.PP
\fB--fast\fP: Indicate you want to swap immediately, paying potentially a higher fee. If not set the swap server might choose to wait up to 30 minutes before publishing the swap HTLC on-chain, to save on chain fees. Not setting this flag might result in a lower swap fee.
.PP
\fB--help, -h\fP: show help
.PP
\fB--verbose, -v\fP: show expanded details
.SH listauth
list all L402 tokens
.PP
\fB--help, -h\fP: show help
.SH fetchl402
fetches a new L402 authentication token from the server
.PP
\fB--help, -h\fP: show help
.SH listswaps
list traditional Loop In and Loop Out swaps
.PP
\fB--channel\fP="": the comma-separated list of short channel IDs of the channels to loop out
.PP
\fB--help, -h\fP: show help
.PP
\fB--label\fP="": an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved].
.PP
\fB--last_hop\fP="": the pubkey of the last hop to use for this swap
.PP
\fB--loop_in_only\fP: only list swaps that are loop in swaps
.PP
\fB--loop_out_only\fP: only list swaps that are loop out swaps
.PP
\fB--max_swaps\fP="": Max number of swaps to return after filtering (default: 0)
.PP
\fB--pending_only\fP: only list pending swaps
.PP
\fB--start_time_ns\fP="": Unix timestamp in nanoseconds to select swaps initiated after this time (default: 0)
.SH swapinfo
show the status of a traditional swap
.PP
\fB--help, -h\fP: show help
.PP
\fB--id\fP="": the ID of the swap (default: 0)
.SH getparams
show liquidity manager parameters
.PP
\fB--help, -h\fP: show help
.SH setrule
set liquidity manager rule for a channel/peer
.PP
\fB--clear\fP: remove the rule currently set for the channel/peer.
.PP
\fB--help, -h\fP: show help
.PP
\fB--incoming_threshold\fP="": the minimum percentage of incoming liquidity to total capacity beneath which to recommend loop out to acquire incoming. (default: 0)
.PP
\fB--outgoing_threshold\fP="": the minimum percentage of outbound liquidity that we do not want to drop below. (default: 0)
.PP
\fB--type\fP="": the type of swap to perform, set to 'out' for acquiring inbound liquidity or 'in' for acquiring outbound liquidity. (default: out)
.SH suggestswaps
show a list of suggested swaps
.PP
\fB--help, -h\fP: show help
.SH setparams
update the parameters set for the liquidity manager
.PP
\fB--account\fP="": the name of the account to generate a new address from. You can list the names of valid accounts in your backing lnd instance with "lncli wallet accounts list".
.PP
\fB--account_addr_type\fP="": the address type of the extended public key specified in account. Currently only pay-to-taproot-pubkey(p2tr) is supported (default: p2tr)
.PP
\fB--asset_easyautoloop\fP: set to true to enable asset easy autoloop, which will automatically dispatch asset swaps in order to meet the target local balance.
.PP
\fB--asset_id\fP="": If set to a valid asset ID, the easyautoloop and localbalancesat flags will be set for the specified asset.
.PP
\fB--asset_localbalance\fP="": the target size of total local balance in asset units, used by asset easy autoloop. (default: 0)
.PP
\fB--autobudget\fP="": the maximum amount of fees in satoshis that automatically dispatched loop out swaps may spend. (default: 0)
.PP
\fB--autobudgetrefreshperiod\fP="": the time period over which the automated loop budget is refreshed. (default: 0s)
.PP
\fB--autoinflight\fP="": the maximum number of automatically dispatched swaps that we allow to be in flight. (default: 0)
.PP
\fB--autoloop\fP: set to true to enable automated dispatch of swaps, limited to the budget set by autobudget.
.PP
\fB--destaddr\fP="": custom address to be used as destination for autoloop loop out, set to "default" in order to revert to default behavior.
.PP
\fB--easyatutoloop_includeallpeers\fP: include all peers back into easy autoloop by clearing the exclusion list. It cannot be combined with --easyautoloop_excludepeer
.PP
\fB--easyautoloop\fP: set to true to enable easy autoloop, which will automatically dispatch swaps in order to meet the target local balance.
.PP
\fB--easyautoloop_excludepeer\fP="": list of peer pubkeys (hex) to exclude from easy autoloop channel selection; repeat --easyautoloop_excludepeer for multiple peers (default: [])
.PP
\fB--failurebackoff\fP="": the amount of time, in seconds, that should pass before a channel that previously had a failed swap will be included in suggestions. (default: 0)
.PP
\fB--fast\fP: if set new swaps are expected to be published immediately, paying a potentially higher fee. If not set the swap server might choose to wait up to 30 minutes before publishing swap HTLCs on-chain, to save on chain fees. Not setting this flag therefore might result in a lower swap fees
.PP
\fB--feepercent\fP="": the maximum percentage of swap amount to be used across all fee categories (default: 0)
.PP
\fB--help, -h\fP: show help
.PP
\fB--htlc_conf\fP="": the confirmation target for loop in on-chain htlcs. (default: 0)
.PP
\fB--localbalancesat\fP="": the target size of total local balance in satoshis, used by easy autoloop. (default: 0)
.PP
\fB--loopinsource\fP="": the loop-in source to use for autoloop rules: wallet or static-address. Static-address requires loopd --experimental.
.PP
\fB--maxamt\fP="": the maximum amount in satoshis that the autoloop client will dispatch per-swap. (default: 0)
.PP
\fB--maxminer\fP="": the maximum miner fee in satoshis that swap suggestions should be limited to. (default: 0)
.PP
\fB--maxprepay\fP="": the maximum no-show (prepay) in satoshis that swap suggestions should be limited to. (default: 0)
.PP
\fB--maxprepayfee\fP="": the maximum percentage of off-chain prepay volume that we are willing to pay in routing fees. (default: 0)
.PP
\fB--maxroutingfee\fP="": the maximum percentage of off-chain payment volume that we are willing to pay in routingfees. (default: 0)
.PP
\fB--maxswapfee\fP="": the maximum percentage of swap volume we are willing to pay in server fees. (default: 0)
.PP
\fB--minamt\fP="": the minimum amount in satoshis that the autoloop client will dispatch per-swap. (default: 0)
.PP
\fB--sweepconf\fP="": the number of blocks from htlc height that swap suggestion sweeps should target, used to estimate max miner fee. (default: 0)
.PP
\fB--sweeplimit\fP="": the limit placed on our estimated sweep fee in sat/vByte. (default: 0)
.SH getinfo
show general information about the loop daemon
.PP
\fB--help, -h\fP: show help
.SH abandonswap
abandon a swap with a given swap hash
.PP
\fB--help, -h\fP: show help
.PP
\fB--i_know_what_i_am_doing\fP: Specify this flag if you made sure that you read and understood the following consequence of applying this command.
.SH reservations, r
manage reservations
.PP
\fB--help, -h\fP: show help
.SS list, l
list all reservations
.PP
\fB--help, -h\fP: show help
.SH instantout
perform an instant off-chain to on-chain swap (looping out)
.PP
\fB--addr\fP="": the optional address that the looped out funds should be sent to, if let blank the funds will go to lnd's wallet
.PP
\fB--channel\fP="": the comma-separated list of short channel IDs of the channels to loop out
.PP
\fB--help, -h\fP: show help
.SH listinstantouts
list all instant out swaps
.PP
\fB--help, -h\fP: show help
.SH stop
stop the loop daemon
.PP
\fB--help, -h\fP: show help
.PP
\fB--wait\fP: wait until loopd fully shuts down
.SH static, s
perform on-chain to off-chain swaps using static addresses.
.PP
\fB--help, -h\fP: show help
.SS new, n
Create a new static loop in address.
.PP
\fB--help, -h\fP: show help
.SS deposit
.PP
Create and fund a new static loop in address.
.PP
\fB--amt\fP="": the number of bitcoin denominated in satoshis to send to the new static address (default: 0)
.PP
\fB--coin_selection_strategy\fP="": (optional) the strategy to use for selecting coins. Possible values are 'largest', 'random', or 'global-config'. If either 'largest' or 'random' is specified, it will override the globally configured strategy in lnd.conf (default: global-config)
.PP
\fB--conf_target\fP="": (optional) the number of blocks that the funding transaction should confirm in, will be used for fee estimation (default: 0)
.PP
\fB--force\fP: if set, the funding transaction will be broadcast without asking for confirmation
.PP
\fB--help, -h\fP: show help
.PP
\fB--label\fP="": (optional) a label for the funding transaction
.PP
\fB--min_confs\fP="": (optional) the minimum number of confirmations each one of your outputs used for the funding transaction must satisfy (default: 1)
.PP
\fB--sat_per_vbyte\fP="": (optional) a manual fee expressed in sat/vbyte that should be used when crafting the funding transaction (default: 0)
.PP
\fB--sweepall\fP: if set, then the amount field should be unset. This indicates that the wallet will attempt to sweep all outputs within the wallet or all funds in selected utxos (when supplied) to the new static address
.PP
\fB--utxo\fP="": a utxo specified as outpoint(tx:idx) which will be used as input for the funding transaction. This flag can be repeatedly used to specify multiple utxos as inputs. The selected utxos can either be entirely spent by specifying the sweepall flag or a specified amount can be spent in the utxos through the amt flag (default: [])
.SS listunspent, l
List unspent static address outputs.
.PP
\fB--help, -h\fP: show help
.PP
\fB--max_confs\fP="": The maximum number of confirmations an output could have to be listed. (default: 0)
.PP
\fB--min_confs\fP="": The minimum amount of confirmations an output should have to be listed. (default: 0)
.SS listdeposits
Displays static address deposits. A filter can be applied to only show deposits in a specific state.
.PP
\fB--filter\fP="": specify a filter to only display deposits in the specified state. Leaving out the filter returns all deposits.
The state can be one of the following:
deposited
withdrawing
withdrawn
looping_in
looped_in
opening_channel
channel_published
publish_expired_deposit
sweep_htlc_timeout
htlc_timeout_swept
wait_for_expiry_sweep
expired
failed
\&.
.PP
\fB--help, -h\fP: show help
.SS listwithdrawals
Display a summary of past withdrawals.
.PP
\fB--help, -h\fP: show help
.SS listswaps
Shows a list of static address swaps.
.PP
\fB--help, -h\fP: show help
.SS withdraw, w
Withdraw from static address deposits.
.PP
\fB--all\fP: withdraws all static address deposits.
.PP
\fB--amt, --amount\fP="": the number of satoshis that should be withdrawn from the selected deposits. The change is sent back to the static address (default: 0)
.PP
\fB--dest_addr\fP="": the optional address that the withdrawn funds should be sent to, if let blank the funds will go to lnd's wallet
.PP
\fB--help, -h\fP: show help
.PP
\fB--sat_per_vbyte\fP="": (optional) a manual fee expressed in sat/vbyte that should be used when crafting the transaction (default: 0)
.PP
\fB--utxo\fP="": specify utxos as outpoints(tx:idx) which willbe withdrawn. (default: [])
.SS summary, s
Display a summary of static address related information.
.PP
\fB--help, -h\fP: show help
.SS in
Loop in funds from static address deposits.
.PP
\fB--all\fP: loop in all static address deposits.
.PP
\fB--amt, --amount\fP="": the number of satoshis that should be swapped from the selected deposits. If thereis change it is sent back to the static address. (default: 0)
.PP
\fB--fast\fP: Usage: complete the swap faster by paying a higher fee, so the change output is available sooner
.PP
\fB--force\fP: Assumes yes during confirmation. Using this option will result in an immediate swap
.PP
\fB--help, -h\fP: show help
.PP
\fB--label\fP="": an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved].
.PP
\fB--last_hop\fP="": the pubkey of the last hop to use for this swap
.PP
\fB--max_swap_fee_ppm\fP="": the maximum swap fee expressed in parts per million of the swap amount. If set together with --max_swap_fee_sat the tighter cap is used. (default: 0)
.PP
\fB--max_swap_fee_sat\fP="": the maximum swap fee in satoshis. If set, the swap is rejected when the quoted fee exceeds this cap. The maximum allowed value is 10000000. On-chain fees for creating static deposits are unaffected. (default: 0)
.PP
\fB--payment_timeout\fP="": the maximum time in seconds that the server is allowed to take for the swap payment. The client can retry the swap with adjusted parameters after the payment timed out. (default: 0s)
.PP
\fB--private\fP: generates and passes routehints. Should be used if the connected node is only reachable via private channels
.PP
\fB--route_hints\fP="": route hints that can each be individually used to assist in reaching the invoice's destination (default: [])
.PP
\fB--utxo\fP="": specify the utxos of deposits as outpoints(tx:idx) that should be looped in. (default: [])
.PP
\fB--verbose, -v\fP: show expanded details
.SS openchannel
Open a channel to an existing peer.
.PP
\fB--base_fee_msat\fP="": the base fee in milli-satoshis that will be charged for each forwarded HTLC, regardless of payment size (default: 0)
.PP
\fB--channel_type\fP="": (optional) the type of channel to propose to the remote peer ("tweakless", "anchors", "simple-taproot", "taproot")
.PP
\fB--close_address\fP="": (optional) an address to enforce payout of our funds to on cooperative close. Note that if this value is set on channel open, you will \fInot\fP be able to cooperatively close to a different address.
.PP
\fB--fee_rate_ppm\fP="": the fee rate ppm (parts per million) that will be charged proportionally based on the value of each forwarded HTLC, the lowest possible rate is 0 with a granularity of 0.000001 (millionths) (default: 0)
.PP
\fB--fundmax\fP: if set, the wallet will attempt to commit the maximum possible local amount to the channel. This must not be set at the same time as local_amt
.PP
\fB--help, -h\fP: show help
.PP
\fB--local_amt\fP="": the number of satoshis the wallet should commit to the channel (default: 0)
.PP
\fB--max_local_csv\fP="": (optional) the maximum number of blocks that we will allow the remote peer to require we wait before accessing our funds in the case of a unilateral close. (default: 0)
.PP
\fB--memo\fP="": (optional) a note-to-self containing some useful information about the channel. This is stored locally only, and is purely for reference. It has no bearing on the channel's operation. Max allowed length is 500 characters
.PP
\fB--min_htlc_msat\fP="": (optional) the minimum value we will require for incoming HTLCs on the channel (default: 0)
.PP
\fB--node_key\fP="": the identity public key of the target node/peer serialized in compressed format
.PP
\fB--private\fP: make the channel private, such that it won't be announced to the greater network, and nodes other than the two channel endpoints must be explicitly told about it to be able to route through it
.PP
\fB--push_amt\fP="": the number of satoshis to give the remote side as part of the initial commitment state, this is equivalent to first opening a channel and sending the remote party funds, but done all in one step (default: 0)
.PP
\fB--remote_csv_delay\fP="": (optional) the number of blocks we will require our channel counterparty to wait before accessing its funds in case of unilateral close. If this is not set, we will scale the value according to the channel size (default: 0)
.PP
\fB--remote_max_value_in_flight_msat\fP="": (optional) the maximum value in msat that can be pending within the channel at any given time (default: 0)
.PP
\fB--remote_reserve_sats\fP="": (optional) the minimum number of satoshis we require the remote node to keep as a direct payment. If not specified, a default of 1% of the channel capacity will be used. (default: 0)
.PP
\fB--sat_per_vbyte\fP="": (optional) a manual fee expressed in sat/vbyte that should be used when crafting the transaction (default: 0)
.PP
\fB--scid_alias\fP: (optional) whether a scid-alias channel type should be negotiated.
.PP
\fB--utxo\fP="": a utxo specified as outpoint(tx:idx) which will be used to fund a channel. This flag can be repeatedly used to fund a channel with a selection of utxos. The selected funds can either be entirely spent by specifying the fundmax flag or partially by selecting a fraction of the sum of the outpoints in local_amt (default: [])
.PP
\fB--zero_conf\fP: (optional) whether a zero-conf channel open should be attempted.