Skip to content

Bond Yield: get paid at every churn, in RUNE or in USDC

THORChain is a network for swapping coins between blockchains. It is run by computers called nodes. Each node has to lock up RUNE, THORChain’s own token, as a security deposit, and THORChain calls that deposit the node’s bond. Most node operators (the people who run nodes) cannot fund it alone. So other RUNE holders stake their RUNE to a node and earn a share of its rewards. THORChain calls this bonding, and calls these stakers bond providers.

Rewards are paid at each churn: THORChain’s regular rotation of the nodes that run the network, roughly every few days. At each churn, some nodes join the group currently running the network (the active set) and others leave it.

Until now, every reward you earned was added to your stake. It stayed locked there until the node left the active set at a churn and you could withdraw your stake (THORChain calls this unbonding). Bond Yield lets you tell THORChain to pay out a share of every future reward to you automatically, at each churn:

  • You pick the share, from 1% to 100%. The rest is added to your stake, as before, so it keeps earning rewards of its own (compounding).
  • You pick where it goes: your own wallet in RUNE, another THORChain address in RUNE, or another asset, for example USDC. Another asset is sent to your address on that asset’s blockchain.
  • It applies to future rewards only. It never touches the RUNE you have already staked. It does not pay out rewards that were already added to your stake either.
  • If a payout cannot be completed, THORChain adds that share to your stake instead of paying it out. It ends up where it would have gone before Bond Yield.

You set it up with your own wallet. RUNEBond never holds your funds: the THORChain network itself makes the payouts.

  1. Open your portfolio. The Yield payouts card lists the nodes you have staked to. For each one, it shows the share that is paid out and where it goes.
  2. Click Set up next to the node. The node’s status has to be Active (running the network now), Standby or Ready (waiting to join).
  3. Choose the share of every reward you want paid out. The wizard shows an estimate of what that share is worth per churn. The estimate is based on your stake and on the average yield stakers have earned in the past (the historical average bond APY). It is not guaranteed.
  4. Choose the destination:
    • My wallet, in RUNE: the address you staked from. One transaction.
    • Another THORChain address, in RUNE: enter any THORChain address (they start with thor1…). One transaction.
    • Another asset: pick the asset and enter your address on that asset’s blockchain. Then register a new THORName or use one you already own. See below.
  5. Review and sign. The transaction moves no RUNE out of your stake. You only pay the network’s transaction fee.

The new setting applies from the next churn. To stop the payouts, open the same wizard and choose Disable payouts. The whole reward is then added to your stake again.

Payouts in an asset other than RUNE go through a THORName. A THORName is a short name registered on THORChain and owned by your wallet. It can hold one address per blockchain and a preferred asset: the asset you want to receive. RUNEBond shows the assets and blockchains available when you choose the payout asset.

When the wizard has to register or update the name, it takes two transactions. The wizard labels them Sign transaction 1 of 2 and 2 of 2:

  1. Register or update the THORName. This saves three things on the name: your destination address, the asset you want to receive and the conversion sensitivity (explained below). A new name pays THORChain’s registration fee: 10 RUNE on the live network (mainnet) today, which includes the first year. Each extra year costs a small additional amount.
  2. Link the node payout to the name. Once THORChain confirms the first transaction, the second one tells the network to send your payout to the name.

If you pick a THORName that already pays out the asset you want, to the same address and with the same sensitivity, the name needs no change. The wizard then skips that transaction.

At each churn, THORChain sends your share, in RUNE, to your THORName. Because the name has a preferred asset, that RUNE is not forwarded straight away. It builds up in a holding balance attached to the name (THORChain calls it the collector) until there is enough to be worth converting. THORChain then swaps that RUNE into your chosen asset and sends it to the address you set for that chain. Conversions are automatic: you never have to start one yourself.

Conversion sensitivity. Every time THORChain sends an asset out on another blockchain, it charges a network fee for that transfer (the outbound fee). The sensitivity sets how big the holding balance has to grow, as a multiple of that fee, before THORChain converts it. In other words, the amount that triggers a conversion (the threshold) is sensitivity × outbound fee of the asset. The fee is taken from every conversion, so each conversion loses about 1 / sensitivity of its value to it: about 5% at 20x, about 2% at 50x and about 0.5% at 200x.

Here is an example with round numbers. Say the outbound fee for your asset is worth 1 USDC. At 20x, THORChain converts as soon as about 20 USDC worth of RUNE has built up, and 1 USDC of that (about 5%) goes to the fee. At 200x, it waits until about 200 USDC worth has built up. You wait longer between payments, but the same 1 USDC fee is only about 0.5% of each conversion. So a higher sensitivity means a longer wait, but less lost to the fee.

Each conversion is also an ordinary THORChain swap. THORChain swaps against pools of funds supplied by other users. So each conversion also pays the pool a small fee (the liquidity fee). It may also get a slightly worse price because of the size of the trade itself (slippage).

A new THORName starts on the network default (200x today). RUNEBond lets you choose any whole number from 20x up, and you can reset it to the network default later.

THORNames and payout settings explains THORNames, the holding balance (collector) and the sensitivity in more detail.

After you sign, RUNEBond watches the transaction on THORChain and tells you how it ended:

  • Success: the new payout is set. It applies from the next churn.
  • Refund: THORChain rejected the change, and your previous settings stay active. RUNEBond shows the reason. For example, Bond Yield is not switched on yet, the wallet is not staked to that node (it is not one of its bond providers) or the wallet does not own the THORName.
  • Timeout: THORChain has not shown the change yet. The transaction may still go through. You can check it in the explorer, a website that shows every THORChain transaction.
  • The destination address is yours to check. RUNEBond cannot verify that you control it. Payouts sent to a wrong address cannot be recovered.
  • THORNames expire. Registration includes one year. Renew the name from Payout destinations in the portfolio. If the name expires, here is what you lose. Your payouts in the chosen asset stop: THORChain adds your share to your stake instead. Anyone can register the name, and you would pay the registration fee again even to register it yourself. Its settings are reset: the preferred asset, the addresses saved on it (THORChain calls them aliases) and the sensitivity. Here is what you keep. Any RUNE still waiting in the holding balance is not lost: it is paid to you, in RUNE, when the name is registered again, whether by you or by someone else. Your stake is untouched, and your share keeps going into it. If you subscribe to RUNEBond notifications for your address, by email or through the Telegram bot, RUNEBond warns you when a name you use for payouts is about to expire. See notifications via email and Telegram to subscribe.
  • Changing back to RUNE in your wallet is one transaction: RUNEBond sets your own address as the payout destination, and THORChain pays RUNE straight to it.
  • Conversions are market swaps at the current price, and they pay the swap and outbound fees described above.
  • Transferring a THORName to a new owner resets its preferred asset, addresses (aliases) and sensitivity. Any RUNE waiting in its holding balance is paid to you, the previous owner, at the transfer. From then on, yield payouts that point to the name go into your stake, because THORChain only pays a THORName owned by the staker.
  • Your stake is unchanged. Bond Yield only decides what happens to future rewards. Everything else works exactly as before: your stake stays locked until the node leaves the active set, slashing still applies (the penalty that takes part of a node’s bond if it misbehaves), and so does the operator’s fee.