control-tor-address: name: Control Tor Address description: The Tor address for the control interface. type: pointer subtype: package package-id: lnd target: tor-address interface: control peer-tor-address: name: Peer Tor Address description: The Tor address for the peer interface. type: pointer subtype: package package-id: lnd target: tor-address interface: peer watchtower-tor-address: name: Watchtower Tor Address description: The Tor address for the watchtower interface. type: pointer subtype: package package-id: lnd target: tor-address interface: watchtower alias: type: string name: Alias description: The public, human-readable name of your Lightning node nullable: true pattern: ".{1,32}" pattern-description: Must be at least 1 character and no more than 32 characters color: type: string name: Color description: The public color dot of your Lightning node nullable: false pattern: "[0-9a-fA-F]{6" pattern-description: | Must be a valid 6 digit hexadecimal RGB value. The first two digits are red, middle two are green, and final two are blue default: charset: "a-f,0-9" len: 6 accept-keysend: type: boolean name: Accept Keysend description: | Allow others to send payments directly to your public key through keysend instead of having to get a new invoice default: false accept-amp: type: boolean name: Accept Spontaneous AMPs description: | If enabled, spontaneous payments through AMP will be accepted. Payments to AMP invoices will be accepted regardless of this setting. default: false reject-htlc: type: boolean name: Reject Routing Requests description: | If true, LND will not forward any HTLCs that are meant as onward payments. This option will still allow LND to send HTLCs and receive HTLCs but lnd won't be used as a hop. default: false min-chan-size: type: number name: Minimum Channel Size description: | The smallest channel size that we should accept. Incoming channels smaller than this will be rejected. nullable: true range: "[1,16777215]" integral: true units: satoshis max-chan-size: type: number name: Maximum Channel Size description: | The largest channel size that we should accept. Incoming channels larger than this will be rejected. For non-Wumbo channels this limit remains 16777215 satoshis by default as specified in BOLT-0002. For wumbo channels this limit is 1,000,000,000 satoshis (10 BTC). Set this config option explicitly to restrict your maximum channel size to better align with your risk tolerance. Don't forget to enable Wumbo channels under 'Advanced,' if desired. nullable: true range: "[1,1000000000]" integral: true units: satoshis tor: type: object name: Tor Config nullable: false spec: use-tor-only: type: boolean name: Use Tor for all traffic description: >- Use the tor proxy even for connections that are reachable on clearnet. This will hide your node's public IP address, but will slow down your node's performance nullable: false default: false stream-isolation: type: boolean name: Stream Isolation description: >- Enable Tor stream isolation by randomizing user credentials for each connection. With this mode active, each connection will use a new circuit. This means that multiple applications (other than lnd) using Tor won't be mixed in with lnd's traffic. This option may not be used when 'Use Tor for all traffic' is disabled, since direct connections compromise source IP privacy by default. nullable: false default: false bitcoind: type: union name: Bitcoin Core description: | The Bitcoin Core node to connect to: - internal: The Bitcoin Core and Proxy services installed to your Embassy - external: An unpruned Bitcoin Core node running on a different device tag: id: type name: Type variant-names: internal: Internal (Bitcoin Core) internal-proxy: Internal (Bitcoin Proxy) external: External description: | The Bitcoin Core node to connect to: - internal: The Bitcoin Core and Proxy services installed to your Embassy - external: An unpruned Bitcoin Core node running on a different device default: internal variants: internal: user: type: pointer name: RPC Username description: The username for Bitcoin Core's RPC interface subtype: package package-id: bitcoind target: config multi: false selector: "$.rpc.username" password: type: pointer name: RPC Password description: The password for Bitcoin Core's RPC interface subtype: package package-id: bitcoind target: config multi: false selector: "$.rpc.password" internal-proxy: user: type: pointer name: RPC Username description: The username for the RPC user allocated to lnd subtype: package package-id: btc-rpc-proxy target: config multi: false selector: '$.users[?(@.name == "lnd")].name' # index: 'users.[first(item => ''item.name = "lnd")].name' password: type: pointer name: RPC Password description: The password for the RPC user allocated to lnd subtype: package package-id: btc-rpc-proxy target: config multi: false selector: '$.users[?(@.name == "lnd")].password' # index: 'users.[first(item => ''item.name = "lnd")].password' external: connection-settings: type: union name: Connection Settings description: Information to connect to an external unpruned Bitcoin Core node tag: id: type name: Type description: | - Manual: Raw information for finding a Bitcoin Core node - Quick Connect: A Quick Connect URL for a Bitcoin Core node variant-names: manual: Manual quick-connect: Quick Connect default: quick-connect variants: manual: host: type: string name: Public Address description: The public address of your Bitcoin Core server nullable: false rpc-user: type: string name: RPC Username description: The username for the RPC user on your Bitcoin Core RPC server nullable: false rpc-password: type: string name: RPC Password description: The password for the RPC user on your Bitcoin Core RPC server nullable: false rpc-port: type: number name: RPC Port description: The port that your Bitcoin Core RPC server is bound to nullable: false range: "[0,65535]" integral: true default: 8332 zmq-block-port: type: number name: ZeroMQ Block Port description: The port that your Bitcoin Core ZeroMQ server is bound to for raw blocks nullable: false range: "[0,65535]" integral: true default: 28332 zmq-tx-port: type: number name: ZeroMQ Transaction Port description: The port that your Bitcoin Core ZeroMQ server is bound to for raw transactions nullable: false range: "[0,65535]" integral: true default: 28333 quick-connect: quick-connect-url: type: string name: Quick Connect URL description: | The Quick Connect URL for your Bitcoin Core RPC server NOTE: LND will not accept a .onion url for this option nullable: false pattern-description: Must be a valid Quick Connect URL. For help, check out https://github.com/BlockchainCommons/Gordian/blob/master/Docs/Quick-Connect-API.md zmq-block-port: type: number name: ZeroMQ Block Port description: The port that your Bitcoin Core ZeroMQ server is bound to for raw blocks nullable: false range: "[0,65535]" integral: true default: 28332 zmq-tx-port: type: number name: ZeroMQ Transaction Port description: The port that your Bitcoin Core ZeroMQ server is bound to for raw transactions nullable: false range: "[0,65535]" integral: true default: 28333 autopilot: type: object name: Autopilot description: Autopilot Settings nullable: false spec: enabled: type: boolean name: Enabled description: | If the autopilot agent should be active or not. The autopilot agent will attempt to AUTOMATICALLY OPEN CHANNELS to put your node in an advantageous position within the network graph. DO NOT ENABLE THIS IF YOU WANT TO MANAGE CHANNELS MANUALLY OR DO NOT UNDERSTAND IT. default: false private: type: boolean name: Private description: | Whether the channels created by the autopilot agent should be private or not. Private channels won't be announced to the network. default: false maxchannels: type: number name: Maximum Channels description: The maximum number of channels that should be created. nullable: false range: "[1,*)" integral: true default: 5 allocation: type: number name: Allocation description: | The fraction of total funds that should be committed to automatic channel establishment. For example 60% means that 60% of the total funds available within the wallet should be used to automatically establish channels. The total amount of attempted channels will still respect the "Maximum Channels" parameter. nullable: false range: "[0,100]" integral: false default: 60 units: "%" min-channel-size: type: number name: Minimum Channel Size description: The smallest channel that the autopilot agent should create. nullable: false range: "[0,*)" integral: true default: 20000 units: "satoshis" max-channel-size: type: number name: Maximum Channel Size description: The largest channel that the autopilot agent should create. nullable: false range: "[0,*)" integral: true default: 16777215 units: "satoshis" advanced: type: object name: Advanced description: Advanced Options nullable: false spec: min-confirmations: type: number name: Minimum Confirmations description: | The minimum number of confirmations each of your inputs in funding transactions created by the autopilot agent must have. nullable: false range: "[0,*)" integral: true default: 1 units: blocks confirmation-target: type: number name: Confirmation Target description: The confirmation target (in blocks) for channels opened by autopilot. nullable: false range: "[0,*)" integral: true default: 1 units: blocks advanced: type: object name: Advanced description: Advanced Options nullable: false spec: debug-level: type: enum name: Log Verbosity values: - trace - debug - info - warn - error - critical description: | Sets the level of log filtration. Trace is the most verbose, Critical is the least. default: info db-bolt-no-freelist-sync: type: boolean name: Disallow Bolt DB Freelist Sync description: | If true, prevents the database from syncing its freelist to disk. default: false db-bolt-auto-compact: type: boolean name: Compact Database on Startup description: | Performs database compaction on startup. This is necessary to keep disk usage down over time at the cost of having longer startup times. default: true db-bolt-auto-compact-min-age: type: number name: Minimum Autocompaction Age for Bolt DB description: | How long ago (in hours) the last compaction of a database file must be for it to be considered for auto compaction again. Can be set to 0 to compact on every startup. nullable: false range: "[0, *)" integral: true default: 168 units: hours db-bolt-db-timeout: type: number name: Bolt DB Timeout description: How long should LND try to open the database before giving up? nullable: false range: "[1, 86400]" integral: true default: 60 units: seconds recovery-window: type: number name: Recovery Window description: Number of blocks in the past that LND should scan for unknown transactions nullable: true range: "[1,*)" integral: true units: "blocks" payments-expiration-grace-period: type: number name: Payments Expiration Grace Period description: | A period to wait before for closing channels with outgoing htlcs that have timed out and are a result of this nodes instead payment. In addition to our current block based deadline, is specified this grace period will also be taken into account. nullable: false range: "[1,*)" integral: true default: 30 units: "seconds" default-remote-max-htlcs: type: number name: Maximum Remote HTLCs description: | The default max_htlc applied when opening or accepting channels. This value limits the number of concurrent HTLCs that the remote party can add to the commitment. The maximum possible value is 483. nullable: false range: "[1,483]" integral: true default: 483 units: htlcs max-channel-fee-allocation: type: number name: Maximum Channel Fee Allocation description: | The maximum percentage of total funds that can be allocated to a channel's commitment fee. This only applies for the initiator of the channel. nullable: false range: "[0.1, 1]" integral: false default: 0.5 max-commit-fee-rate-anchors: type: number name: Maximum Commitment Fee for Anchor Channels description: | The maximum fee rate in sat/vbyte that will be used for commitments of channels of the anchors type. Must be large enough to ensure transaction propagation. nullable: false range: "[1,*)" integral: true default: 10 protocol-wumbo-channels: type: boolean name: Enable Wumbo Channels description: | If set, then lnd will create and accept requests for channels larger than 0.16 BTC nullable: false default: false protocol-no-anchors: type: boolean name: Disable Anchor Channels description: | Set to disable support for anchor commitments. Anchor channels allow you to determine your fees at close time by using a Child Pays For Parent transaction. nullable: false default: false protocol-disable-script-enforced-lease: type: boolean name: Disable Script Enforced Channel Leases description: >- Set to disable support for script enforced lease channel commitments. If not set, lnd will accept these channels by default if the remote channel party proposes them. Note that lnd will require 1 UTXO to be reserved for this channel type if it is enabled. Note: This may cause you to be unable to close a channel and your wallets may not understand why nullable: false default: false gc-canceled-invoices-on-startup: type: boolean name: Cleanup Canceled Invoices on Startup description: | If true, LND will attempt to garbage collect canceled invoices upon start. nullable: false default: false bitcoin: type: object name: Bitcoin Channel Configuration description: Configuration options for lightning network channel management operating over the Bitcoin network nullable: false spec: default-channel-confirmations: type: number name: Default Channel Confirmations description: | The default number of confirmations a channel must have before it's considered open. LND will require any incoming channel requests to wait this many confirmations before it considers the channel active. nullable: false range: "[1,6]" integral: true default: 3 units: "blocks" min-htlc: type: number name: Minimum Incoming HTLC Size description: | The smallest HTLC LND will to accept on your channels, in millisatoshis. nullable: false range: "[1,*)" integral: true default: 1 units: "millisatoshis" min-htlc-out: type: number name: Minimum Outgoing HTLC Size description: | The smallest HTLC LND will send out on your channels, in millisatoshis. nullable: false range: "[1,*)" integral: true default: 1000 units: "millisatoshis" base-fee: type: number name: Routing Base Fee description: | The base fee in millisatoshi you will charge for forwarding payments on your channels. nullable: false range: "[0,*)" integral: true default: 1000 units: "millisatoshi" fee-rate: type: number name: Routing Fee Rate description: | The fee rate used when forwarding payments on your channels. The total fee charged is the Base Fee + (amount * Fee Rate / 1000000), where amount is the forwarded amount. Measured in sats per million nullable: false range: "[1,1000000)" integral: true default: 1 units: "sats per million" time-lock-delta: type: number name: Time Lock Delta description: The CLTV delta we will subtract from a forwarded HTLC's timelock value. nullable: false range: "[6, 144]" integral: true default: 40 units: "blocks"