home | help
LIGHTNING-FEERATES(7)					   LIGHTNING-FEERATES(7)

NAME
     feerates -- Command for querying recommended onchain feerates

SYNOPSIS
     feerates style

DESCRIPTION
     The  feerates  command returns the feerates that CLN will use. The feerates
     will be based on the recommended feerates from the backend. The backend may
     fail to provide estimates, but if it was able to provide estimates  in  the
     past,  CLN  will  continue to use those for a while. CLN will also smoothen
     feerate estimations from the backend.

     Explorers often  present  fees  in  "sat/vB":  4  sat/vB  is  4000perkb  or
     1000perkw.

     Bitcoin transactions have non-witness and witness bytes:

     *	Non-witness  bytes  count  as  4 weight, 1 virtual byte. All bytes other
	than SegWit witness count as non-witness bytes. * Witness bytes count as
	1 weight, 0.25 virtual bytes.

     Thus, all perkb feerates will be exactly 4 times perkw feerates.

     To compute the fee for a transaction, multiply its weight or virtual  bytes
     by  the  appropriate  perkw or perkw feerate returned by this command, then
     divide by 1000.

     There is currently no way to change these feerates from  the  RPC.  If  you
     need  custom  control  over onchain feerates, you will need to provide your
     own plugin that replaces the bcli plugin backend. For commands like  light-
     ning-withdraw(7)  or  lightning-fundchannel(7)  you can provide a preferred
     feerate directly as a parameter, which will override the recommended  feer-
     ates returned by feerates.

     *	style  (string)  (one  of "perkb", "perkw"): Fee rate style to use. This
	can be: perkw - provide feerate in units of  satoshis  per  1000  weight
	(e.g.  the minimum fee is usually 253perkw).  perkb - provide feerate in
	units of satoshis per 1000 virtual bytes (eg. the minimum fee is usually
	1000perkb).

NOTES
     Many other commands have a feerate parameter. This can be:

     *	One of the strings to use lightningd's internal estimates:
	*  urgent (next 6 blocks or so)
	*  normal (next 12 blocks or so)
	*  slow (next 100 blocks or so)
	*  minimum for the lowest value bitcoind will currently accept (added in
	   v23.05)
     *	A number, with an optional suffix:
	*  blocks means aim for confirmation  in  that	many  blocks  (added  in
	   v23.05)
	*  perkw   means  the  number  is  interpreted	as  satoshi-per-kilosipa
	   (weight)
	*  perkb means it is interpreted bitcoind-style as satoshi-per-kilobyte.

     Omitting the suffix is equivalent to perkb.

RETURN VALUE
     On success, an object is returned, containing:

     *	perkb (object, optional): If style parameter was perkb.:
	*  min_acceptable (u32): The smallest feerate that  we	allow  peers  to
	   specify: half the 100-block estimate.
	*  max_acceptable  (u32): The largest feerate we will accept from remote
	   negotiations. If a peer attempts to set the feerate higher than  this
	   we  will  unilaterally close the channel (or simply forget it if it's
	   not open yet).
	*  floor (u32): The smallest feerate that our backend tells us	it  will
	   accept (i.e. minrelayfee or mempoolminfee). (added v23.05)
	*  estimates  (array of objects): Feerate estimates from plugin which we
	   are using (usuallly bcli). (added v23.05):
	*  blockcount (u32): The number of blocks the feerate is expected to get
	   a transaction in. (added v23.05)
	*  feerate (u32): The feerate for this estimate, in given style.  (added
	   v23.05)
	*  smoothed_feerate  (u32):  The feerate, smoothed over time (useful for
	   coordinating with other nodes). (added v23.05)
	*  opening (u32, optional): Default feerate for lightning-fundchannel(7)
	   and lightning-withdraw(7).
	*  mutual_close (u32, optional): Feerate to aim for in cooperative shut-
	   down. Note that since mutual close is a negotiation, the actual feer-
	   ate used in mutual close will be somewhere between this and the  cor-
	   responding mutual close feerate of the peer.
	*  unilateral_close  (u32, optional): Feerate for commitment_transaction
	   in a live channel which we originally funded.
	*  unilateral_anchor_close  (u32,   optional):	 Feerate   for	 commit-
	   ment_transaction in a live channel which we originally funded (if an-
	   chor_outputs was negotiated). (added v23.08)
	*  penalty  (u32, optional): Feerate to use when creating penalty tx for
	   watchtowers.
	*  splice (u32, optional): Feerate to  use  when  performing  a  splice.
	   (added v26.04)
     *	perkw (object, optional): If style parameter was perkw.:
	*  min_acceptable  (u32): The smallest feerate that you can use, usually
	   the minimum relayed feerate of the backend.
	*  max_acceptable (u32): The largest feerate we will accept from  remote
	   negotiations.  If a peer attempts to set the feerate higher than this
	   we will unilaterally close the channel (or simply forget it	if  it's
	   not open yet).
	*  floor  (u32):  The smallest feerate that our backend tells us it will
	   accept (i.e. minrelayfee or mempoolminfee). (added v23.05)
	*  estimates (array of objects): Feerate estimates from plugin which  we
	   are using (usuallly bcli). (added v23.05):
	*  blockcount (u32): The number of blocks the feerate is expected to get
	   a transaction in. (added v23.05)
	*  feerate  (u32): The feerate for this estimate, in given style. (added
	   v23.05)
	*  smoothed_feerate (u32): The feerate, smoothed over time  (useful  for
	   coordinating with other nodes). (added v23.05)
	*  opening (u32, optional): Default feerate for lightning-fundchannel(7)
	   and lightning-withdraw(7).
	*  mutual_close (u32, optional): Feerate to aim for in cooperative shut-
	   down. Note that since mutual close is a negotiation, the actual feer-
	   ate	used in mutual close will be somewhere between this and the cor-
	   responding mutual close feerate of the peer.
	*  unilateral_close (u32, optional): Feerate for  commitment_transaction
	   in  a  live channel which we originally funded (if anchor_outputs was
	   not negotiated).
	*  unilateral_anchor_close  (u32,   optional):	 Feerate   for	 commit-
	   ment_transaction in a live channel which we originally funded (if an-
	   chor_outputs was negotiated). (added v23.08)
	*  penalty  (u32, optional): Feerate to use when creating penalty tx for
	   watchtowers.
	*  splice (u32, optional): Feerate to  use  when  performing  a  splice.
	   (added v26.04)
     *	onchain_fee_estimates (object, optional):
	*  opening_channel_satoshis  (u64):  Estimated	cost  of typical channel
	   open.
	*  mutual_close_satoshis (u64): Estimated cost of typical channel close.
	*  unilateral_close_satoshis (u64): Estimated cost of typical unilateral
	   close (without HTLCs). If anchors are supported, this assumes a chan-
	   nel with anchors.
	*  htlc_timeout_satoshis (u64): Estimated cost of typical  HTLC  timeout
	   transaction (non-anchors).
	*  htlc_success_satoshis  (u64): Estimated cost of typical HTLC fulfill-
	   ment transaction (non-anchors).
	*  unilateral_close_nonanchor_satoshis (u64, optional):  Estimated  cost
	   of  non-anchor  typical  unilateral	close  (without  HTLCs).  (added
	   v23.08)

     The following warnings may also be returned:

     *	warning_missing_feerates: Some fee estimates are missing.

ERRORS
     The feerates command will never error, however some fields may  be  missing
     in  the  result  if  feerate estimates for that kind of transaction are un-
     available.

TRIVIA
     In C-lightning we like to call the weight unit "sipa" in  honor  of  Pieter
     Wuille,  who  uses the name "sipa" on IRC and elsewhere. Internally we call
     the perkw style as "feerate per kilosipa".

AUTHOR
     ZmnSCPxj ZmnSCPxj@protonmail.com wrote the initial version of this manpage.

SEE ALSO
     lightning-parsefeerate(7), lightning-fundchannel(7), lightning-withdraw(7),
     lightning-txprepare(7), lightning-fundchannel_start(7)

RESOURCES
     Main web site: https://github.com/ElementsProject/lightning

EXAMPLES
     Example 1:

     Request:

     $ lightning-cli feerates -k "style"="perkw"

     {
       "id": "example:feerates#1",
       "method": "feerates",
       "params": {
	 "style": "perkw"
       }
     }

     Response:

     {
       "perkw": {
	 "opening": 7500,
	 "mutual_close": 3750,
	 "unilateral_close": 11000,
	 "unilateral_anchor_close": 3750,
	 "penalty": 7500,
	 "splice": 7505,
	 "min_acceptable": 1875,
	 "max_acceptable": 150000,
	 "floor": 253,
	 "estimates": [
	   {
	     "blockcount": 2,
	     "feerate": 15000,
	     "smoothed_feerate": 15000
	   },
	   {
	     "blockcount": 6,
	     "feerate": 11000,
	     "smoothed_feerate": 11000
	   },
	   {
	     "blockcount": 12,
	     "feerate": 7500,
	     "smoothed_feerate": 7500
	   },
	   {
	     "blockcount": 100,
	     "feerate": 3750,
	     "smoothed_feerate": 3750
	   }
	 ]
       },
       "onchain_fee_estimates": {
	 "opening_channel_satoshis": 5265,
	 "mutual_close_satoshis": 2523,
	 "unilateral_close_satoshis": 4170,
	 "unilateral_close_nonanchor_satoshis": 6578,
	 "htlc_timeout_satoshis": 7293,
	 "htlc_success_satoshis": 7733
       }
     }

     Example 2:

     Request:

     $ lightning-cli feerates -k "style"="perkb"

     {
       "id": "example:feerates#2",
       "method": "feerates",
       "params": {
	 "style": "perkb"
       }
     }

     Response:

     {
       "perkb": {
	 "opening": 30000,
	 "mutual_close": 15000,
	 "unilateral_close": 44000,
	 "unilateral_anchor_close": 15000,
	 "penalty": 30000,
	 "splice": 30005,
	 "min_acceptable": 7500,
	 "max_acceptable": 600000,
	 "floor": 1012,
	 "estimates": [
	   {
	     "blockcount": 2,
	     "feerate": 60000,
	     "smoothed_feerate": 60000
	   },
	   {
	     "blockcount": 6,
	     "feerate": 44000,
	     "smoothed_feerate": 44000
	   },
	   {
	     "blockcount": 12,
	     "feerate": 30000,
	     "smoothed_feerate": 30000
	   },
	   {
	     "blockcount": 100,
	     "feerate": 15000,
	     "smoothed_feerate": 15000
	   }
	 ]
       },
       "onchain_fee_estimates": {
	 "opening_channel_satoshis": 5265,
	 "mutual_close_satoshis": 2523,
	 "unilateral_close_satoshis": 4170,
	 "unilateral_close_nonanchor_satoshis": 6578,
	 "htlc_timeout_satoshis": 7293,
	 "htlc_success_satoshis": 7733
       }
     }

Core Lightning v26.06.1 				   LIGHTNING-FEERATES(7)

home | help