How do I lose thee in Babylon?

Let me count the ways—slashed, locked, misdelegated, and more

Intro

Babylon offers exciting rewards and devastating penalties. You know the good stuff; this post counts down the ways your staked funds can go poof. It’s not you, it’s Bitcoin’s complexity—and there’s enough to keep you on your toes.

In this article

Locking up

There are many creative ways to render your funds inaccessible without earning yield. They include: 

  • Using the wrong parameter version. Let’s say you submit a Babylon staking transaction to Bitcoin, and then use the Babylon post-registration flow to inform the protocol about your newly created stake. If your transaction is rejected (e.g., because it uses the wrong parameter version), Babylon won’t accept the stake—and your stake will be locked, inert, for 6400 blocks, or about two years.
  • Using the wrong network id. Different screwup, same result as above: Babylon won’t accept the stake because it uses the wrong network id. 
  • Setting the wrong lock time. If your Babylon staking transaction accidentally specifies a longer-than-intended lock time, your funds will be locked up for…longer than intended. 

Losing funds 

There are even more creative ways to lose your funds altogether. They include:

  • Setting a massive fee. In 2023, for example, a custodian accidentally paid a $500k fee on a $2k transaction. You could do it too!
  • Specifying the wrong withdrawal address. Once the lock time is up, your staked funds end up in the withdrawal address specified in the Babylon staking transaction. If you specify the wrong address—or if an attacker gets access to your system and specifies their own address—you lose all of your staked funds. 
  • Specifying the wrong Babylon proceeds address. You’re staking because you want the rewards—but if you mess up the proceeds address, those rewards will end up somewhere you can’t access them. 
  • Specifying the wrong change address. Recall that Bitcoin operates in the UTXO model, so the input of every transaction is the output of a prior one—and that each transaction must spend its entire input. Therefore, if you have a 100 BTC UTXO lying around and only want to stake 20 BTC, you’d use the 100 BTC UTXO as input to the Babylon staking transaction, and receive 80 BTC as “change.” All 80 of those BTC disappear if you specify the wrong change address!
  • Specifying the wrong finality provider. If you accidentally stake to a bad actor’s finality provider, you lose money when that provider gets slashed. 

Protecting funds with CubeSigner

CubeSigner lets you lock down basically every aspect of the Babylon staking transaction. If you set your Babylon policy correctly, you’re safe: even if an attacker gets access to your signing token, all they’ll be allowed to do is (correctly) stake your funds—with your proceeds, change, and withdrawal addresses.

About

Blog & Updates

Explore Related Blog Posts