{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "required": [
    "summary",
    "policy",
    "policy_mod",
    "leases_only",
    "min_their_funding_msat",
    "max_their_funding_msat",
    "per_channel_min_msat",
    "per_channel_max_msat",
    "reserve_tank_msat",
    "fuzz_percent",
    "fund_probability"
  ],
  "properties": {
    "summary": {
      "type": "string",
      "description": "Summary of the current funding policy e.g. (match 100)"
    },
    "policy": {
      "type": "string",
      "enum": [
        "match",
        "available",
        "fixed"
      ],
      "description": "Policy funder plugin will use to decide how much captial to commit to a v2 open channel request"
    },
    "policy_mod": {
      "type": "u32",
      "description": "The *policy_mod* is the number or 'modification' to apply to the policy."
    },
    "leases_only": {
      "type": "boolean",
      "description": "Only contribute funds to `option_will_fund` lease requests."
    },
    "min_their_funding_msat": {
      "type": "msat",
      "description": "The minimum funding sats that we require from peer to activate our funding policy."
    },
    "max_their_funding_msat": {
      "type": "msat",
      "description": "The maximum funding sats that we'll allow from peer to activate our funding policy."
    },
    "per_channel_min_msat": {
      "type": "msat",
      "description": "The minimum amount that we will fund a channel open with."
    },
    "per_channel_max_msat": {
      "type": "msat",
      "description": "The maximum amount that we will fund a channel open with."
    },
    "reserve_tank_msat": {
      "type": "msat",
      "description": "Amount of sats to leave available in the node wallet."
    },
    "fuzz_percent": {
      "type": "u32",
      "description": "Percentage to fuzz our funding amount by."
    },
    "fund_probability": {
      "type": "u32",
      "description": "Percent of opens to consider funding. 100 means we'll consider funding every requested open channel request."
    },
    "lease_fee_base_msat": {
      "type": "msat",
      "description": "Flat fee to charge for a channel lease."
    },
    "lease_fee_basis": {
      "type": "u32",
      "description": "Proportional fee to charge for a channel lease, calculated as 1/10,000th of requested funds."
    },
    "funding_weight": {
      "type": "u32",
      "description": "Transaction weight the channel opener will pay us for a leased funding transaction."
    },
    "channel_fee_max_base_msat": {
      "type": "msat",
      "description": "Maximum channel_fee_base_msat we'll charge for routing funds leased on this channel."
    },
    "channel_fee_max_proportional_thousandths": {
      "type": "u32",
      "description": "Maximum channel_fee_proportional_millitionths we'll charge for routing funds leased on this channel, in thousandths."
    },
    "compact_lease": {
      "type": "hex",
      "description": "Compact description of the channel lease parameters."
    }
  }
}
