Inbound liquidity can't be too cheap because it's essentially dead sats if you're a leaf node that doesn't route. You want someone to lock some sats with you while those sats can be allocated better with another routing node and collect fees.
Next, opening and, most importantly, closing channels isn't free. If someone opens a channel to you, they pay the closing fee in all cases (both cooperative and force close). This fee is dynamic and can grow quite a bit during certain periods, I've seen 10k+ sat commitment fee at some point and if a channel had to be closed I'd have paid that amount whether I want it or not. For a 100k channel that'd mean losing at least 10% of its capacity (if the entire balance is on my side) and even more in % if it's partially on your side. I use economic fee estimation while the default is conservative and it's usually much higher to guarantee getting into the block ASAP and prevent cascading force closings.
There's zero reason to open public channels of <1M sats, they wouldn't route anything and mostly be a dead liquidity. If you simply want to test LN your best bet would be using an LSP that automatically opens a channel to you for a decent fee, such as Breez or Phoenix. To route you need orders of magnitude more sats. It's a job, and I can't say it's a profitable one unless you're really big and, most importantly, provide services, not just liquidity. I don't provide services and I think I work at a loss, force closes take more sats than I earn from fees. I don't complain because it's a long game, so just being around and getting acquainted with other peers is more important than making money.
I get about 10-15k sats a month but can easily spend the same amount on one force close because of a stuck HTLC or a bug, and this month only I already lost 6 channels to that. Then again, if you have stable income and buy bitcoin regularly it's not a big issue. The experience alone is worth it. But if you want to run it profitably and don't have at least 0.5 BTC to allocate for LN, I'd say rather play on testnet/signet or use a wallet to send/receive txs.
You can also easily obtain incoming liquidity by exchanging LN sats to on-chain via Boltz or FixedFloat. Open a channel to any node, send some amount to your own on-chain address, and you get your sats back (minus service fee) and also inbound liquidity. You still pay for it (no service would do this exchange for free), but it's easier because you can choose any node to open a channel to, not just the liquidity seller. Also, in this case you'd be the initiator and as such pay the closing fees.
Inbound liquidity costs money because it's someone else's sats they agree to lock up with you, effectively opening a "credit" for you to spend by receiving sats (it's not really a credit, just an analogy). They can't profit from it unless you explicitly receive and send money (through their node) and that can't be enforced. This liquidity also can't be spent elsewhere which creates an opportunity cost. And if you go offline forever they'd need to force close this channel and pay the fee. Or even if you close this channel cooperatively, they still have to pay the fee as the initiator.
So there's a lot of implicit and explicit expenses that have to be paid in hard money and can't be worked around. That's why you should pay for them as you need it, not them.
@rkfg thank you soo much for sharing your thoughts. I need to dive more into these Lightning node economics. It looks like a game where there is some chance that channels get closed, and also you need to estimate or be sure that transactions get routed so you earn transaction fees.
The way you explain it is clear. It doesn't make sense opening a lot of channels with small starters. I see it. You need to have some chance that people are going to use your channel. Otherwise indeed is is dead capital sitting there and nobody uses that "road".
So I'm starting to see how this thing works. If you need to invest and if you see a lightning node as an investment, then you will make calculated risks. And you would not open with every small guy just starting.
I think the more the price of Bitcoin increases the more these fundamentals will play out. Of course you will receive higher transactions. But as 1 sat becomes more valuable because the price of Bitcoin increased, the more calculated your bets will be.
Very interesting subject.
reply
Yes, your understanding is correct. LN is indeed an investment, not very risky, not very profitable, but useful to learn the ropes, people and tech. The biggest risk is losing your node due to hardware failure so make channel backups regularly. Best to automate it with Restic for example, it's easy to setup with virtually any storage, SSH/FTP/S3/WebDAV/etc. and it's FOSS. In case your node dies you can use that small backup file to force close all your channels by asking your peers nicely to do that for you. It's the only supported way to recover your sats, NEVER backup the big channel database. If the state there is outdated even by 1 step you will get punished by your peers and they will take all money to themselves because you'd use a revoked state.
Nothing is guaranteed with LN (in terms of profitability and availability) except the fundamental principles and it's by design. If it weren't possible to unilaterally take your money back while making sure each participant can only get back what belongs to them and not more, LN would be just another trusted exchange of sorts. If you believe no one ever tries to cheat and everyone is always online, the protocol could be 100 times simpler, just update the balances internally, no revocation needed, no HTLCs etc.
Force close is what makes it work, and it's the nastiest thing at the same time. Probably my most love-hate feature, love that it exists, hate when it actually happens to me. If we were only able to close cooperatively it'd be a disaster, because your peer could disappear and you'd be left holding the unusable bag. Maybe they would do that deliberately to mess with you, especially if the balance is on your side mostly so their loss isn't significant.
Another aspect is that nodes can refuse to accept your channels no matter what (by public key or IP for example), and it's their right. Fortunately, you can connect to another node and as long as you have any access to LN and liquidity you can transact with any node, and they can't refuse your payment because they don't know where it comes from thanks to the onion routing protocol.
I think these features let everyone have agency over their decisions, and at the same time limit that agency only to their own channels and not the entire network.
reply