LIGHTNING-BKPR-CHANNELSAPY(7)
β¨ lightning-bkpr-channelsapy β the manual, but make it cute β¨
okay bestie, so you're looking at the lightning-bkpr-channelsapy(7) page from the Core Lightning manual set (section 7, the RPC-command section, iykyk). Buckle up, we're doing channel earnings π
π NAME π
bkpr-channelsapy β the command that spills the tea on your channel earnings π
π¦ SYNOPSIS π¦
bkpr-channelsapy [start_time] [end_time]
πΈ DESCRIPTION πΈ
The bkpr-channelsapy RPC command lists stats on routing income, leasing income, and various calculated APYs for channel routed funds. literally the glow-up report for your channels, no cap π
start_time(u64, optional) β a UNIX timestamp (in seconds!) and it filters events after the timestamp you gave it. the default is zero. zero, bestie π«Άend_time(u64, optional) β another UNIX timestamp (in seconds) but this one filters events up to and at the timestamp you provided. the default is max-int, so like, the end of time π
π₯ RETURN VALUE π₯
On success you get an object containing channels_apy. it's an array of objects, and every single object in there has these fields:
account(string) β the account name. if the account is a channel, it's thechannel_id. and the'net'entry is the rollup of all channel accounts β the main character of the array, honestly πrouted_out_msat(msat) β sats routed (outbound).routed_in_msat(msat) β sats routed (inbound).lease_fee_paid_msat(msat) β sats paid for leasing inbound (liquidity ads).lease_fee_earned_msat(msat) β sats earned for leasing outbound (liquidity ads).pushed_out_msat(msat) β sats pushed to peer at open.pushed_in_msat(msat) β sats pushed in from peer at open.our_start_balance_msat(msat) β starting balance in channel at funding. β οΈ note that if our start balance is zero, any_initialfield will be omitted (can't divide by zero, the math said absolutely not π).channel_start_balance_msat(msat) β total starting balance at funding.fees_out_msat(msat) β fees earned on routed outbound.utilization_out(string) β sats routed outbound / total start balance.utilization_in(string) β sats routed inbound / total start balance.apy_out(string) β fees earned on outbound routed payments / total start balance for the length of time this channel has been open, amortized to a year (APY).apy_in(string) β fees earned on inbound routed payments / total start balance for the length of time this channel has been open, amortized to a year (APY).apy_total(string) β total fees earned on routed payments / total start balance for the length of time this channel has been open, amortized to a year (APY).fees_in_msat(msat, optional) β fees earned on routed inbound.utilization_out_initial(string, optional) β sats routed outbound / our start balance.utilization_in_initial(string, optional) β sats routed inbound / our start balance.apy_out_initial(string, optional) β fees earned on outbound routed payments / our start balance for the length of time this channel has been open, amortized to a year (APY).apy_in_initial(string, optional) β fees earned on inbound routed payments / our start balance for the length of time this channel has been open, amortized to a year (APY).apy_total_initial(string, optional) β total fees earned on routed payments / our start balance for the length of time this channel has been open, amortized to a year (APY).apy_lease(string, optional) β lease fees earned over total amount leased for the lease term, amortized to a year (APY). π only appears if the channel was leased out by us. exclusive behavior, we love to see it.
π§ AUTHOR π§
Lisa Neigut niftynei@gmail.com is mainly responsible. icon behavior, we stan π
π« SEE ALSO π«
lightning-bkpr-listincome(7), lightning-bkpr-listfunds(7), lightning-bkpr-listaccountevents(7), lightning-bkpr-dumpincomecsv(7), lightning-listpeers(7)
π RESOURCES π
Main web site: https://github.com/ElementsProject/lightning
β EXAMPLES β
Example 1:
Request:
$ lightning-cli bkpr-channelsapy
{
"id": "example:bkpr-channelsapy#1",
"method": "bkpr-channelsapy",
"params": {}
}
Response:
{
"channels_apy": [
{
"account": "channelid0120000120000120000120000120000120000120000120000120000",
"routed_out_msat": 1000000,
"routed_in_msat": 510091208,
"lease_fee_paid_msat": 0,
"lease_fee_earned_msat": 0,
"pushed_out_msat": 0,
"pushed_in_msat": 0,
"our_start_balance_msat": 0,
"channel_start_balance_msat": 1000000000,
"fees_out_msat": 0,
"fees_in_msat": 106,
"utilization_out": "30.7060%",
"utilization_in": "10.0027%",
"utilization_in_initial": "50.0081%",
"apy_out": "0.0080%",
"apy_in": "0.0080%",
"apy_in_initial": "0.0250%",
"apy_total": "0.0160%"
},
{
"account": "channelid0230000230000230000230000230000230000230000230000230000",
"routed_out_msat": 510190102,
"routed_in_msat": 0,
"lease_fee_paid_msat": 0,
"lease_fee_earned_msat": 0,
"pushed_out_msat": 0,
"pushed_in_msat": 0,
"our_start_balance_msat": 1000000000,
"channel_start_balance_msat": 1000000000,
"fees_out_msat": 106,
"fees_in_msat": 0,
"utilization_out": "31.7060%",
"utilization_out_initial": "51.5591%",
"utilization_in": "11.0027%",
"apy_out": "0.0081%",
"apy_out_initial": "0.0121%",
"apy_in": "0.0081%",
"apy_total": "0.0161%",
"apy_total_initial": "0.0161%"
},
{
"account": "channelid0250000250000250000250000250000250000250000250000250000",
"routed_out_msat": 500000000,
"routed_in_msat": 0,
"lease_fee_paid_msat": 0,
"lease_fee_earned_msat": 0,
"pushed_out_msat": 0,
"pushed_in_msat": 0,
"our_start_balance_msat": 1000000000,
"channel_start_balance_msat": 1000000000,
"fees_out_msat": 0,
"fees_in_msat": 0,
"utilization_out": "32.7060%",
"utilization_out_initial": "52.5591%",
"utilization_in": "12.0027%",
"apy_out": "0.0082%",
"apy_out_initial": "0.0122%",
"apy_in": "0.0082%",
"apy_total": "0.0162%",
"apy_total_initial": "0.0162%"
},
{
"account": "net",
"routed_out_msat": 1011190102,
"routed_in_msat": 510091208,
"lease_fee_paid_msat": 0,
"lease_fee_earned_msat": 0,
"pushed_out_msat": 0,
"pushed_in_msat": 0,
"our_start_balance_msat": 2000000000,
"channel_start_balance_msat": 3000000000,
"fees_out_msat": 106,
"fees_in_msat": 106,
"utilization_out": "33.7060%",
"utilization_out_initial": "53.5591%",
"utilization_in": "13.0027%",
"utilization_in_initial": "53.0081%",
"apy_out": "0.0083%",
"apy_out_initial": "0.0123%",
"apy_in": "0.0083%",
"apy_in_initial": "0.0253%",
"apy_total": "0.0163%",
"apy_total_initial": "0.0163%"
}
]
}
π«Ά okay that's the whole page bestie, every flag, every field, every percentage. go check those APYs, periodt. π
and that's a wrap from the Core Lightning v26.06.9 build of this here LIGHTNING-BKPR-CHANNELSAPY(7) page β mwah, study it, and slay β¨ππ
π¦ where this page comes from
- nixpkgs unstable: clightning 26.06.9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms