/ sample-lnd.conf
sample-lnd.conf
1 ; Example configuration for lnd. 2 ; 3 ; The default location for this file is in ~/.lnd/lnd.conf on POSIX OSes, 4 ; $LOCALAPPDATA/Lnd/lnd.conf on Windows, 5 ; ~/Library/Application Support/Lnd/lnd.conf on Mac OS and $home/lnd/lnd.conf on 6 ; Plan9. 7 ; The default location of this file can be overwritten by specifying the 8 ; --configfile= flag when starting lnd. 9 ; 10 ; boolean values can be specified as true/false or 1/0. Per default 11 ; booleans are always set to false. 12 13 ; If only one value is specified for an option, then this is also the 14 ; default value used by lnd. In case of multiple (example) values, the default 15 ; is explicitly mentioned. 16 ; If the part after the equal sign is empty then lnd has no default 17 ; for this option. 18 19 [Application Options] 20 21 ; The directory that lnd stores all wallet, chain, and channel related data 22 ; within The default is ~/.lnd/data on POSIX OSes, $LOCALAPPDATA/Lnd/data on 23 ; Windows, ~/Library/Application Support/Lnd/data on Mac OS, and $home/lnd/data 24 ; on Plan9. Environment variables are expanded so they may be used. NOTE: 25 ; Windows environment variables are typically %VARIABLE%, but they must be 26 ; accessed with $VARIABLE here. Also, ~ is expanded to $LOCALAPPDATA on Windows. 27 ; datadir=~/.lnd/data 28 29 ; The directory that logs are stored in. The logs are auto-rotated by default. 30 ; Rotated logs are compressed in place. 31 ; logdir=~/.lnd/logs 32 33 ; DEPRECATED: Use logging.file.max-files instead. 34 ; Number of logfiles that the log rotation should keep. Setting it to 0 disables 35 ; deletion of old log files. 36 ; maxlogfiles=10 37 ; 38 ; DEPRECATED: Use logging.file.max-file-size instead. 39 ; Max log file size in MB before it is rotated. 40 ; maxlogfilesize=20 41 42 ; Time after which an RPCAcceptor will time out and return false if 43 ; it hasn't yet received a response. 44 ; acceptortimeout=15s 45 46 ; Path to TLS certificate for lnd's RPC and REST services. 47 ; tlscertpath=~/.lnd/tls.cert 48 49 ; Path to TLS private key for lnd's RPC and REST services. 50 ; tlskeypath=~/.lnd/tls.key 51 52 ; Adds an extra ip to the generated certificate. Setting multiple tlsextraip= entries is allowed. 53 ; (old tls files must be deleted if changed) 54 ; tlsextraip= 55 56 ; Adds an extra domain to the generate certificate. Setting multiple tlsextradomain= entries is allowed. 57 ; (old tls files must be deleted if changed) 58 ; Default: 59 ; tlsextradomain= 60 ; Example: (option can be specified multiple times): 61 ; tlsextradomain=my-node-domain.com 62 63 ; If set, then all certs will automatically be refreshed if they're close to 64 ; expiring, or if any parameters related to extra IPs or domains in the cert 65 ; change. 66 ; tlsautorefresh=false 67 68 ; The duration from generating the self signed certificate to the certificate 69 ; expiry date. Valid time units are {s, m, h}. 70 ; The below value is about 14 months (14 * 30 * 24 = 10080) 71 ; tlscertduration=10080h 72 73 ; Do not include the interface IPs or the system hostname in TLS certificate, 74 ; use first --tlsextradomain as Common Name instead, if set. 75 ; tlsdisableautofill=false 76 77 ; If set, the TLS private key will be encrypted to the node's seed. 78 ; tlsencryptkey=false 79 80 ; A list of domains for lnd to periodically resolve, and advertise the resolved 81 ; IPs for the backing node. This is useful for users that only have a dynamic IP, 82 ; or want to expose the node at a domain. 83 ; Default: 84 ; externalhosts= 85 ; Example (option can be specified multiple times): 86 ; externalhosts=my-node-domain.com 87 ; externalhosts=my-second-domain.com 88 89 ; Sets the directory to store Let's Encrypt certificates within 90 ; letsencryptdir=~/.lnd/letsencrypt 91 92 ; The IP:port on which lnd will listen for Let's Encrypt challenges. Let's 93 ; Encrypt will always try to contact on port 80. Often non-root processes are 94 ; not allowed to bind to ports lower than 1024. This configuration option allows 95 ; a different port to be used, but must be used in combination with port 96 ; forwarding from port 80. This configuration can also be used to specify 97 ; another IP address to listen on, for example an IPv6 address. 98 ; Default: 99 ; letsencryptlisten=:80 100 ; Example: 101 ; letsencryptlisten=localhost:8080 102 103 ; Request a Let's Encrypt certificate for this domain. Note that the certificate 104 ; is only requested and stored when the first rpc connection comes in. 105 ; Default: 106 ; letsencryptdomain= 107 ; Example: 108 ; letsencryptdomain=example.com 109 110 ; Disable macaroon authentication. Macaroons are used as bearer credentials to 111 ; authenticate all RPC access. If one wishes to opt out of macaroons, uncomment 112 ; and set to true the line below. 113 ; no-macaroons=false 114 115 ; Enable free list syncing for the default bbolt database. This will decrease 116 ; start up time, but can result in performance degradation for very large 117 ; databases, and also result in higher memory usage. If "free list corruption" 118 ; is detected, then this flag may resolve things. 119 ; sync-freelist=false 120 121 ; Path to write the admin macaroon for lnd's RPC and REST services if it 122 ; doesn't exist. This can be set if one wishes to store the admin macaroon in a 123 ; distinct location. By default, it is stored within lnd's network directory. 124 ; Applications that are able to read this file, gain admin macaroon access. 125 ; Default: 126 ; adminmacaroonpath=~/.lnd/data/chain/bitcoin/${network}/admin.macaroon 127 ; Example: 128 ; adminmacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon 129 130 ; Path to write the read-only macaroon for lnd's RPC and REST services if it 131 ; doesn't exist. This can be set if one wishes to store the read-only macaroon 132 ; in a distinct location. The read only macaroon allows users which can read 133 ; the file to access RPCs which don't modify the state of the daemon. By 134 ; default, it is stored within lnd's network directory. 135 ; Default: 136 ; readonlymacaroonpath=~/.lnd/data/chain/bitcoin/${network}/readonly.macaroon 137 ; Example: 138 ; readonlymacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/readonly.macaroon 139 140 ; Path to write the invoice macaroon for lnd's RPC and REST services if it 141 ; doesn't exist. This can be set if one wishes to store the invoice macaroon in 142 ; a distinct location. By default, it is stored within lnd's network directory. 143 ; The invoice macaroon allows users which can read the file to gain read and 144 ; write access to all invoice related RPCs. 145 ; Default: 146 ; invoicemacaroonpath=~/.lnd/data/chain/bitcoin/${network}/invoice.macaroon 147 ; Example: 148 ; invoicemacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/invoice.macaroon 149 150 ; The strategy to use for selecting coins for wallet transactions. Options are 151 ; 'largest' and 'random'. 152 ; coin-selection-strategy=largest 153 154 ; A period to wait before for closing channels with outgoing htlcs that have 155 ; timed out and are a result of this nodes initiated payments. In addition to 156 ; our current block based deadline, if specified this grace period will also be 157 ; taken into account. Valid time units are {s, m, h}. 158 ; Default: 159 ; payments-expiration-grace-period=0s 160 ; Example: 161 ; payments-expiration-grace-period=30s 162 163 ; Specify the interfaces to listen on for p2p connections. One listen 164 ; address per line. 165 ; Default: 166 ; listen=:9735 167 ; Example (option can be specified multiple times): 168 ; All ipv4 on port 9735: 169 ; listen=0.0.0.0:9735 170 171 ; On all ipv4 interfaces on port 9735 and ipv6 localhost port 9736: 172 ; listen=0.0.0.0:9735 173 ; listen=[::1]:9736 174 175 ; Disable listening for incoming p2p connections. This will override all 176 ; listeners. 177 ; nolisten=false 178 179 ; Specify the interfaces to listen on for gRPC connections. One listen 180 ; address per line. 181 ; Default: 182 ; rpclisten=localhost:10009 183 ; Example (option can be specified multiple times): 184 ; On ipv4 localhost port 10009 and ipv6 port 10010: 185 ; rpclisten=localhost:10009 186 ; rpclisten=[::1]:10010 187 ; On an Unix socket: 188 ; rpclisten=unix:///var/run/lnd/lnd-rpclistener.sock 189 190 ; Specify the interfaces to listen on for REST connections. One listen 191 ; address per line. 192 ; Default: 193 ; restlisten=localhost:8080 194 ; Example (option can be specified multiple times): 195 ; All ipv4 interfaces on port 8080: 196 ; restlisten=0.0.0.0:8080 197 ; On ipv4 localhost port 80 and 443: 198 ; restlisten=localhost:80 199 ; restlisten=localhost:443 200 ; On an Unix socket: 201 ; restlisten=unix:///var/run/lnd-restlistener.sock 202 203 ; A series of domains to allow cross origin access from. This controls the CORs 204 ; policy of the REST RPC proxy. 205 ; Default: 206 ; restcors= 207 ; Example (option can be specified multiple times): 208 ; restcors=https://my-special-site.com 209 210 ; Adding an external IP will advertise your node to the network. This signals 211 ; that your node is available to accept incoming channels. If you don't wish to 212 ; advertise your node, this value doesn't need to be set. Unless specified 213 ; (with host:port notation), the default port (9735) will be added to the 214 ; address. 215 ; 216 ; NOTE: If you previously set one or more `externalip` entries and later 217 ; remove `externalip` entirely from the config, lnd will continue to advertise 218 ; the last known addresses from the previous run (they are stored with your node 219 ; information). To stop advertising them, remove those addresses explicitly 220 ; using the peers RPC/CLI, for example: 221 ; `lncli peers updatenodeannouncement --address_remove=1.2.3.4:9735` 222 ; A restart is not required, a new node announcement will be broadcasted. 223 ; externalip= 224 ; 225 ; Instead of explicitly stating your external IP address, you can also enable 226 ; UPnP or NAT-PMP support on the daemon. Both techniques will be tried and 227 ; require proper hardware support. In order to detect this hardware support, 228 ; `lnd` uses a dependency that retrieves the router's gateway address by using 229 ; different built-in binaries in each platform. Therefore, it is possible that 230 ; we are unable to detect the hardware and `lnd` will exit with an error 231 ; indicating this. This option will automatically retrieve your external IP 232 ; address, even after it has changed in the case of dynamic IPs, and advertise 233 ; it to the network using the ports the daemon is listening on. This does not 234 ; support devices behind multiple NATs. 235 ; nat=false 236 237 ; Disable REST API. 238 ; norest=false 239 240 ; Disable TLS for the REST API. 241 ; no-rest-tls=false 242 243 ; Specify peer(s) to connect to first. 244 ; addpeer= 245 246 ; The ping interval for REST based WebSocket connections, set to 0 to disable 247 ; sending ping messages from the server side. Valid time units are {s, m, h}. 248 ; ws-ping-interval=30s 249 250 ; The time we wait for a pong response message on REST based WebSocket 251 ; connections before the connection is closed as inactive. Valid time units are 252 ; {s, m, h}. 253 ; ws-pong-wait=5s 254 255 ; Shortest backoff when reconnecting to persistent peers. Valid time units are 256 ; {s, m, h}. 257 ; minbackoff=1s 258 259 ; Longest backoff when reconnecting to persistent peers. Valid time units are 260 ; {s, m, h}. 261 ; maxbackoff=1h 262 263 ; The timeout value for network connections. 264 ; Valid units are {ms, s, m, h}. 265 ; connectiontimeout=2m 266 267 ; Debug logging level. 268 ; Valid levels are {trace, debug, info, warn, error, critical} 269 ; You may also specify <global-level>,<subsystem>=<level>,<subsystem2>=<level>,... 270 ; to set log level for individual subsystems. Use lncli debuglevel --show to 271 ; list available subsystems. 272 ; Default: 273 ; debuglevel=info 274 ; Example: 275 ; debuglevel=debug,PEER=info 276 277 ; DEPRECATED: Use pprof.cpuprofile instead. Write CPU profile to the specified 278 ; file. 279 ; cpuprofile= 280 281 ; DEPRECATED: Use pprof.profile instead.Enable HTTP profiling on given port 282 ; -- NOTE port must be between 1024 and 65536. The profile can be access at: 283 ; http://localhost:<PORT>/debug/pprof/. You can also provide it as host:port to 284 ; enable profiling for remote debugging. For example 0.0.0.0:<PORT> to enable 285 ; profiling for all interfaces on the given port. 286 ; profile= 287 288 ; DEPRECATED: Use pprof.blockingprofile instead. Enable a blocking profile to be 289 ; obtained from the profiling port. A blocking profile can show where goroutines 290 ; are blocking (stuck on mutexes, I/O, etc). This takes a value from 0 to 1, 291 ; with 0 turning off the setting, and 1 sampling every blocking event (it's a 292 ; rate value). 293 ; blockingprofile=0 294 295 ; DEPRECATED: Use pprof.mutexprofile instead. Enable a mutex profile to be 296 ; obtained from the profiling port. A mutex profile can show where goroutines 297 ; are blocked on mutexes, and which mutexes have high contention. This takes a 298 ; value from 0 to 1, with 0 turning off the setting, and 1 sampling every mutex 299 ; event (it's a rate value). 300 ; mutexprofile=0 301 302 303 ; DEPRECATED: Allows the rpcserver to intentionally disconnect from peers with 304 ; open channels. THIS FLAG WILL BE REMOVED IN 0.10.0. 305 ; unsafe-disconnect=false 306 307 ; Causes a link to replay the adds on its commitment txn after starting up, this 308 ; enables testing of the sphinx replay logic. 309 ; unsafe-replay=false 310 311 ; The maximum number of incoming pending channels permitted per peer. 312 ; maxpendingchannels=1 313 314 ; The target location of the channel backup file. 315 ; Default: 316 ; backupfilepath=~/.lnd/data/chain/bitcoin/${network}/channel.backup 317 ; Example: 318 ; backupfilepath=~/.lnd/data/chain/bitcoin/mainnet/channel.backup 319 320 ; When false (default), old channel backups are archived to a designated location. 321 ; When true, old backups are simply replaced. 322 ; no-backup-archive=false 323 324 ; The maximum capacity of the block cache in bytes. Increasing this will result 325 ; in more blocks being kept in memory but will increase performance when the 326 ; same block is required multiple times. 327 ; The default value below is 20 MB (1024 * 1024 * 20) 328 ; blockcachesize=20971520 329 330 ; DEPRECATED: Use 'fee.url' option. Optional URL for external fee estimation. 331 ; If no URL is specified, the method for fee estimation will depend on the 332 ; chosen backend and network. Must be set for neutrino on mainnet. 333 ; Default: 334 ; feeurl= 335 ; Example: 336 ; feeurl=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json 337 338 ; If true, then automatic network bootstrapping will not be attempted. This 339 ; means that your node won't attempt to automatically seek out peers on the 340 ; network. 341 ; nobootstrap=false 342 343 ; If true, NO SEED WILL BE EXPOSED -- EVER, AND THE WALLET WILL BE ENCRYPTED 344 ; USING THE DEFAULT PASSPHRASE. THIS FLAG IS ONLY FOR TESTING AND SHOULD NEVER 345 ; BE USED ON MAINNET. 346 ; noseedbackup=false 347 348 ; The full path to a file (or pipe/device) that contains the password for 349 ; unlocking the wallet; if set, no unlocking through RPC is possible and lnd 350 ; will exit if no wallet exists or the password is incorrect; if 351 ; wallet-unlock-allow-create is also set then lnd will ignore this flag if no 352 ; wallet exists and allow a wallet to be created through RPC. 353 ; Default: 354 ; wallet-unlock-password-file= 355 ; Example: 356 ; wallet-unlock-password-file=/tmp/example.password 357 358 ; Don't fail with an error if wallet-unlock-password-file is set but no wallet 359 ; exists yet. Not recommended for auto-provisioned or high-security systems 360 ; because the wallet creation RPC is unauthenticated and an attacker could 361 ; inject a seed while lnd is in that state. 362 ; wallet-unlock-allow-create=false 363 364 ; Removes all transaction history from the on-chain wallet on startup, forcing a 365 ; full chain rescan starting at the wallet's birthday. Implements the same 366 ; functionality as btcwallet's dropwtxmgr command. Should be set to false after 367 ; successful execution to avoid rescanning on every restart of lnd. 368 ; reset-wallet-transactions=false 369 370 ; The smallest channel size (in satoshis) that we should accept. Incoming 371 ; channels smaller than this will be rejected. 372 ; minchansize=20000 373 374 ; The largest channel size (in satoshis) that we should accept. Incoming 375 ; channels larger than this will be rejected. For non-Wumbo channels this 376 ; limit remains 16777215 satoshis by default as specified in BOLT-0002. 377 ; For wumbo channels this limit is 1,000,000,000 satoshis (10 BTC). 378 ; Set this config option explicitly to restrict your maximum channel size 379 ; to better align with your risk tolerance 380 ; Default: 381 ; maxchansize=<see explanations above> 382 ; Example: 383 ; maxchansize=10000000 384 385 ; The target number of blocks in which a cooperative close initiated by a remote 386 ; peer should be confirmed. This target is used to estimate the starting fee 387 ; rate that will be used during fee negotiation with the peer. This target is 388 ; also used for cooperative closes initiated locally if the --conf_target for 389 ; the channel closure is not set. 390 ; coop-close-target-confs=6 391 392 ; The maximum time that is allowed to pass between receiving a channel state 393 ; update and signing the next commitment. Setting this to a longer duration 394 ; allows for more efficient channel operations at the cost of latency. This is 395 ; capped at 1 hour. 396 ; channel-commit-interval=50ms 397 398 ; The maximum time that is allowed to pass while waiting for the remote party 399 ; to revoke a locally initiated commitment state. Setting this to a longer 400 ; duration if a slow response is expected from the remote party or large 401 ; number of payments are attempted at the same time. 402 ; pending-commit-interval=1m 403 404 ; The maximum number of channel state updates that is accumulated before signing 405 ; a new commitment. 406 ; channel-commit-batch-size=10 407 408 ; Keeps persistent record of all failed payment attempts for successfully 409 ; settled payments. 410 ; keep-failed-payment-attempts=false 411 412 ; Persistently store the final resolution of incoming htlcs. 413 ; store-final-htlc-resolutions=false 414 415 ; The default max_htlc applied when opening or accepting channels. This value 416 ; limits the number of concurrent HTLCs that the remote party can add to the 417 ; commitment. The maximum possible value is 483. 418 ; default-remote-max-htlcs=483 419 420 ; The duration that a peer connection must be stable before attempting to send a 421 ; channel update to re-enable or cancel a pending disables of the peer's channels 422 ; on the network. 423 ; chan-enable-timeout=19m 424 425 ; The duration that must elapse after first detecting that an already active 426 ; channel is actually inactive and sending channel update disabling it to the 427 ; network. The pending disable can be canceled if the peer reconnects and becomes 428 ; stable for chan-enable-timeout before the disable update is sent. 429 ; chan-disable-timeout=20m 430 431 ; The polling interval between attempts to detect if an active channel has become 432 ; inactive due to its peer going offline. 433 ; chan-status-sample-interval=1m 434 435 ; Disable queries from the height-hint cache to try to recover channels stuck in 436 ; the pending close state. Disabling height hint queries may cause longer chain 437 ; rescans, resulting in a performance hit. Unset this after channels are unstuck 438 ; so you can get better performance again. 439 ; height-hint-cache-query-disable=false 440 441 ; The polling interval between historical graph sync attempts. Each historical 442 ; graph sync attempt ensures we reconcile with the remote peer's graph from the 443 ; genesis block. 444 ; historicalsyncinterval=1h 445 446 ; If true, will not reply with historical data that matches the range specified 447 ; by a remote peer's gossip_timestamp_filter. Doing so will result in lower 448 ; memory and bandwidth requirements. 449 ; ignore-historical-gossip-filters=false 450 451 ; If true, lnd will not accept channel opening requests with non-zero push 452 ; amounts. This should prevent accidental pushes to merchant nodes. 453 ; rejectpush=false 454 455 ; If true, lnd will not forward any HTLCs that are meant as onward payments. This 456 ; option will still allow lnd to send HTLCs and receive HTLCs but lnd won't be 457 ; used as a hop. 458 ; rejecthtlc=false 459 460 ; If true, all HTLCs will be held until they are handled by an interceptor 461 ; requireinterceptor=false 462 463 ; If true, lnd will also allow setting positive inbound fees. By default, lnd 464 ; only allows to set negative inbound fees (an inbound "discount") to remain 465 ; backwards compatible with senders whose implementations do not yet support 466 ; inbound fees. Therefore, you should ONLY set this setting if you know what you 467 ; are doing. [experimental] 468 ; accept-positive-inbound-fees=false 469 470 ; If true, will apply a randomized staggering between 0s and 30s when 471 ; reconnecting to persistent peers on startup. The first 10 reconnections will be 472 ; attempted instantly, regardless of the flag's value 473 ; stagger-initial-reconnect=false 474 475 ; The maximum number of blocks funds could be locked up for when forwarding 476 ; payments. 477 ; max-cltv-expiry=2016 478 479 ; The maximum percentage of total funds that can be allocated to a channel's 480 ; commitment fee. This only applies for the initiator of the channel. Valid 481 ; values are within [0.1, 1]. 482 ; max-channel-fee-allocation=0.5 483 484 ; The maximum fee rate in sat/vbyte that will be used for commitments of 485 ; channels of the anchors type. Must be large enough to ensure transaction 486 ; propagation 487 ; max-commit-fee-rate-anchors=10 488 489 ; DEPRECATED: This value will be deprecated please use the new setting 490 ; "channel-max-fee-exposure". This value is equivalent to the new fee exposure 491 ; limit but was removed because the name was ambigious. 492 ; dust-threshold= 493 494 ; This value replaces the old 'dust-threshold' setting and defines the maximum 495 ; amount of satoshis that a channel pays in fees in case the commitment 496 ; transaction is broadcasted. This is enforced in both directions either when 497 ; we are the channel intiator hence paying the fees but also applies to the 498 ; channel fee if we are NOT the channel initiator. It is 499 ; important to note that every HTLC adds fees to the channel state. Non-dust 500 ; HTLCs add just a new output onto the commitment transaction whereas dust 501 ; HTLCs are completely attributed the commitment fee. So this limit can also 502 ; influence adding new HTLCs onto the state. When the limit is reached we won't 503 ; allow any new HTLCs onto the channel state (outgoing and incoming). So 504 ; choosing a right limit here must be done with caution. Moreover this is a 505 ; limit for all channels universally meaning there is no difference made due to 506 ; the channel size. So it is recommended to use the default value. However if 507 ; you have a very small channel average size you might want to reduce this 508 ; value. 509 ; WARNING: Setting this value too low might cause force closes because the 510 ; lightning protocol has no way to roll back a channel state when your peer 511 ; proposes a channel update which exceeds this limit. There are only two options 512 ; to resolve this situation, either increasing the limit or one side force 513 ; closes the channel. 514 ; channel-max-fee-exposure=500000 515 516 ; If true, lnd will abort committing a migration if it would otherwise have been 517 ; successful. This leaves the database unmodified, and still compatible with the 518 ; previously active version of lnd. 519 ; dry-run-migration=false 520 521 ; If true, option upfront shutdown script will be enabled. If peers that we open 522 ; channels with support this feature, we will automatically set the script to 523 ; which cooperative closes should be paid out to on channel open. This offers the 524 ; partial protection of a channel peer disconnecting from us if cooperative 525 ; close is attempted with a different script. 526 ; enable-upfront-shutdown=false 527 528 ; If true, spontaneous payments through keysend will be accepted. 529 ; This is a temporary solution until AMP is implemented which is expected to be soon. 530 ; This option will then become deprecated in favor of AMP. 531 ; accept-keysend=false 532 533 ; If non-zero, keysend payments are accepted but not immediately settled. If the 534 ; payment isn't settled manually after the specified time, it is canceled 535 ; automatically. [experimental] 536 ; Default: 537 ; keysend-hold-time=0s 538 ; Example: 539 ; keysend-hold-time=2s 540 541 ; If true, spontaneous payments through AMP will be accepted. Payments to AMP 542 ; invoices will be accepted regardless of this setting. 543 ; accept-amp=false 544 545 ; If true, we'll attempt to garbage collect canceled invoices upon start. 546 ; gc-canceled-invoices-on-startup=false 547 548 ; If true, we'll delete newly canceled invoices on the fly. 549 ; gc-canceled-invoices-on-the-fly=false 550 551 ; If true, our node will allow htlc forwards that arrive and depart on the same 552 ; channel. 553 ; allow-circular-route=false 554 555 ; Time in milliseconds between each release of announcements to the network 556 ; trickledelay=90000 557 558 ; The number of peers that we should receive new graph updates from. This option 559 ; can be tuned to save bandwidth for light clients or routing nodes. 560 ; numgraphsyncpeers=3 561 562 ; The alias your node will use, which can be up to 32 UTF-8 characters in 563 ; length. 564 ; Default is the first 10-bytes of the node's pubkey. 565 ; 566 ; NOTE: If this is not set lnd will use the last known alias from the previous 567 ; run. 568 ; alias= 569 ; Example: 570 ; alias=My Lightning ☇ 571 572 ; The color of the node in hex format, used to customize node appearance in 573 ; intelligence services. 574 ; 575 ; NOTE: If this is not set or is set to the default (#3399FF) lnd will use the 576 ; last known color from the previous run. 577 ; color=#3399FF 578 579 ; The maximum duration that the server will wait before timing out reading 580 ; the headers of an HTTP request. 581 ; http-header-timeout=5s 582 583 ; The max number of incoming connections allowed in the server. Outbound 584 ; connections are not restricted. 585 ; num-restricted-slots=100 586 587 ; If true, a peer will *not* be disconnected if a pong is not received in time 588 ; or is mismatched. Defaults to false, meaning peers *will* be disconnected on 589 ; pong failure. 590 ; no-disconnect-on-pong-failure=false 591 592 ; The address to which funds will be paid out during a cooperative channel 593 ; close. This applies to all channels opened after this option is set, unless 594 ; overridden for a specific channel opening. 595 ; 596 ; Note: If this option is set, any channel opening will fail if the peer does 597 ; not explicitly advertise support for the upfront-shutdown feature bit. 598 ; upfront-shutdown-address= 599 600 601 [fee] 602 603 ; Optional URL for external fee estimation. If no URL is specified, the method 604 ; for fee estimation will depend on the chosen backend and network. Must be set 605 ; for neutrino on mainnet. 606 ; Default: 607 ; fee.url= 608 ; Example: 609 ; fee.url=https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json 610 611 ; The minimum interval in which fees will be updated from the specified fee URL. 612 ; fee.min-update-timeout=5m 613 614 ; The maximum interval in which fees will be updated from the specified fee URL. 615 ; fee.max-update-timeout=20m 616 617 618 [prometheus] 619 620 ; If true, lnd will start the Prometheus exporter. Prometheus flags are 621 ; behind a build/compile flag and are not available by default. lnd must be built 622 ; with the monitoring tag; `make && make install tags=monitoring` to activate them. 623 ; prometheus.enable=false 624 625 ; Specify the interface to listen on for Prometheus connections. 626 ; Default: 627 ; prometheus.listen=127.0.0.1:8989 628 ; Example: 629 ; prometheus.listen=0.0.0.0:8989 630 631 ; If true, then we'll export additional information that allows users to plot 632 ; the processing latency, and total time spent across each RPC calls+service. 633 ; This generates additional memory load for the Prometheus server, and will end 634 ; up using more disk space over time. 635 ; prometheus.perfhistograms=false 636 637 638 [Bitcoin] 639 640 ; DEPRECATED: If the Bitcoin chain should be active. This field is now ignored 641 ; since only the Bitcoin chain is supported. 642 ; bitcoin.active=false 643 644 ; The directory to store the chain's data within. 645 ; bitcoin.chaindir=~/.lnd/data/chain/bitcoin 646 647 ; Use Bitcoin's main network. 648 ; bitcoin.mainnet=false 649 650 ; Use Bitcoin's test network. 651 ; bitcoin.testnet=false 652 ; 653 ; Use Bitcoin's 4th version test network. 654 ; bitcoin.testnet4=false 655 ; 656 ; Use Bitcoin's simulation test network 657 ; bitcoin.simnet=false 658 659 ; Use Bitcoin's regression test network 660 ; bitcoin.regtest=false 661 662 ; Use Bitcoin's signet test network 663 ; bitcoin.signet=false 664 665 ; Connect to a custom signet network defined by this challenge instead of using 666 ; the global default signet test network -- Can be specified multiple times 667 ; bitcoin.signetchallenge= 668 669 ; Specify a seed node for the signet network instead of using the global default 670 ; signet network seed nodes 671 ; Default: 672 ; bitcoin.signetseednode= 673 ; Example: 674 ; bitcoin.signetseednode=123.45.67.89 675 676 ; Specify the chain back-end. Options are btcd, bitcoind and neutrino. 677 ; 678 ; NOTE: Please note that switching between a full back-end (btcd/bitcoind) and 679 ; a light back-end (neutrino) is not supported. 680 ; Default: 681 ; bitcoin.node=btcd 682 ; Example: 683 ; bitcoin.node=bitcoind 684 ; bitcoin.node=neutrino 685 686 ; The default number of confirmations a channel must have before it's considered 687 ; open. We'll require any incoming channel requests to wait this many 688 ; confirmations before we consider the channel active. If this is not set, we 689 ; will scale the value linear to the channel size between 3 and 6. 690 ; The maximmum value of 6 confs is applied to all channels larger than 691 ; wumbo size (16777215 sats). The minimum value of 3 is applied to all channels 692 ; smaller than 8388607 sats (16777215 * 3 / 6). 693 ; Default: 694 ; bitcoin.defaultchanconfs=[3; 6] 695 ; Example: 696 ; bitcoin.defaultchanconfs=3 697 698 ; The default number of blocks we will require our channel counterparty to wait 699 ; before accessing its funds in case of unilateral close. If this is not set, we 700 ; will scale the value linear to the channel size between 144 and 2016. 701 ; The maximum value of 2016 blocks is applied to all channels larger than 702 ; wumbo size (16777215). The minimum value of 144 is applied to all channels 703 ; smaller than 1198372 sats (16777215 * 144 / 2016). 704 ; Default: 705 ; bitcoin.defaultremotedelay=[144; 2016] 706 ; Example: 707 ; bitcoin.defaultremotedelay=144 708 709 ; The maximum number of blocks we will limit the wait that our own funds are 710 ; encumbered by in the case when our node unilaterally closes. If a remote peer 711 ; proposes a channel with a delay above this amount, lnd will reject the 712 ; channel. 713 ; bitcoin.maxlocaldelay=2016 714 715 ; The smallest HTLC we are willing to accept on our channels, in millisatoshi. 716 ; bitcoin.minhtlc=1 717 718 ; The smallest HTLC we are willing to send out on our channels, in millisatoshi. 719 ; bitcoin.minhtlcout=1000 720 721 ; The base fee in millisatoshi we will charge for forwarding payments on our 722 ; channels. 723 ; bitcoin.basefee=1000 724 725 ; The fee rate used when forwarding payments on our channels. The total fee 726 ; charged is basefee + (amount * feerate / 1000000), where amount is the 727 ; forwarded amount. 728 ; bitcoin.feerate=1 729 730 ; The CLTV delta we will subtract from a forwarded HTLC's timelock value. 731 ; bitcoin.timelockdelta=80 732 733 ; The seed DNS server(s) to use for initial peer discovery. Must be specified as 734 ; a '<primary_dns>[,<soa_primary_dns>]' tuple where the SOA address is needed 735 ; for DNS resolution through Tor but is optional for clearnet users. Multiple 736 ; tuples can be specified, will overwrite the default seed servers. 737 ; The default seed servers are: 738 ; Default: 739 ; mainnet: 740 ; bitcoin.dnsseed=nodes.lightning.directory,soa.nodes.lightning.directory 741 ; bitcoin.dnsseed=lseed.bitcoinstats.com 742 ; testnet: 743 ; bitcoin.dnsseed=test.nodes.lightning.directory,soa.nodes.lightning.directory 744 ; 745 ; Example for custom DNS servers: 746 ; bitcoin.dnsseed=seed1.test.lightning 747 ; bitcoin.dnsseed=seed2.test.lightning,soa.seed2.test.lightning 748 749 750 [Btcd] 751 752 ; The base directory that contains the node's data, logs, configuration file, 753 ; etc. 754 ; btcd.dir=~/.btcd 755 756 ; The host that your local btcd daemon is listening on. By default, this 757 ; setting is assumed to be localhost with the default port for the current 758 ; network. 759 ; btcd.rpchost=localhost 760 761 ; Username for RPC connections to btcd. By default, lnd will attempt to 762 ; automatically obtain the credentials, so this likely won't need to be set 763 ; (other than for simnet mode). 764 ; Default: 765 ; btcd.rpcuser= 766 ; Example: 767 ; btcd.rpcuser=kek 768 769 ; Password for RPC connections to btcd. By default, lnd will attempt to 770 ; automatically obtain the credentials, so this likely won't need to be set 771 ; (other than for simnet mode). 772 ; Default: 773 ; btcd.rpcpass= 774 ; Example: 775 ; btcd.rpcpass=kek 776 777 ; File containing the daemon's certificate file. This only needs to be set if 778 ; the node isn't on the same host as lnd. 779 ; btcd.rpccert=~/.btcd/rpc.cert 780 781 ; The raw bytes of the daemon's PEM-encoded certificate chain which will be used 782 ; to authenticate the RPC connection. This only needs to be set if the btcd 783 ; node is on a remote host. 784 ; btcd.rawrpccert= 785 786 787 [Bitcoind] 788 789 ; The base directory that contains the node's data, logs, configuration file, 790 ; etc. 791 ; bitcoind.dir=~/.bitcoin 792 793 ; Configuration filepath. 794 ; Default: 795 ; bitcoind.config= 796 ; Example: 797 ; bitcoind.config=~/.bitcoin/bitcoin.conf 798 799 ; Authentication cookie file for RPC connections. 800 ; Default: 801 ; bitcoind.rpccookie= 802 ; Example: 803 ; bitcoind.rpccookie=~/.bitcoin/.cookie 804 805 ; The host that your local bitcoind daemon is listening on. By default, this 806 ; setting is assumed to be localhost with the default port for the current 807 ; network. 808 ; bitcoind.rpchost=localhost 809 810 ; Username for RPC connections to bitcoind. By default, lnd will attempt to 811 ; automatically obtain the credentials, so this likely won't need to be set 812 ; (other than for a remote bitcoind instance). 813 ; Default: 814 ; bitcoind.rpcuser= 815 ; Example: 816 ; bitcoind.rpcuser=kek 817 818 ; Password for RPC connections to bitcoind. By default, lnd will attempt to 819 ; automatically obtain the credentials, so this likely won't need to be set 820 ; (other than for a remote bitcoind instance). 821 ; Default: 822 ; bitcoind.rpcpass= 823 ; Example: 824 ; bitcoind.rpcpass=kek 825 826 ; ZMQ socket which sends rawblock and rawtx notifications from bitcoind. By 827 ; default, lnd will attempt to automatically obtain this information, so this 828 ; likely won't need to be set (other than for a remote bitcoind instance). 829 ; Default: 830 ; bitcoind.zmqpubrawblock= 831 ; Example: 832 ; bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 833 834 ; Default: 835 ; bitcoind.zmqpubrawtx= 836 ; Example: 837 ; bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 838 839 ; Default: 840 ; bitcoind.zmqreaddeadline=5s 841 842 ; Use bitcoind's rpc interface to get block and transaction notifications 843 ; instead of using the zmq interface. Only the rpcpolling option needs to 844 ; be set in order to enable this, the rest of the options can be used to 845 ; change the default values used for this configuration. 846 ; bitcoind.rpcpolling=false 847 848 ; Default: 849 ; bitcoind.blockpollinginterval=0s 850 ; Example: 851 ; bitcoind.blockpollinginterval=1m 852 853 ; Default: 854 ; bitcoind.txpollinginterval=0s 855 ; Example: 856 ; bitcoind.txpollinginterval=30s 857 858 ; Fee estimate mode for bitcoind. It must be either "ECONOMICAL" or "CONSERVATIVE". 859 ; If unset, the default value is "CONSERVATIVE". 860 ; bitcoind.estimatemode=CONSERVATIVE 861 862 ; The maximum number of peers lnd will choose from the backend node to retrieve 863 ; pruned blocks from. This only applies to pruned nodes. 864 ; bitcoind.pruned-node-max-peers=4 865 866 867 [neutrino] 868 869 ; Connect only to the specified peers at startup. This creates a persistent 870 ; connection to a target peer. This is recommended as there aren't many 871 ; neutrino compliant full nodes on the test network yet. 872 ; neutrino.connect= 873 874 ; Max number of inbound and outbound peers. 875 ; neutrino.maxpeers=8 876 877 ; Add a peer to connect with at startup. 878 ; neutrino.addpeer= 879 880 ; How long to ban misbehaving peers. Valid time units are {s, m, h}. Minimum 1 881 ; second. 882 ; 883 ; NOTE: This value is currently unused. 884 ; neutrino.banduration= 885 886 ; Maximum allowed ban score before disconnecting and banning misbehaving peers. 887 ; 888 ; NOTE: This value is currently unused. 889 ; neutrino.banthreshold= 890 891 ; Optional filter header in height:hash format to assert the state of neutrino's 892 ; filter header chain on startup. If the assertion does not hold, then the 893 ; filter header chain will be re-synced from the genesis block. 894 ; neutrino.assertfilterheader= 895 896 ; Used to help identify ourselves to other bitcoin peers. 897 ; neutrino.useragentname=neutrino 898 899 ; Used to help identify ourselves to other bitcoin peers. 900 ; neutrino.useragentversion=0.12.0-beta 901 902 ; The amount of time to wait before giving up on a transaction broadcast attempt. 903 ; Default: 904 ; neutrino.broadcasttimeout=0s 905 ; Example: 906 ; neutrino.broadcasttimeout=5s 907 908 ; Whether compact filters fetched from the P2P network should be persisted to disk. 909 ; neutrino.persistfilters=false 910 911 ; Validate every channel in the graph during sync by downloading the containing 912 ; block. This is the inverse of routing.assumechanvalid, meaning that for 913 ; Neutrino the validation is turned off by default for massively increased graph 914 ; sync performance. This speedup comes at the risk of using an unvalidated view 915 ; of the network for routing. Overwrites the value of routing.assumechanvalid if 916 ; Neutrino is used. 917 ; neutrino.validatechannels=false 918 919 [autopilot] 920 921 ; If the autopilot agent should be active or not. The autopilot agent will 922 ; attempt to automatically open up channels to put your node in an advantageous 923 ; position within the network graph. 924 ; autopilot.active=false 925 926 ; The maximum number of channels that should be created. 927 ; autopilot.maxchannels=5 928 929 ; The fraction of total funds that should be committed to automatic channel 930 ; establishment. For example 0.6 means that 60% of the total funds available 931 ; within the wallet should be used to automatically establish channels. The total 932 ; amount of attempted channels will still respect the maxchannels param. 933 ; autopilot.allocation=0.6 934 935 ; Heuristic to activate, and the weight to give it during scoring. 936 ; Default: 937 ; autopilot.heuristic={top_centrality:1} 938 ; Example: 939 ; autopilot.heuristic={preferential:1} 940 941 ; The smallest channel that the autopilot agent should create 942 ; autopilot.minchansize=20000 943 944 ; The largest channel that the autopilot agent should create 945 ; autopilot.maxchansize=16777215 946 947 ; Whether the channels created by the autopilot agent should be private or not. 948 ; Private channels won't be announced to the network. 949 ; autopilot.private=false 950 951 ; The minimum number of confirmations each of your inputs in funding transactions 952 ; created by the autopilot agent must have. 953 ; autopilot.minconfs=1 954 955 ; The confirmation target (in blocks) for channels opened by autopilot. 956 ; autopilot.conftarget=3 957 958 959 [tor] 960 961 ; Allow outbound and inbound connections to be routed through Tor. 962 ; tor.active=false 963 964 ; Allow the node to connect to non-onion services directly via clearnet. This 965 ; allows the node operator to use direct connections to peers not running behind 966 ; Tor, thus allowing lower latency and better connection stability. 967 ; WARNING: This option will reveal the source IP address of the node, and should 968 ; be used only if privacy is not a concern. 969 ; tor.skip-proxy-for-clearnet-targets=false 970 971 ; The port that Tor's exposed SOCKS5 proxy is listening on. Using Tor allows 972 ; outbound-only connections (listening will be disabled) -- NOTE port must be 973 ; between 1024 and 65535. 974 ; Default: 975 ; tor.socks=localhost:9050 976 ; Example: 977 ; tor.socks=9050 978 979 ; The DNS server as IP:PORT that Tor will use for SRV queries - NOTE must have 980 ; TCP resolution enabled. The current active DNS server for Testnet listening is 981 ; nodes.lightning.directory. 982 ; Default: 983 ; tor.dns=soa.nodes.lightning.directory:53 984 ; Example: 985 ; tor.dns=nodes.lightning.directory 986 987 ; Enable Tor stream isolation by randomizing user credentials for each 988 ; connection. With this mode active, each connection will use a new circuit. 989 ; This means that multiple applications (other than lnd) using Tor won't be mixed 990 ; in with lnd's traffic. 991 ; 992 ; This option may not be used while direct connections are enabled, since direct 993 ; connections compromise source IP privacy by default. 994 ; tor.streamisolation=false 995 996 ; The host:port that Tor is listening on for Tor control connections. 997 ; tor.control=localhost:9051 998 999 ; IP address that Tor should use as the target of the hidden service. 1000 ; tor.targetipaddress= 1001 1002 ; The password used to arrive at the HashedControlPassword for the control port. 1003 ; If provided, the HASHEDPASSWORD authentication method will be used instead of 1004 ; the SAFECOOKIE one. 1005 ; Default: 1006 ; tor.password= 1007 ; Example: 1008 ; tor.password=plsdonthackme 1009 1010 ; Automatically set up a v2 onion service to listen for inbound connections. 1011 ; tor.v2=false 1012 1013 ; Automatically set up a v3 onion service to listen for inbound connections. 1014 ; tor.v3=false 1015 1016 ; The path to the private key of the onion service being created. 1017 ; Default: 1018 ; tor.privatekeypath= 1019 ; Example: 1020 ; tor.privatekeypath=/path/to/torkey 1021 1022 ; The path to the private key of the watchtower onion service being created. 1023 ; Default: 1024 ; tor.watchtowerkeypath= 1025 ; Example: 1026 ; tor.watchtowerkeypath=/other/path/ 1027 1028 ; Instructs lnd to encrypt the private key using the wallet's seed. 1029 ; tor.encryptkey=false 1030 1031 [logging] 1032 1033 ; Whether to exclude the current build's commit hash from log lines. Note that 1034 ; the commit hash will not currently show up in all LND log lines as this new 1035 ; feature will take a few versions to propagate through the codebase. 1036 ; logging.no-commit-hash=false 1037 1038 ; Disable logging to stdout and stderror. 1039 ; logging.console.disable=false 1040 1041 ; Don't add timestamps to logs written to stdout and stderr. 1042 ; logging.console.no-timestamps=false 1043 1044 ; Include the log call-site in the log line written to stdout 1045 ; and stderr. Options include 'off', 'short' and 'long'. 1046 ; Default: 1047 ; logging.console.call-site=off 1048 ; Example: 1049 ; logging.console.call-site=short 1050 1051 ; Disable logging to the standard LND log file. 1052 ; logging.file.disable=false 1053 1054 ; Number of log files that the log rotation should keep. Setting 1055 ; it to 0 disables deletion of old log files. 1056 ; logging.file.max-files=10 1057 1058 ; Max log file size in MB before it is rotated. 1059 ; logging.file.max-file-size=20 1060 1061 ; Compression algorithm to use when rotating logs. 1062 ; Default: 1063 ; logging.file.compressor=gzip 1064 ; Example: 1065 ; logging.file.compressor=zstd 1066 1067 ; Don't add timestamps to logs written to the standard LND log file. 1068 ; logging.file.no-timestamps=false 1069 1070 ; Include the log call-site in the log line written the standard LND 1071 ; log file. Options include 'off', 'short' and 'long'. 1072 ; Default: 1073 ; logging.file.call-site=off 1074 ; Example: 1075 ; logging.file.call-site=short 1076 1077 [watchtower] 1078 1079 ; Enable integrated watchtower listening on :9911 by default. 1080 ; watchtower.active=false 1081 1082 ; Specify the interfaces to listen on for watchtower client connections. One 1083 ; listen address per line. If no port is specified the default port of 9911 will 1084 ; be added implicitly. 1085 ; Default: 1086 ; watchtower.listen= 1087 ; Example (option can be specified multiple times): 1088 ; All ipv4 on port 9911: 1089 ; watchtower.listen=0.0.0.0:9911 1090 ; On all ipv4 interfaces on port 9911 and ipv6 localhost port 9912: 1091 ; watchtower.listen=0.0.0.0:9911 1092 ; watchtower.listen=[::1]:9912 1093 1094 ; Configure the external IP address of your watchtower. Setting this field does 1095 ; not have any behavioral changes to the tower or enable any sort of discovery, 1096 ; however it will make the full URI (pubkey@host:port) available via 1097 ; WatchtowerRPC.GetInfo and `lncli tower info`. 1098 ; Default: 1099 ; watchtower.externalip= 1100 ; Example: 1101 ; watchtower.externalip=1.2.3.4 1102 1103 ; Configure the default watchtower data directory. The default directory is 1104 ; data/watchtower relative to the chosen lnddir. This can be useful if one needs 1105 ; to move the database to a separate volume with more storage. 1106 ; Default: 1107 ; watchtower.towerdir=~/.lnd/data/watchtower 1108 ; Example: 1109 ; watchtower.towerdir=/path/to/towerdir 1110 1111 ; In this example, the database will be stored at: 1112 ; /path/to/towerdir/bitcoin/<network>/watchtower.db 1113 1114 ; Duration the watchtower server will wait for messages to be received before 1115 ; hanging up on client connections. 1116 ; watchtower.readtimeout=15s 1117 1118 ; Duration the watchtower server will wait for messages to be written before 1119 ; hanging up on client connections 1120 ; watchtower.writetimeout=15s 1121 1122 1123 [wtclient] 1124 1125 ; Activate Watchtower Client. To get more information or configure watchtowers 1126 ; run `lncli wtclient -h`. 1127 ; wtclient.active=false 1128 1129 ; Specify the fee rate with which justice transactions will be signed. This fee 1130 ; rate should be chosen as a maximum fee rate one is willing to pay in order to 1131 ; sweep funds if a breach occurs while being offline. The fee rate should be 1132 ; specified in sat/vbyte. 1133 ; wtclient.sweep-fee-rate=10 1134 1135 ; The range over which to choose a random number of blocks to wait after the 1136 ; last channel of a session is closed before sending the DeleteSession message 1137 ; to the tower server. Note that setting this to a lower value will result in 1138 ; faster session cleanup _but_ that this comes along with reduced privacy from 1139 ; the tower server. 1140 ; wtclient.session-close-range=288 1141 1142 ; The maximum number of updates to include in a tower session. 1143 ; wtclient.max-updates=1024 1144 1145 ; The maximum number of back-up tasks that should be queued in memory before 1146 ; overflowing to disk. 1147 ; wtclient.max-tasks-in-mem-queue=2000 1148 1149 1150 [healthcheck] 1151 1152 ; The number of times we should attempt to query our chain backend before 1153 ; gracefully shutting down. Set this value to 0 to disable this health check. 1154 ; healthcheck.chainbackend.attempts=3 1155 1156 ; The amount of time we allow a call to our chain backend to take before we fail 1157 ; the attempt. This value must be >= 1s. 1158 ; healthcheck.chainbackend.timeout=30s 1159 1160 ; The amount of time we should backoff between failed attempts to query chain 1161 ; backend. This value must be >= 1s. 1162 ; healthcheck.chainbackend.backoff=2m 1163 1164 ; The amount of time we should wait between chain backend health checks. This 1165 ; value must be >= 1m. 1166 ; healthcheck.chainbackend.interval=1m 1167 1168 ; The minimum ratio of free disk space to total capacity that we require. 1169 ; healthcheck.diskspace.diskrequired=0.1 1170 1171 ; The number of times we should attempt to query our available disk space before 1172 ; gracefully shutting down. Set this value to 0 to disable this health check. 1173 ; Default: 1174 ; healthcheck.diskspace.attempts=0 1175 ; Example: 1176 ; healthcheck.diskspace.attempts=2 1177 1178 ; The amount of time we allow a query for our available disk space to take 1179 ; before we fail the attempt. This value must be >= 1s. 1180 ; healthcheck.diskspace.timeout=5s 1181 1182 ; The amount of time we should backoff between failed attempts to query 1183 ; available disk space. This value must be >= 1s. 1184 ; healthcheck.diskspace.backoff=1m 1185 1186 ; The amount of time we should wait between disk space health checks. This 1187 ; value must be >= 1m. 1188 ; healthcheck.diskspace.interval=12h 1189 1190 ; The number of times we should attempt to check for certificate expiration before 1191 ; gracefully shutting down. Set this value to 0 to disable this health check. 1192 ; Default: 1193 ; healthcheck.tls.attempts= 1194 ; Example: 1195 ; healthcheck.tls.attempts=2 1196 1197 ; The amount of time we allow a query for certificate expiration to take 1198 ; before we fail the attempt. This value must be >= 1s. 1199 ; healthcheck.tls.timeout=5s 1200 1201 ; The amount of time we should backoff between failed attempts to query 1202 ; certificate expiration. This value must be >= 1s. 1203 ; healthcheck.tls.backoff=1m 1204 1205 ; The amount of time we should wait between certificate expiration health checks. 1206 ; This value must be >= 1m. 1207 ; healthcheck.tls.interval=1m 1208 1209 ; The number of times we should attempt to check our tor connection before 1210 ; gracefully shutting down. Set this value to 0 to disable this health check. 1211 ; Default: 1212 ; healthcheck.torconnection.attempts= 1213 ; Example: 1214 ; healthcheck.torconnection.attempts=3 1215 1216 ; The amount of time we allow a call to our tor connection to take before we 1217 ; fail the attempt. This value must be >= 1s. 1218 ; Default: 1219 ; healthcheck.torconnection.timeout=5s 1220 1221 ; The amount of time we should backoff between failed attempts to check tor 1222 ; connection. This value must be >= 1s. 1223 ; healthcheck.torconnection.backoff=1m 1224 1225 ; The amount of time we should wait between tor connection health checks. This 1226 ; value must be >= 1m. 1227 ; healthcheck.torconnection.interval=1m 1228 1229 ; The number of times we should attempt to check our remote signer RPC 1230 ; connection before gracefully shutting down. Set this value to 0 to disable 1231 ; this health check. 1232 ; healthcheck.remotesigner.attempts=1 1233 1234 ; The amount of time we allow a call to our remote signer RPC connection to take 1235 ; before we fail the attempt. This value must be >= 1s. 1236 ; healthcheck.remotesigner.timeout=1s 1237 1238 ; The amount of time we should backoff between failed attempts to check remote 1239 ; signer RPC connection. This value must be >= 1s. 1240 ; healthcheck.remotesigner.backoff=30s 1241 1242 ; The amount of time we should wait between remote signer RPC connection health 1243 ; checks. This value must be >= 1m. 1244 ; healthcheck.remotesigner.interval=1m 1245 1246 ; The number of times we should attempt to check the node's leader status 1247 ; before gracefully shutting down. Set this value to 0 to disable this health 1248 ; check. 1249 ; healthcheck.leader.attempts=1 1250 1251 ; The amount of time after the leader check times out due to unanswered RPC. 1252 ; This value must be >= 1s. 1253 ; healthcheck.leader.timeout=5s 1254 1255 ; The amount of time we should backoff between failed attempts of leader checks. 1256 ; This value must be >= 1s. 1257 ; healthcheck.leader.backoff=5s 1258 1259 ; The amount of time we should wait between leader checks. 1260 ; This value must be >= 1m. 1261 ; healthcheck.leader.interval=1m 1262 1263 1264 1265 [signrpc] 1266 1267 ; Path to the signer macaroon. 1268 ; Default: 1269 ; signrpc.signermacaroonpath=~/.lnd/data/chain/bitcoin/${network}/signer.macaroon 1270 ; Example: 1271 ; signrpc.signermacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/signer.macaroon 1272 1273 1274 [walletrpc] 1275 1276 ; Path to the wallet kit macaroon. 1277 ; Default: 1278 ; walletrpc.walletkitmacaroonpath=~/.lnd/data/chain/bitcoin/${network}/walletkit.macaroon 1279 ; Example: 1280 ; walletrpc.walletkitmacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/walletkit.macaroon 1281 1282 1283 [chainrpc] 1284 1285 ; Path to the chain notifier macaroon. 1286 ; Default: 1287 ; chainrpc.notifiermacaroonpath=~/.lnd/data/chain/bitcoin/${network}/chainnotifier.macaroon 1288 ; Example: 1289 ; chainrpc.notifiermacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/chainnotifier.macaroon 1290 1291 1292 [routerrpc] 1293 1294 ; Probability estimator used for pathfinding. Two estimators are available: 1295 ; apriori and bimodal. 1296 ; Note that the bimodal estimator is experimental. 1297 ; Default: 1298 ; routerrpc.estimator=apriori 1299 ; Example: 1300 ; routerrpc.estimator=bimodal 1301 1302 ; Minimum required route success probability to attempt the payment. 1303 ; routerrpc.minrtprob=0.01 1304 1305 ; The maximum number of payment results that are held on disk by mission control. 1306 ; routerrpc.maxmchistory=1000 1307 1308 ; The time interval with which the MC store state is flushed to the database. 1309 ; routerrpc.mcflushinterval=1s 1310 1311 ; Path to the router macaroon. 1312 ; Default: 1313 ; routerrpc.routermacaroonpath=~/.lnd/data/chain/bitcoin/${network}/router.macaroon 1314 ; Example: 1315 ; routerrpc.routermacaroonpath=~/.lnd/data/chain/bitcoin/mainnet/router.macaroon 1316 1317 ; The (virtual) fixed cost in sats of a failed payment attempt . 1318 ; routerrpc.attemptcost=100 1319 1320 ; The (virtual) proportional cost in ppm of the total amount of a failed payment 1321 ; attempt. 1322 ; routerrpc.attemptcostppm=1000 1323 1324 ; Assumed success probability of a hop in a route when no other information is 1325 ; available. 1326 ; routerrpc.apriori.hopprob=0.6 1327 1328 ; Weight of the a priori probability in success probability estimation. Valid 1329 ; values are in [0, 1]. 1330 ; routerrpc.apriori.weight=0.5 1331 1332 ; Defines the duration after which a penalized node or channel is back at 50% 1333 ; probability. 1334 ; routerrpc.apriori.penaltyhalflife=1h 1335 1336 ; Defines the fraction of channels' capacities that is considered liquid in 1337 ; pathfinding, a value between [0.75-1.0]. A value of 1.0 disables this 1338 ; feature. 1339 ; routerrpc.apriori.capacityfraction=0.9999 1340 1341 ; Describes the scale over which channels still have some liquidity left on 1342 ; both channel ends. A very low value (compared to typical channel capacities) 1343 ; means that we assume unbalanced channels, a very high value means randomly 1344 ; balanced channels. Value in msat. 1345 ; routerrpc.bimodal.scale=300000000 1346 1347 ; Defines how strongly non-routed channels of forwarders should be taken into 1348 ; account for probability estimation. A weight of zero disables this feature. 1349 ; Valid values are in [0, 1]. 1350 ; routerrpc.bimodal.nodeweight=0.2 1351 1352 ; Defines the information decay of knowledge about previous successes and 1353 ; failures in channels. 1354 ; routerrpc.bimodal.decaytime=168h 1355 1356 ; If set, the router will send `Payment_INITIATED` for new payments, otherwise 1357 ; `Payment_In_FLIGHT` will be sent for compatibility concerns. 1358 ; routerrpc.usestatusinitiated=false 1359 1360 ; Defines the maximum duration that the probing fee estimation is allowed to 1361 ; take. 1362 ; routerrpc.fee-estimation-timeout=1m 1363 1364 [workers] 1365 1366 ; Maximum number of concurrent read pool workers. This number should be 1367 ; proportional to the number of peers. 1368 ; workers.read=100 1369 1370 ; Maximum number of concurrent write pool workers. This number should be 1371 ; proportional to the number of CPUs on the host. 1372 ; workers.write=8 1373 1374 ; Maximum number of concurrent sig pool workers. This number should be 1375 ; proportional to the number of CPUs on the host. 1376 ; workers.sig=8 1377 1378 1379 [caches] 1380 1381 ; Maximum number of entries contained in the reject cache, which is used to speed 1382 ; up filtering of new channel announcements and channel updates from peers. Each 1383 ; entry requires 25 bytes. 1384 ; caches.reject-cache-size=50000 1385 1386 ; Maximum number of entries contained in the channel cache, which is used to 1387 ; reduce memory allocations from gossip queries from peers. Each entry requires 1388 ; roughly 2Kb. 1389 ; caches.channel-cache-size=20000 1390 1391 ; The duration that the response to DescribeGraph should be cached for. Setting 1392 ; the value to zero disables the cache. 1393 ; Default: 1394 ; caches.rpc-graph-cache-duration= 1395 ; Example: 1396 ; caches.rpc-graph-cache-duration=10m 1397 1398 1399 [protocol] 1400 1401 ; If set, then lnd will create and accept requests for channels larger than 0.16 1402 ; BTC 1403 ; protocol.wumbo-channels=false 1404 1405 ; Set to disable support for anchor commitments. If not set, lnd will use anchor 1406 ; channels by default if the remote channel party supports them. Note that lnd 1407 ; will require 1 UTXO to be reserved for this channel type if it is enabled. 1408 ; (Deprecates the previous "protocol.anchors" setting.) 1409 ; protocol.no-anchors=false 1410 1411 ; Set to disable support for script enforced lease channel commitments. If not 1412 ; set, lnd will accept these channels by default if the remote channel party 1413 ; proposes them. Note that lnd will require 1 UTXO to be reserved for this 1414 ; channel type if it is enabled. 1415 ; protocol.no-script-enforced-lease=false 1416 1417 ; Set to enable support for option_scid_alias channels, which can be referred 1418 ; to by an alias instead of the confirmed ShortChannelID. Additionally, is 1419 ; needed to open zero-conf channels. 1420 ; protocol.option-scid-alias=false 1421 1422 ; Set to enable support for zero-conf channels. This requires the 1423 ; option-scid-alias flag to also be set. 1424 ; protocol.zero-conf=false 1425 1426 ; Set to disable support for using P2TR addresses (and beyond) for co-op 1427 ; closing. 1428 ; protocol.no-any-segwit=false 1429 1430 ; Set to disable querying our peers for the timestamps of announcement 1431 ; messages and to disable responding to such queries 1432 ; protocol.no-timestamp-query-option=false 1433 1434 ; Set to enable support for the experimental taproot channel type. 1435 ; protocol.simple-taproot-chans=false 1436 1437 ; Set to enable support for the experimental taproot overlay channel type. 1438 ; protocol.simple-taproot-overlay-chans=false 1439 1440 ; Set to disable blinded route forwarding. 1441 ; protocol.no-route-blinding=false 1442 1443 ; Set to disable experimental accountability signaling. 1444 ; protocol.no-experimental-accountability=false 1445 1446 ; DEPRECATED: Use protocol.no-experimental-accountability instead. 1447 ; Set to disable experimental endorsement signaling. 1448 ; protocol.no-experimental-endorsement=false 1449 1450 ; Set to enable support for RBF based coop close. 1451 ; protocol.rbf-coop-close=false 1452 1453 ; set to disable onion message support. 1454 ; protocol.no-onion-messages=false 1455 1456 ; Set to handle messages of a particular type that falls outside of the 1457 ; custom message number range (i.e. 513 is onion messages). Note that you can 1458 ; set this option as many times as you want to support more than one custom 1459 ; message type. 1460 ; Default: 1461 ; protocol.custom-message= 1462 ; Example: 1463 ; protocol.custom-message=513 1464 1465 ; Specifies feature bits — numbers defined in BOLT 9 — to advertise in the 1466 ; node's init message. Note that you can set this option as many times as you 1467 ; want to support more than one feature bit. 1468 ; Default: 1469 ; protocol.custom-init= 1470 ; Example: 1471 ; protocol.custom-init=39 1472 1473 ; Specifies custom feature bits — numbers defined in BOLT 9 — to advertise in 1474 ; the node's announcement message. Note that you can set this option as many 1475 ; times as you want to support more than one feature bit. 1476 ; Default: 1477 ; protocol.custom-nodeann= 1478 ; Example: 1479 ; protocol.custom-nodeann=39 1480 1481 ; Specifies custom feature bits — numbers defined in BOLT 9 — to advertise in 1482 ; the node's invoices. Note that you can set this option as many times as you 1483 ; want to support more than one feature bit. 1484 ; Default: 1485 ; protocol.custom-invoice= 1486 ; Example: 1487 ; protocol.custom-invoice=39 1488 1489 [db] 1490 1491 ; The selected database backend. The current default backend is "bolt". lnd 1492 ; also has experimental support for etcd, a replicated backend, postgres and 1493 ; sqlite. 1494 ; db.backend=bolt 1495 1496 ; The maximum interval the graph database will wait between attempting to flush 1497 ; a batch of modifications to disk. 1498 ; db.batch-commit-interval=500ms 1499 1500 ; Don't use the in-memory graph cache for path finding. Much slower but uses 1501 ; less RAM. Can only be used with a bolt database backend. 1502 ; db.no-graph-cache=false 1503 1504 ; Specify whether the optional migration for pruning old revocation logs 1505 ; should be applied. This migration will only save disk space if there are open 1506 ; channels prior to lnd@v0.15.0. 1507 ; db.prune-revocation=false 1508 1509 ; Specify whether the optional migration for garbage collecting the decayed 1510 ; sphinx logs should be applied. By default, the decayed log will be garbage 1511 ; collected. 1512 ; db.no-gc-decayed-log=false 1513 1514 ; If set to true, then the to-local and to-remote output amount data of revoked 1515 ; commitment transactions will not be stored in the revocation log. Note that 1516 ; this flag can only be set if --wtclient.active is not set. It is not 1517 ; recommended to set this flag if you plan on ever setting wtclient.active in 1518 ; the future. 1519 ; db.no-rev-log-amt-data=false 1520 1521 ; If set to true, native SQL will be used instead of KV emulation for tables 1522 ; that support it. 1523 ; Subsystems which support native SQL tables: 1524 ; - Invoices 1525 ; - Graph 1526 ; db.use-native-sql=false 1527 1528 ; If set to true, the KV to native SQL migration will be skipped. Note that 1529 ; this option is intended for users who experience non-resolvable migration 1530 ; errors. Enabling after there is a non-resolvable migration error that resulted 1531 ; in an incomplete migration will cause that partial migration to be abandoned 1532 ; and ignored and an empty database will be used instead. Since invoices are 1533 ; currently the only native SQL database used, our channels will still work but 1534 ; the invoice history will be forgotten. This option has no effect if native SQL 1535 ; is not in use (db.use-native-sql=false). 1536 ; db.skip-native-sql-migration=false 1537 1538 [etcd] 1539 1540 ; Etcd database host. Supports multiple hosts separated by a comma. 1541 ; Default: 1542 ; db.etcd.host= 1543 ; Example: 1544 ; db.etcd.host=localhost:2379 1545 1546 ; Etcd database user. 1547 ; Default: 1548 ; db.etcd.user= 1549 ; Example: 1550 ; db.etcd.user=userscopedforlnd 1551 1552 ; Password for the database user. 1553 ; Default: 1554 ; db.etcd.pass= 1555 ; Example: 1556 ; db.etcd.pass=longandsekrit 1557 1558 ; Etcd namespace to use. 1559 ; Default: 1560 ; db.etcd.namespace= 1561 ; Example: 1562 ; db.etcd.namespace=lnd 1563 1564 ; Whether to disable the use of TLS for etcd. 1565 ; db.etcd.disabletls=false 1566 1567 ; Path to the TLS certificate for etcd RPC. 1568 ; Default: 1569 ; db.etcd.cert_file= 1570 ; Example: 1571 ; db.etcd.cert_file=/key/path 1572 1573 ; Path to the TLS private key for etcd RPC. 1574 ; Default: 1575 ; db.etcd.key_file= 1576 ; Example: 1577 ; db.etcd.key_file=/a/path 1578 1579 ; Whether we intend to skip TLS verification 1580 ; db.etcd.insecure_skip_verify=false 1581 1582 ; Whether to collect etcd commit stats. 1583 ; db.etcd.collect_stats=false 1584 1585 ; If set LND will use an embedded etcd instance instead of the external one. 1586 ; Useful for testing. 1587 ; db.etcd.embedded=false 1588 1589 ; If non zero, LND will use this as client port for the embedded etcd instance. 1590 ; Default: 1591 ; db.etcd.embedded_client_port= 1592 ; Example: 1593 ; db.etcd.embedded_client_port=1234 1594 1595 ; If non zero, LND will use this as peer port for the embedded etcd instance. 1596 ; Default: 1597 ; db.etcd.embedded_peer_port= 1598 ; Example: 1599 ; db.etcd.embedded_peer_port=1235 1600 1601 ; If set the embedded etcd instance will log to the specified file. Useful when 1602 ; testing with embedded etcd. 1603 ; Default: 1604 ; db.etcd.embedded_log_file= 1605 ; Example: 1606 ; db.etcd.embedded_log_file=/path/etcd.log 1607 1608 ; The maximum message size in bytes that we may send to etcd. Defaults to 32 MiB. 1609 ; db.etcd.max_msg_size=33554432 1610 1611 1612 [postgres] 1613 1614 ; Postgres connection string. 1615 ; Default: 1616 ; db.postgres.dsn= 1617 ; Example: 1618 ; db.postgres.dsn=postgres://lnd:lnd@localhost:45432/lnd?sslmode=disable 1619 1620 ; Postgres connection timeout. Valid time units are {s, m, h}. Set to zero to 1621 ; disable. 1622 ; db.postgres.timeout= 1623 1624 ; Postgres maximum number of connections. Set to zero for unlimited. It is 1625 ; recommended to set a limit that is below the server connection limit. 1626 ; Otherwise errors may occur in lnd under high-load conditions. 1627 ; Default: 1628 ; db.postgres.maxconnections=50 1629 ; Example: 1630 ; db.postgres.maxconnections= 1631 1632 ; Whether to skip executing schema migrations. 1633 ; db.postgres.skipmigrations=false 1634 1635 ; Use a global lock for channeldb access. This ensures only a single writer at 1636 ; a time but reduces concurrency. This is a temporary workaround until the 1637 ; revocation log is migrated to native SQL. 1638 ; db.postgres.channeldb-with-global-lock=false 1639 1640 1641 ; Use a global lock for wallet database access. This is a temporary workaround 1642 ; until the wallet subsystem is upgraded to a native sql schema. 1643 ; db.postgres.walletdb-with-global-lock=true 1644 1645 1646 ; The maximum number of elements to use in a native-SQL batch query IN clause. 1647 ; db.postgres.query.max-batch-size=5000 1648 1649 ; The maximum number of records to fetch at a time in a paginated query during 1650 ; native-SQL calls. 1651 ; db.postgres.query.max-page-size=10500 1652 1653 [sqlite] 1654 1655 ; Sqlite connection timeout. Valid time units are {s, m, h}. Set to zero to 1656 ; disable. 1657 ; Default: 1658 ; db.sqlite.timeout= 1659 ; Example: 1660 ; db.sqlite.timeout=0s 1661 1662 ; Maximum number of connections to the sqlite db. Set to zero for unlimited. 1663 ; db.sqlite.maxconnections=2 1664 1665 ; The maximum amount of time to wait to execute a query if the db is locked. 1666 ; db.sqlite.busytimeout=5s 1667 1668 ; The maximum number of elements to use in a native-SQL batch query IN clause. 1669 ; db.sqlite.query.max-batch-size=250 1670 1671 ; The maximum number of records to fetch at a time in a paginated query during 1672 ; native-SQL calls. 1673 ; db.sqlite.query.max-page-size=100 1674 1675 ; Raw pragma option pairs to be used when opening the sqlite db. The flag 1676 ; can be specified multiple times to set multiple options. 1677 ; Default: 1678 ; db.sqlite.pragmaoptions= 1679 ; Example (option can be specified multiple times): 1680 ; db.sqlite.pragmaoptions=auto_vacuum=incremental 1681 ; db.sqlite.pragmaoptions=temp_store=MEMORY 1682 1683 ; Whether to skip executing schema migrations. 1684 ; db.sqlite.skipmigrations=false 1685 1686 [bolt] 1687 1688 ; If true, prevents the database from syncing its freelist to disk. 1689 ; db.bolt.nofreelistsync=false 1690 ; 1691 ; Whether the databases used within lnd should automatically be compacted on 1692 ; every startup (and if the database has the configured minimum age). This is 1693 ; disabled by default because it requires additional disk space to be available 1694 ; during the compaction that is freed afterwards. In general compaction leads to 1695 ; smaller database files. 1696 ; db.bolt.auto-compact=false 1697 1698 ; How long ago the last compaction of a database file must be for it to be 1699 ; considered for auto compaction again. Can be set to 0 to compact on every 1700 ; startup. 1701 ; Default: 1702 ; db.bolt.auto-compact-min-age=168h 1703 ; Example: 1704 ; db.bolt.auto-compact-min-age=0 1705 1706 ; Specify the timeout to be used when opening the database. 1707 ; db.bolt.dbtimeout=1m 1708 1709 1710 [cluster] 1711 1712 ; Enables leader election if set. 1713 ; cluster.enable-leader-election=false 1714 1715 ; Leader elector to use. Valid values: "etcd". 1716 ; cluster.leader-elector=etcd 1717 1718 ; Election key prefix when using etcd leader elector. 1719 ; cluster.etcd-election-prefix=/leader/ 1720 1721 ; Identifier for this node inside the cluster (used in leader election). 1722 ; Defaults to the hostname. 1723 ; cluster.id=example.com 1724 1725 ; The session TTL in seconds after which a new leader is elected if the old 1726 ; leader is shut down, crashed or becomes unreachable. 1727 ; cluster.leader-session-ttl=90 1728 1729 1730 [rpcmiddleware] 1731 1732 ; Enable the RPC middleware interceptor functionality. 1733 ; rpcmiddleware.enable=false 1734 1735 ; Time after which a RPC middleware intercept request will time out and return 1736 ; an error if it hasn't yet received a response. 1737 ; rpcmiddleware.intercepttimeout=2s 1738 1739 ; Add the named middleware to the list of mandatory middlewares. All RPC 1740 ; requests are blocked/denied if any of the mandatory middlewares is not 1741 ; registered. Can be specified multiple times. 1742 ; Default: 1743 ; rpcmiddleware.addmandatory= 1744 ; Example: 1745 ; rpcmiddleware.addmandatory=my-example-middleware 1746 ; rpcmiddleware.addmandatory=other-mandatory-middleware 1747 1748 1749 [remotesigner] 1750 1751 ; Use a remote signer for signing any on-chain related transactions or messages. 1752 ; Only recommended if local wallet is initialized as watch-only. Remote signer 1753 ; must use the same seed/root key as the local watch-only wallet but must have 1754 ; private keys. 1755 ; remotesigner.enable=false 1756 1757 ; The remote signer's RPC host:port. 1758 ; Default: 1759 ; remotesigner.rpchost= 1760 ; Example: 1761 ; remotesigner.rpchost=remote.signer.lnd.host:10009 1762 1763 ; The macaroon to use for authenticating with the remote signer. 1764 ; Default: 1765 ; remotesigner.macaroonpath= 1766 ; Example: 1767 ; remotesigner.macaroonpath=/path/to/remote/signer/admin.macaroon 1768 1769 ; The TLS certificate to use for establishing the remote signer's identity. 1770 ; Default: 1771 ; remotesigner.tlscertpath= 1772 ; Example: 1773 ; remotesigner.tlscertpath=/path/to/remote/signer/tls.cert 1774 1775 ; The timeout for connecting to and signing requests with the remote signer. 1776 ; Valid time units are {s, m, h}. 1777 ; remotesigner.timeout=5s 1778 1779 ; If a wallet with private key material already exists, migrate it into a 1780 ; watch-only wallet on first startup. 1781 ; WARNING: This cannot be undone! Make sure you have backed up your seed before 1782 ; you use this flag! All private keys will be purged from the wallet after first 1783 ; unlock with this flag! 1784 ; remotesigner.migrate-wallet-to-watch-only=false 1785 1786 1787 [gossip] 1788 1789 ; Specify a set of pinned gossip syncers, which will always be actively syncing 1790 ; whenever the corresponding peer is online. A pinned syncer does not count 1791 ; towards the configured `numgraphsyncpeers` since pinned syncers are not 1792 ; rotated. Configuring a pinned syncer does not ensure a persistent connection 1793 ; to the target peer, they will only be pinned if the connection remains active 1794 ; via some other mechanism, e.g. having an open channel. 1795 ; 1796 ; This feature is useful when trying to ensure that a node keeps its 1797 ; routing table tightly synchronized with a set of remote peers, e.g. multiple 1798 ; lightning nodes operated by the same service. 1799 ; 1800 ; Each value should be a hex-encoded pubkey of the pinned peer. Multiple pinned 1801 ; peers can be specified by setting multiple flags/fields in the config. 1802 ; Default: 1803 ; gossip.pinned-syncers= 1804 ; Example: 1805 ; gossip.pinned-syncers=pubkey1 1806 ; gossip.pinned-syncers=pubkey2 1807 1808 ; The maximum number of updates for a specific channel and direction that lnd 1809 ; will accept over the channel update interval. 1810 ; gossip.max-channel-update-burst=10 1811 ; gossip.channel-update-interval=1m 1812 1813 ; The duration to wait before sending the next announcement batch if there are 1814 ; multiple. Use a small value if there are a lot announcements and they need to 1815 ; be broadcast quickly. 1816 ; gossip.sub-batch-delay=5s 1817 1818 ; The number of confirmations required before processing channel announcements. 1819 ; gossip.announcement-conf=6 1820 1821 ; The total rate of outbound gossip messages, expressed in bytes per second. 1822 ; This setting controls the long-term average speed of gossip traffic sent from 1823 ; your node. The rate limit is applied globally across all peers, not per-peer. 1824 ; If the rate of outgoing messages exceeds this value, lnd will start to queue 1825 ; and delay messages to stay within the limit. 1826 ; gossip.msg-rate-bytes=1024000 1827 1828 ; The maximum burst of outbound gossip data, in bytes, that can be sent at once. 1829 ; This works in conjunction with `gossip.msg-rate-bytes` as part of a token 1830 ; bucket rate-limiting scheme. This value represents the size of the token 1831 ; bucket. It allows for short, high-speed bursts of traffic, with the long-term 1832 ; rate controlled by `gossip.msg-rate-bytes`. This value must be larger than the 1833 ; maximum lightning message size (~65KB) to allow sending large gossip messages. 1834 ; gossip.msg-burst-bytes=2048000 1835 1836 ; The maximum number of concurrent gossip filter applications that can be 1837 ; processed. Increase this value to handle more simultaneous peer 1838 ; synchronizations at the cost of additional resource usage. 1839 ; See docs/gossip_rate_limiting.md for mor information. 1840 ; gossip.filter-concurrency=5 1841 1842 ; The score at which a peer is banned. Each time a peer sends a gossip message 1843 ; that is considered invalid, its ban score is incremented. Once the score 1844 ; reaches this threshold, the peer is banned for a default of 48 hours, and we 1845 ; will no longer process gossip messages from them. This is a measure to 1846 ; protect the node from spam and misbehaving peers. Setting this value to 0 1847 ; disables banning completely. 1848 ; 1849 ; A gossip message can be considered invalid for several reasons, including: 1850 ; - Invalid signature on the announcement. 1851 ; - Stale timestamp, older than what we already have. 1852 ; - Too many channel updates for the same channel in a short period. 1853 ; - Announcing a channel that is not found on-chain. 1854 ; - Announcing a channel that has already been closed. 1855 ; - Announcing a channel with an invalid proof. 1856 ; 1857 ; gossip.ban-threshold=100 1858 1859 ; The peer-specific rate of outbound gossip messages, expressed in bytes per 1860 ; second. This setting controls the long-term average speed of gossip traffic 1861 ; sent from your node. The rate limit is applied to each peer. If the rate of 1862 ; outgoing messages exceeds this value, lnd will start to queue and delay 1863 ; messages sending to that peer to stay within the limit. 1864 ; gossip.peer-msg-rate-bytes=51200 1865 1866 [invoices] 1867 1868 ; If a hold invoice has accepted htlcs that reach their expiry height and are 1869 ; not timed out, the channel holding the htlc is force closed to resolve the 1870 ; invoice's htlcs. To prevent force closes, lnd automatically cancels these 1871 ; invoices before they reach their expiry height. 1872 ; 1873 ; Hold expiry delta describes the number of blocks before expiry that these 1874 ; invoices should be canceled. Setting this value to 0 will ensure that hold 1875 ; invoices can be settled right up until their expiry height, but will result 1876 ; in the channel they are on being force closed if they are not resolved before 1877 ; expiry. 1878 ; 1879 ; Lnd goes to chain before the expiry for a htlc is reached so that there is 1880 ; time to resolve it on chain. This value needs to be greater than the 1881 ; DefaultIncomingBroadcastDelta set by lnd, otherwise the channel will be force 1882 ; closed anyway. A warning will be logged on startup if this value is not large 1883 ; enough to prevent force closes. 1884 ; invoices.holdexpirydelta=18 1885 1886 [routing] 1887 1888 ; DEPRECATED: This is now turned on by default for Neutrino (use 1889 ; neutrino.validatechannels=true to turn off) and shouldn't be used for any 1890 ; other backend! 1891 ; routing.assumechanvalid=false 1892 1893 ; If set to true, then we'll prune a channel if only a single edge is seen as 1894 ; being stale. This results in a more compact channel graph, and also is helpful 1895 ; for neutrino nodes as it means they'll only maintain edges where both nodes are 1896 ; seen as being live from it's PoV. 1897 ; routing.strictgraphpruning=false 1898 1899 ; The minimum number of real (non-dummy) blinded hops to select for a blinded 1900 ; path. This doesn't include our node, so if the maximum is 1, then the 1901 ; shortest paths will contain our node along with an introduction node hop. 1902 ; routing.blinding.min-num-real-hops=1 1903 1904 ; The number of hops to include in a blinded path. This does not include 1905 ; our node, so if is is 1, then the path will at least contain our node along 1906 ; with an introduction node hop. If it is 0, then it will use this node as 1907 ; the introduction node. This number must be greater than or equal to the 1908 ; the number of real hops (invoices.blinding.min-num-real-hops). Any paths 1909 ; shorter than this number will be padded with dummy hops. 1910 ; routing.blinding.num-hops=2 1911 1912 ; The maximum number of blinded paths to select and add to an invoice. 1913 ; routing.blinding.max-num-paths=3 1914 1915 ; The amount by which to increase certain policy values of hops on a blinded 1916 ; path in order to add a probing buffer. The higher this multiplier, the more 1917 ; buffer is added to the policy values of hops along a blinded path meaning 1918 ; that if they were to increase their policy values before the blinded path 1919 ; expires, the better the chances that the path would still be valid meaning 1920 ; that the path is less prone to probing attacks. However, if the multiplier 1921 ; is too high, the resulting buffered fees might be too much for the payer. 1922 ; routing.blinding.policy-increase-multiplier=1.1 1923 1924 ; The amount by which to decrease certain policy values of hops on a blinded 1925 ; path in order to add a probing buffer. The lower this multiplier, the more 1926 ; buffer is added to the policy values of hops along a blinded path meaning 1927 ; that if they were to increase their policy values before the blinded path 1928 ; expires, the better the chances that the path would still be valid meaning 1929 ; that the path is less prone to probing attacks. However, since this value 1930 ; is being applied to the MaxHTLC value of the route, the lower it is, the 1931 ; lower payment amount will need to be. 1932 ; routing.blinding.policy-decrease-multiplier=0.9 1933 1934 [sweeper] 1935 1936 ; DEPRECATED: Duration of the sweep batch window. The sweep is held back during 1937 ; the batch window to allow more inputs to be added and thereby lower the fee 1938 ; per input. 1939 ; sweeper.batchwindowduration=30s 1940 1941 ; The max fee rate in sat/vb which can be used when sweeping funds. Setting 1942 ; this value too low can result in transactions not being confirmed in time, 1943 ; causing HTLCs to expire hence potentially losing funds. 1944 ; sweeper.maxfeerate=1000 1945 1946 ; The conf target to use when sweeping non-time-sensitive outputs. This is 1947 ; useful for sweeping outputs that are not time-sensitive, and can be swept at 1948 ; a lower fee rate. 1949 ; sweeper.nodeadlineconftarget=1008 1950 1951 1952 ; An optional config group that's used for the automatic sweep fee estimation. 1953 ; The Budget config gives options to limits ones fee exposure when sweeping 1954 ; unilateral close outputs and the fee rate calculated from budgets is capped 1955 ; at sweeper.maxfeerate. Check the budget config options for more details. 1956 ; sweeper.budget= 1957 1958 [sweeper.budget] 1959 1960 ; The amount in satoshis to allocate as the budget to pay fees when sweeping 1961 ; the to_local output. If set, the budget calculated using the ratio (if set) 1962 ; will be capped at this value. 1963 ; sweeper.budget.tolocal= 1964 1965 ; The ratio of the value in to_local output to allocate as the budget to pay 1966 ; fees when sweeping it. 1967 ; sweeper.budget.tolocalratio=0.5 1968 1969 ; The amount in satoshis to allocate as the budget to pay fees when CPFPing a 1970 ; force close tx using the anchor output. If set, the budget calculated using 1971 ; the ratio (if set) will be capped at this value. 1972 ; sweeper.budget.anchorcpfp= 1973 1974 ; The ratio of a special value to allocate as the budget to pay fees when 1975 ; CPFPing a force close tx using the anchor output. The special value is the 1976 ; sum of all time-sensitive HTLCs on this commitment subtracted by their 1977 ; budgets. 1978 ; sweeper.budget.anchorcpfpratio=0.5 1979 1980 ; The amount in satoshis to allocate as the budget to pay fees when sweeping a 1981 ; time-sensitive (first-level) HTLC. If set, the budget calculated using the 1982 ; ratio (if set) will be capped at this value. 1983 ; sweeper.budget.deadlinehtlc= 1984 1985 ; The ratio of the value in a time-sensitive (first-level) HTLC to allocate as 1986 ; the budget to pay fees when sweeping it. 1987 ; sweeper.budget.deadlinehtlcratio=0.5 1988 1989 ; The amount in satoshis to allocate as the budget to pay fees when sweeping a 1990 ; non-time-sensitive (second-level) HTLC. If set, the budget calculated using 1991 ; the ratio (if set) will be capped at this value. 1992 ; sweeper.budget.nodeadlinehtlc= 1993 1994 ; The ratio of the value in a non-time-sensitive (second-level) HTLC to 1995 ; allocate as the budget to pay fees when sweeping it. 1996 ; sweeper.budget.nodeadlinehtlcratio=0.5 1997 1998 [htlcswitch] 1999 2000 ; The timeout value when delivering HTLCs to a channel link. Setting this value 2001 ; too small will result in local payment failures if large number of payments 2002 ; are sent over a short period. 2003 ; htlcswitch.mailboxdeliverytimeout=1m 2004 2005 ; The max duration that the channel can be quiesced. Any dependent protocols 2006 ; (dynamic commitments, splicing, etc.) must finish their operations under this 2007 ; timeout value, otherwise the node will disconnect. 2008 ; htlcswitch.quiescencetimeout=1m 2009 2010 [grpc] 2011 2012 ; How long the server waits on a gRPC stream with no activity before pinging the 2013 ; client. Valid time units are {s, m, h}. 2014 ; grpc.server-ping-time=1m 2015 2016 ; How long the server waits for the response from the client for the keepalive 2017 ; ping response. Valid time units are {s, m, h}. 2018 ; grpc.server-ping-timeout=20s 2019 2020 ; The minimum amount of time the client should wait before sending a keepalive 2021 ; ping. Valid time units are {s, m, h}. 2022 ; grpc.client-ping-min-wait=5s 2023 2024 ; If true, the server allows keepalive pings from the client even when there are 2025 ; no active gRPC streams. This might be useful to keep the underlying HTTP/2 2026 ; connection open for future requests. 2027 ; grpc.client-allow-ping-without-stream=false 2028 2029 2030 [pprof] 2031 2032 ; Enable HTTP profiling on given port -- NOTE port must be between 1024 and 2033 ; 65536. The profile can be access at: http://localhost:<PORT>/debug/pprof/. 2034 ; You can also provide it as host:port to enable profiling for remote debugging. 2035 ; For example 0.0.0.0:<PORT> to enable profiling for all interfaces on the given 2036 ; port. The built-in profiler has minimal overhead, so it is recommended to 2037 ; enable it. 2038 ; pprof.profile= 2039 2040 ; Write CPU profile to the specified file. This should only be used for 2041 ; debugging because compared to running a pprof server this will record the cpu 2042 ; profile constantly from the start of the program until the shutdown. 2043 ; pprof.cpuprofile= 2044 2045 ; Enable a blocking profile to be obtained from the profiling port. A blocking 2046 ; profile can show where goroutines are blocking (stuck on mutexes, I/O, etc). 2047 ; This takes a value from 0 to 1, with 0 turning off the setting, and 1 sampling 2048 ; every blocking event (it's a rate value). The blocking profile has high 2049 ; overhead and is off by default even when running the pprof server. It should 2050 ; only be used for debugging. 2051 ; pprof.blockingprofile=0 2052 2053 ; Enable a mutex profile to be obtained from the profiling port. A mutex 2054 ; profile can show where goroutines are blocked on mutexes, and which mutexes 2055 ; have high contention. This takes a value from 0 to 1, with 0 turning off the 2056 ; setting, and 1 sampling every mutex event (it's a rate value). The mutex 2057 ; profile has high overhead and is off by default even when running the pprof 2058 ; server. It should only be used for debugging. 2059 ; pprof.mutexprofile=0