| `--help` (`-h`) | show help | bool | `false` | *none* |
| `--version` (`-v`) | print the version | bool | `false` | *none* |
### `out` command
perform an off-chain to on-chain swap (looping out).
Attempts to loop out the target amount into either the backing lnd's wallet, or a targeted address. The amount is to be specified in satoshis. Optionally a BASE58/bech32 encoded bitcoin destination address may be specified. If not specified, a new wallet address will be generated.
Usage:
```bash
$ loop [GLOBAL FLAGS] out [COMMAND FLAGS] amt [addr]
| `--addr="…"` | the optional address that the looped out funds should be sent to, if let blank the funds will go to lnd's wallet | string |
| `--account="…"` | 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" | string |
| `--account_addr_type="…"` | the address type of the extended public key specified in account. Currently only pay-to-taproot-pubkey(p2tr) is supported | string | `p2tr` |
| `--amt="…"` | the amount in satoshis to loop out. To check for the minimum and maximum amounts to loop out please consult "loop terms" | uint | `0` |
| `--htlc_confs="…"` | the number of confirmations (in blocks) that we require for the htlc extended by the server before we reveal the preimage | uint | `1` |
| `--conf_target="…"` | the number of blocks from the swap initiation height that the on-chain HTLC should be swept within | uint | `9` |
| `--max_swap_routing_fee="…"` | the max off-chain swap routing fee in satoshis, if not specified, a default max fee will be used | int | `0` |
| `--fast` | 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 | bool | `false` |
| `--payment_timeout="…"` | 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 | duration | `0s` |
| `--asset_id="…"` | 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 | string |
| `--asset_edge_node="…"` | 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 | string |
| `--force` | Assumes yes during confirmation. Using this option will result in an immediate swap | bool | `false` |
| `--label="…"` | an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved] | string |
Send the amount in satoshis specified by the amt argument off-chain. By default the swap client will create and broadcast the on-chain htlc. The fee priority of this transaction can optionally be set using the conf_target flag. The external flag can be set to publish the on chain htlc independently. Note that this flag cannot be set with the conf_target flag.
| `--private` | generates and passes routehints. Should be used if the connected node is only reachable via private channels | bool | `false` |
| `--route_hints="…"` | route hints that can each be individually used to assist in reaching the invoice's destination | string | `[]` |
| `--deposit_outpoint="…"` | 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 | string | `[]` |
| `--help` (`-h`) | show help | bool | `false` |
### `quote out` subcommand
get a quote for the cost of a loop out swap.
Allows to determine the cost of a swap up front.
Usage:
```bash
$ loop [GLOBAL FLAGS] quote out [COMMAND FLAGS] amt
| `--conf_target="…"` | the number of blocks from the swap initiation height that the on-chain HTLC should be swept within in a Loop Out | uint | `9` |
| `--fast` | 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 | bool | `false` |
fetches a new L402 authentication token from the server.
Fetches a new L402 authentication token from the server. This token is required to listen to notifications from the server, such as reservation notifications. If a L402 is already present in the store, this command is a no-op.
| `--type="…"` | the type of swap to perform, set to 'out' for acquiring inbound liquidity or 'in' for acquiring outbound liquidity | string | `out` |
| `--incoming_threshold="…"` | the minimum percentage of incoming liquidity to total capacity beneath which to recommend loop out to acquire incoming | int | `0` |
| `--outgoing_threshold="…"` | the minimum percentage of outbound liquidity that we do not want to drop below | int | `0` |
| `--clear` | remove the rule currently set for the channel/peer | bool | `false` |
| `--help` (`-h`) | show help | bool | `false` |
### `suggestswaps` command
show a list of suggested swaps.
Displays a list of suggested swaps that aim to obtain the liquidity balance as specified by the rules set in the liquidity manager.
update the parameters set for the liquidity manager.
Updates the parameters set for the liquidity manager. Note the parameters are persisted in db to save the trouble of setting them again upon loopd restart. To get the defaultvalues, use `getparams` before any `setparams`.
| `--sweeplimit="…"` | the limit placed on our estimated sweep fee in sat/vByte | int | `0` |
| `--feepercent="…"` | the maximum percentage of swap amount to be used across all fee categories | float | `0` |
| `--maxswapfee="…"` | the maximum percentage of swap volume we are willing to pay in server fees | float | `0` |
| `--maxroutingfee="…"` | the maximum percentage of off-chain payment volume that we are willing to pay in routingfees | float | `0` |
| `--maxprepayfee="…"` | the maximum percentage of off-chain prepay volume that we are willing to pay in routing fees | float | `0` |
| `--maxprepay="…"` | the maximum no-show (prepay) in satoshis that swap suggestions should be limited to | uint | `0` |
| `--maxminer="…"` | the maximum miner fee in satoshis that swap suggestions should be limited to | uint | `0` |
| `--sweepconf="…"` | the number of blocks from htlc height that swap suggestion sweeps should target, used to estimate max miner fee | int | `0` |
| `--failurebackoff="…"` | the amount of time, in seconds, that should pass before a channel that previously had a failed swap will be included in suggestions | uint | `0` |
| `--autoloop` | set to true to enable automated dispatch of swaps, limited to the budget set by autobudget | bool | `false` |
| `--destaddr="…"` | custom address to be used as destination for autoloop loop out, set to "default" in order to revert to default behavior | string |
| `--account="…"` | 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" | string |
| `--account_addr_type="…"` | the address type of the extended public key specified in account. Currently only pay-to-taproot-pubkey(p2tr) is supported | string | `p2tr` |
| `--autobudget="…"` | the maximum amount of fees in satoshis that automatically dispatched loop out swaps may spend | uint | `0` |
| `--autobudgetrefreshperiod="…"` | the time period over which the automated loop budget is refreshed | duration | `0s` |
| `--autoinflight="…"` | the maximum number of automatically dispatched swaps that we allow to be in flight | uint | `0` |
| `--minamt="…"` | the minimum amount in satoshis that the autoloop client will dispatch per-swap | uint | `0` |
| `--maxamt="…"` | the maximum amount in satoshis that the autoloop client will dispatch per-swap | uint | `0` |
| `--htlc_conf="…"` | the confirmation target for loop in on-chain htlcs | int | `0` |
| `--easyautoloop` | set to true to enable easy autoloop, which will automatically dispatch swaps in order to meet the target local balance | bool | `false` |
| `--localbalancesat="…"` | the target size of total local balance in satoshis, used by easy autoloop | uint | `0` |
| `--easyautoloop_excludepeer="…"` | list of peer pubkeys (hex) to exclude from easy autoloop channel selection; repeat --easyautoloop_excludepeer for multiple peers | string | `[]` |
| `--easyatutoloop_includeallpeers` | include all peers back into easy autoloop by clearing the exclusion list. It cannot be combined with --easyautoloop_excludepeer | bool | `false` |
| `--asset_easyautoloop` | set to true to enable asset easy autoloop, which will automatically dispatch asset swaps in order to meet the target local balance | bool | `false` |
| `--asset_id="…"` | If set to a valid asset ID, the easyautoloop and localbalancesat flags will be set for the specified asset | string |
| `--asset_localbalance="…"` | the target size of total local balance in asset units, used by asset easy autoloop | uint | `0` |
| `--fast` | 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 | bool | `false` |
This command overrides the database and abandons a swap with a given swap hash. !!! This command might potentially lead to loss of funds if it is applied to swaps that are still waiting for pending user funds. Before executing this command make sure that no funds are locked by the swap.
Usage:
```bash
$ loop [GLOBAL FLAGS] abandonswap [COMMAND FLAGS] ID
| `--i_know_what_i_am_doing` | Specify this flag if you made sure that you read and understood the following consequence of applying this command | bool | `false` |
| `--help` (`-h`) | show help | bool | `false` |
### `reservations` command (aliases: `r`)
manage reservations.
With loopd running, you can use this command to manage your reservations. Reservations are 2-of-2 multisig utxos that the loop server can open to clients. The reservations are used to enable instant swaps.
Requests a new static loop in address from the server. Funds that are sent to this address will be locked by a 2:2 multisig between us and the loop server, or a timeout path that we can sweep once it opens up. The funds can either be cooperatively spent with a signature from the server or looped in.
Usage:
```bash
$ loop [GLOBAL FLAGS] static new [COMMAND FLAGS] [ARGUMENTS...]
| `--filter="…"` | 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 publish_expired_deposit sweep_htlc_timeout htlc_timeout_swept wait_for_expiry_sweep expired failed | string |
| `--dest_addr="…"` | the optional address that the withdrawn funds should be sent to, if let blank the funds will go to lnd's wallet | string |
| `--sat_per_vbyte="…"` | (optional) a manual fee expressed in sat/vbyte that should be used when crafting the transaction | uint | `0` |
| `--amt="…"` (`--amount`) | the number of satoshis that should be withdrawn from the selected deposits. The change is sent back to the static address | uint | `0` |
Requests a loop-in swap based on static address deposits. After the creation of a static address funds can be sent to it. Once the funds are confirmed on-chain they can be swapped instantaneously. If deposited funds are not needed they can we withdrawn back to the local lnd wallet.
| `--utxo="…"` | specify the utxos of deposits as outpoints(tx:idx) that should be looped in | string | `[]` |
| `--all` | loop in all static address deposits | bool | `false` |
| `--payment_timeout="…"` | 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 | duration | `0s` |
| `--amt="…"` (`--amount`) | the number of satoshis that should be swapped from the selected deposits. If thereis change it is sent back to the static address | uint | `0` |
| `--fast` | Usage: complete the swap faster by paying a higher fee, so the change output is available sooner | bool | `false` |
| `--last_hop="…"` | the pubkey of the last hop to use for this swap | string |
| `--label="…"` | an optional label for this swap,limited to 500 characters. The label may not start with our reserved prefix: [reserved] | string |
| `--route_hints="…"` | route hints that can each be individually used to assist in reaching the invoice's destination | string | `[]` |
| `--private` | generates and passes routehints. Should be used if the connected node is only reachable via private channels | bool | `false` |
| `--force` | Assumes yes during confirmation. Using this option will result in an immediate swap | bool | `false` |