Beta release (increased limits 🙌)

michael1011
boltzhq
Published in
4 min readApr 26, 2019

We would like to start by thanking everyone who used Boltz since our alpha launch three weeks ago. We are stoked with the positive feedback we have received till now and appreciate the love and support from the community.

The last three weeks were extremely surreal and we couldn’t have asked for a better launch story. Shortly after the shipping of Boltz alpha, it caught the eye of Litecoin founder Charlie Lee and his tweet definitely helped to gain some initial traction.

Here’s a timeline of how the launch unfolded:

Charlie’s tweet set the ball rolling:

Other Bitcoin thought leaders like Matt Odell also tweeted about Boltz:

To add a cherry on top of the sundae, we got some decent press coverage as well:

The blog “Bitcoinist.com” wrote an article about Boltz and called it a “Shapeshift Killer”.

Our launch also got shoutouts in the podcasts Bitcoin and … and Rabbit Hole Recap. And as if that wouldn’t have been enough already, Giacomo Zucco didn’t call Boltz a scam instantaneously, which is a no less than a win.

Backstory

While the post-launch story is worth cherishing for, the road to launch was a rough one. We found ourselves delaying the launch serveral times because there was always one more thing to fix, improve, or add. In retrospect, most of the added features are really good to have but it was getting frustrating to have this “Guys, I think we have to delay the launch” pop up in the team chat every week. In our industry, one has to make sure that the software that is shipped is robust or, the risk of losing funds of our users can be disastrous. We also took the added precaution of having low limits in place for the alpha release for this very reason.

One good example of an unexpected task is that we switched our backend from BTCD and LTCD to Bitcoin and Litecoin Core. On our local machines, LTCD worked just great. But on testnet, we encountered some glaring issues like:

  • refund transactions getting into the mempool of our node but not being broadcasted to the network,
  • nodes not restarting after updating LTCD,
  • RPC calls that never returned a result.

Due to these reasons, we decided to switch to Bitcoin and Litecoin Core which took quite a while and a lot of additional manual testing.

Another example is, when swapping testnet coins, we experienced other issues that didn’t come to our mind when building on local simnet or regtest networks. A swap fails if there is not enough balance on the right side of the channels through which the payment gets routed. We never experienced these issues with the nodes on our local networks but on testnet, where balanced channels are unheard of, this quickly became a real issue. We had to add an additional event to inform our users about such failures while paying an invoice. Then one of us had an unreliable internet connection and the event stream between the frontend (which largely works independently, locally in your browser) and the Boltz backed failed which caused the swap to be stuck. Expectedly, no funds were lost but this makes for a bad user experience which caused us to add a reconnecting logic to the frontend.

These bugs and needed features kept adding up until we decided three weeks ago that we finally felt comfortable to open Boltz to the public. All in all, we are satisfied with the outcome. Lots of swaps, with the pair LTC to ⚡-BTC being the most popular one. Some swaps failed, which is great for us to analyze and improve, but all refunds worked as expected.

Beta release

Today, we deployed this new release with the goal to make Boltz actually useful. We are increasing the limits for all swaps on all of the LTC/BTC pairs. Apart from this, the beta release features:

  • checking whether an invoice can be paid before accepting a swap
  • better and more informative error messages
  • a bugfix that caused the frontend to get unresponsive
  • some other fixes and updates in our backend

We also updated our infrastructure and one of those updates was LND version 0.6. Our channels are backed up with SCB from now on to ensure that we are not loosing funds because of lost channel states. Both, our BTC and LTC LND nodes, got lots of channels opened to them and we are grateful for all of the inbound capacity!

Although this release might seem a bit insipid since there are no major changes, the next one is already planned so please stay tuned and happy swapping!

--

--