 |
|
| |
LIGHTNING-FEERATES(7) |
|
LIGHTNING-FEERATES(7) |
lightning-feerates -- Command for querying recommended onchain
feerates
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 lightning-withdraw(7) or lightning-fundchannel(7)
you can provide a preferred feerate directly as a parameter, which will
override the recommended feerates 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).
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.
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
shutdown. Note that since mutual close is a negotiation, the actual
feerate used in mutual close will be somewhere between this and the
corresponding 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
commitment_transaction in a live channel which we originally funded (if
anchor_outputs was negotiated). (added v23.08)
- delayed_to_us (u32, optional): Feerate for returning unilateral
close funds to our wallet. deprecated in v23.05, removed after
v24.05
- htlc_resolution (u32, optional): Feerate for returning unilateral
close HTLC outputs to our wallet. deprecated in v23.05, removed after
v24.05
- penalty (u32, optional): Feerate to use when creating penalty tx
for watchtowers.
- •
- 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
shutdown. Note that since mutual close is a negotiation, the actual
feerate used in mutual close will be somewhere between this and the
corresponding 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
commitment_transaction in a live channel which we originally funded (if
anchor_outputs was negotiated). (added v23.08)
- delayed_to_us (u32, optional): Feerate for returning unilateral
close funds to our wallet. deprecated in v23.05, removed after
v24.05
- htlc_resolution (u32, optional): Feerate for returning unilateral
close HTLC outputs to our wallet. deprecated in v23.05, removed after
v24.05
- penalty (u32, optional): Feerate to use when creating penalty tx
for watchtowers.
- •
- 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
channel with anchors.
- htlc_timeout_satoshis (u64): Estimated cost of typical HTLC timeout
transaction (non-anchors).
- htlc_success_satoshis (u64): Estimated cost of typical HTLC
fulfillment 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.
The feerates command will never error, however some fields
may be missing in the result if feerate estimates for that kind of
transaction are unavailable.
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".
lightning-parsefeerate(7), lightning-fundchannel(7),
lightning-withdraw(7), lightning-txprepare(7),
lightning-fundchannel_start(7)
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,
"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,
"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
}
}
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|