After eating the steak, the transaction had two confirmations and I was ready to go, except the aforementioned “Electrum disconnected” message had popped up again.
Now that I had funds in my Eclair wallet, it was time to open my first channel. But where do I want to place my funds? I tried clicking the “Random Node” option when opening my first channel to the Lightning Network, but the option is not yet operational. Perhaps “Autoconnect” would be a better name for this option as “Random Node” doesn’t give me much confidence that I’ll be able to get my five euros worth of bitcoin sent over to Bitrefill via the Lightning Network.
ACINQ’s own node was another option, but I figured Bitrefill would be well connected enough for my first channel. In the future, this process will need to be abstracted away as much as possible. People shouldn’t have to think about the process of opening and closing channels, or perhaps even who one’s Lightning node is opening channels with behind the scenes. This was another reminder that we’re in extremely early days.
Once I scanned the QR code to connect to Bitrefill’s Lightning node, I realize I had another decision to make. How much bitcoin should I put into this payment channel? Although I was only going to be spending around 5 euro at Bitrefill, I figured they’d be one of the more well-connected nodes in these early days, so I went ahead and put my entire balance into the channel — or at least I tried to do that.
Transactions for opening Lightning channels with Eclair are only denominated in BTC. This is a pet peeve of mine as I think every wallet should display the value of the user’s bitcoin balance in a local fiat currency of choice with the actual bitcoin balance being shown in smaller text because no one uses bitcoin as a unit of account right now. The home screen of the Eclair wallet shows a USD-denominated balance, but this cannot be seen while figuring out how much bitcoin should be placed in the channel.
Additionally, there was no option to place the maximum amount of funds possible into the Lightning channel, so I was left to try to estimate the exact amount that should be used. In the end, I had a few dollars worth of on-chain bitcoin leftover after opening the channel.
Fees haven’t been a problem on the Bitcoin network lately, so I chose the fast speed option for opening the channel. The transaction cost four satoshis per byte and the software estimated that the channel would be ready in 20 minutes. The estimate for getting the channel opened within twelve hours was only one satoshi per byte, but I was willing to pay a premium. After all, the total cost for opening the channel was still less than a penny.
As you can see from the screenshot, Eclair currently allows a channel capacity between 0.001 and 0.16777216 BTC (or around $1,100).
Once I clicked the “Open” button, it wasn’t clear that anything was happening at first. It was probably a minute or two later that a transaction showed up in my history, but the transaction needed to be confirmed on the blockchain before the channel would be operational. I worked on some other things for thirty minutes or so, and the channel was live when I came back.
It was at this point that I realized there was no way to send a Lightning payment as part of the channel opening process. That functionality will likely be commonplace eventually. For now, users must open the channel and send the Lightning payment in two separate processes.
I then went back to the Bitrefill tab in my browser, but the invoice had obviously expired at this point. I clicked a button to create a new invoice, but a normal, on-chain Bitcoin invoice popped up instead of a Lightning invoice. I went back to the Bitrefill homepage and started the process over again.
At this point I noticed that the Bitcoin Lightning payment option had a 0.42 BTC maximum, meaning they’d prefer on-chain transactions for amounts larger than that. I’m not sure how they arrived at this number. Does this indicate Lightning Network payments mostly only make financial sense up to a few hundred dollars? Is it just a safety measure?
Once I received the new invoice and made the payment, I was taken aback by how quickly it happened (ignoring the previous couple of hours of setting everything up of course).
I’ll send the Steam voucher to my friend later. At this point, I wanted to test the waters a bit more and see if I could route a payment through Bitrefill to someone else. Let’s see how well-connected I am on the Lightning Network thanks to Bitrefill.
I went over to Yalls.org, which is basically a Lightning-powered version of Yours.org. I found a test article that costed one penny, so I figured I’d give it a shot. The nice thing about Yalls is that it shows the QR codes for the payment and opening a channel with Yalls right next to each other. This way, if you need to open a channel with Yalls, you don’t have to go looking for it. I figured I’d test the waters and see if Bitrefill had enabled a Lightning Network connection between me and Yalls.
After scanning the QR code and making the payment, I quickly realized that the amazingly fast speed of the previous payment was not happening again. I stared at my phone for a few minutes as the transaction status remained as pending. I looked up at my laptop roughly a half of a minute later and realized I had access to the full article on Yalls. Looking back down at my phone, the transaction was still set to pending.
I’m not sure if the mix up was on Eclair’s or Yalls end, but it appeared I had just completed my first routed Lightning payment on Bitcoin’s mainnet. The status of the payment eventually switch to “Paid” many hours later, which makes me think something was going wrong on the Eclair end, but I really don’t know.
After gaining access to the full article, there was an option to leave a comment on it for the cost of a tenth of a penny. I tried to do this but was met with an error message on my phone, as my experience went from decent to bad.
As indicated by the message, the problem was definitely on my end of things this time. It seems Bitrefill was going to charge more than 3% worth of fees to route the transaction to Yalls, which is not allowed under the default settings of the Eclair wallet. So now we have even more options for the end user to think about, but the reality is this sort of thing should be rather easy to remove from view eventually.
Sanity checks like these are appreciated in the early days, but the payment was for less than a penny, so I turned off the fee sanity check and tried to pay for a comment again. This time an error box popped up that said my Lightning channel had insufficient funds. It turns out that my channel with Bitrefill had gone offline.
I messaged someone who works at Bitrefill at this point to see if they could figure out what was happening. It sort of felt like Bitrefill was a defacto payment processor for me now and I was asking customer support why I could not send any payments. I’m still not sure if the issue is on my end or Bitrefill’s end, but payments still don’t seem to be working ten hours later. I guess I shouldn’t have put all my eggs in the Bitrefill basket. Then again, it could just be an issue with the Eclair wallet. Or maybe there are compatibility issues between Eclair and the wallet software used by Bitrefill.
Maybe I’ll try to close this channel out soon and take my business elsewhere.
As my experience illustrated, we’re still in rather early days when it comes to the Lightning Network. If you don’t have a bit of bitcoin to waste on mostly pointless Lightning payments or don’t want to bother debugging some issues along the way, you’ll probably want to stay away for now. Having said that, the Eclair wallet is only one of a variety of different implementations, and I hope to test out many different Lightning-enabled wallets and apps throughout the rest of the year.
Although there are still plenty of kinks to work out, I do feel like I was able to get a glimpse into the future of payments on Bitcoin.