THORChain Q3 ’23 Ecosystem Report

Nine Realms
THORChain
Published in
10 min readOct 4, 2023

1 July 2023–30 September 2023

Q1’23 Report | Q2’23 Report

Summary

THORChain has completed the trifecta of Swap, Save, and Borrow with the delivery of the long-awaited Lending protocol with no liquidations, no interest, and no expiration. Streaming Swaps were added, making THORChain a strong competitor to centralised exchanges and seeing a massive lift in daily volume. Savers for Sables was added along with enabling Streaming Swaps for Savers and Lending, and BNB Smart Chain was added. Tweaks to the network, savers, and lending have occurred, Planned Obsolescence mostly completed and major integrations landed. It has been a massive three months for THORChain.

A look at Q3 Network Statistics

Dashboard | More Stats | Even More Stats

  • Total USD Volume: $2.38b (+114.4%)
  • Highest 24h Volume: $101.12m (+365%)
  • Change in Total Liquidity: $99.41m to 128.37m (+29.1%)
  • Change in Savers: $29.35m to $26.74m (-8.9%)
  • Liquidity Fees Collected: $3.38m
  • LP Earnings Breakdown: 48.3% Liquidity Fees — 51.7% Block Rewards

Top 5 Swap Routes by USD Volume:

  • BTC <> RUNE — $531,380,914
  • BTC <> ETH — $427,133,340
  • ETH <> RUNE — $318,131,414
  • ETH.USDC <> RUNE — $87,812,675
  • BNB <> RUNE — $81,637,191

Top 5 Swap Pairs by Liquidity Fees Generated:

  • BTC <> ETH — $1,234,624
  • BTC <> ETH.USDT — $345,432
  • ETH <> RUNE — $297,334
  • BTC <> RUNE — $291,907
  • BNB <> BTC — $144,102

Top 5 Affiliates by USD Volume:

Total affiliate fees paid out: $140.58k

What’s New to THORChain in Q3 2023?

Lending

The long awaited Lending protocol is live on THORChain. Users can deposit native BTC or ETH as collateral and receive TOR (USD)-denominated debt in the asset of their choosing. Lending on THORChain has no liquidations, no interest, and no expiration. From its release on 20 August to 30 September 2023, 455 loans have been opened and over 1 million RUNE has been burned.

Release Announcement — Medium | Documentation | Video | ADR-11

Lending Dashboard by Nine Realms

Lending Dashboard by Banbannard

Gitlab

Streaming Swaps

Streaming Swaps allows large swaps to automatically be broken up into multiple-sub swaps executed over time. Streaming Swaps allow liquidity fees for even the largest trades to go as low as 5 basis points, depending on arbitrage between sub-swaps. By allowing liquidity demands to be met over time rather than all at one, much better price execution is achieved. With Streaming Swaps, THORChain is now both faster and cheaper than using a centralised exchange.

Release Announcement — Medium | Documentation | Video | ADR-10

Streaming Swaps Dashboard by Spot Wiggum

Streaming Swaps Dashboard by Banbannard

BNB Smart Chain

BNB Smart Chain support has been added to THORChain. BNB and BEP-20 assets are now available for Swaps, LP, and Savers. Savers is now available for BNB on BNB Smart Chain.

Release Announcement — Medium

TOR Accounting

TOR (THOR.TOR ) is a non-transferable unit of account within THORChain, designed to match the value of $1 USD. It has been in use since ADR-003, which occurred 14 months ago. TOR cannot be exported to other platforms or networks and always maintains a market cap of $0.

Current TOR Anchor pools are:

  • ETH.USDC
  • ETH.USDT
  • BNB.BUSD
  • AVAX.USDC

RUNE’s canonical on-chain price measured in TOR is now available at the Network Endpoint

TOR serves several essential functions within the THORChain ecosystem:

  • Network Fees: As a result of ADR-009, network fees are now denominated in a specific TOR amount, rather than RUNE. This means the RUNE network fee that users are required to pay when conducting transactions within THORChain, will fluctuate depending on RUNE price.
  • Debt Accounting: TOR is used to account for debt within Lending. This means that any outstanding debts are measured and recorded in TOR units.
  • Only TOR Anchor Pools can be used for Stablecoin Savers.

Streaming Savers

*Feature is merged on Mainnet, but yet to be enabled via Mimir

Streaming Swaps are available for Savers*. Savers deposits and withdrawals will automatically use the Streaming Swaps feature to deposit and withdraw, with no additional input from the user. The swaps will use a sub-swap interval of 1.

Gitlab MR

Streaming Loans

*Feature is merged on Mainnet, but yet to be enabled via Mimir

Loans can be entered and exited using the Streaming Swaps feature*. The amount of swaps in a stream that can be performed for a loan open or close is dictated by the respective virtual pool depth. As the virtual pool depth shrinks, less streams can be performed. Below a virtual pool depth of 50% the parent pool, a streaming swap cannot be performed.

Virtual pool depths and Maximum # of Sub-Swaps:

Virtual Pool depth is 99.99% Parent Pool Depth = 10,000 maximum Sub-Swaps

99.9% = 1,000

99% = 100

98% = 50

95% = 20 (20 streams means a $1m loan is 50BPS)

90% = 10

80% = 5

70% = 3

60% = 2

50% = 2

10–40% = 1 (e.g., no streaming)

Lending Documentation | Gitlab MR

Savers for Stablecoins

Savers has been enabled for stablecoins that underpin TOR Pools. Any stablecoin pool that receives the TOR Anchor designation (“TORANCHOR” — configurable via Mimir) will immediately become available for Savers deposits.

Savers Yield Scaling Changes

Savers yield decreases as the Synth Utilisation (the liability a pool has for its synthetic assets) for a pool increases. MaxSynthsForSaversYield mimir has been decreased from 100% to 60% — meaning saver yield scales to zero at 60% synth utilization for a pool (which is also the current synthetic asset cap), further reducing incentive for savers to continue depositing when undesirable.

SynthYieldBasisPoints’ has been increased from 50% to 80%. Meaning pools with 36% synths per pool will maintain yield parity vs the previous flat 50% yield; and pools with lower synth utilization will see increased yield.

Details in the Developer Discord

Dynamic MaxAnchorSlip Calculation

The behavior of MaxAnchorSlip for lending has been changed to adjust dynamically, based on the previous volume of the network. The mechanism looks at the past two weeks of volatility and adjusts the MaxAnchorSlip accordingly. The MaxAnchorSlip dictates the sensitivity of the virtual pools constricting during times of volatility for the network. The number was static, but now will change dynamically.

Gitlab MR

Generic Data Passing Between Chains

This extends the usage for memos in THORChain to be used for arbitrary purposes, including being able to send arbitrary data between two smart contracts on two chains, or for generic messaging between two supported chains. This increases the aggregation possibilities using THORChain.

Gitlab MR | Developer Documentation

Preferred Assets Payouts for Affiliates

Affiliates can now register a preferred payout asset to their THORName. When a preferred asset is set, affiliate fees will be collected in the “Affiliate Collector Module”. When the accrued fees for an affiliate reach 200x the outbound fee for that asset, a swap is initiated and the affiliate is paid. This allows THORChain to pay each affiliate in the asset of their choice, including Bitcoin, ETH, and Stablecoins, and is no longer limited to be paid in RUNE only.

Developer Documentation | Gitlab MR

Nine Realms Transaction Tracker

Nine Realms has developed an open source transaction tracker for the community to make use of. The app tracks the lifecycle of the transaction from observation, confirmations, swapping, outbound delays, and outbound confirmations. Transactions can be tracked by adding the relevant transaction hash to the URL.

https://track.ninerealms.com

General Network Updates

Generic UTXO Client Refactor

The UTXO client has been reconfigured for increased efficiency. The changes have already been rolled out for DOGE and BCH. The refactor will be used for LTC and BTC in the future after further validation.

Gitlab MR

Asset Short Codes

Short codes have been added to make memos shorter. For example “b” can be used in place of “BTC.BTC” for native Bitcoin, “e” for “ETH.ETH”, “r” for “THOR.RUNE”, etc.

A full list of short codes and memo reduction techniques can be found in the Developer Documentation | Gitlab MR

Midgard Performance Improvements

Midgard version 2.17.0 underwent upgrades that delivered major performance improvements. Users of the Midgard API should update to the latest version to use these enhancements.

Details in the Developer Discord

Changes for Multi-Node Operators

Single operators with multiple nodes, have their nodes spread out as much as possible among the Asgard vaults based on their node operator address.
This increases the difficulty for any node operator to gain a controlling share of an Asgard vault and makes it significantly more difficult for a malicious actor to acquire a controlling share of an Asgard vault.

Gitlab MR

Pending Liquidity Removal

Pending liquidity from incomplete symmetrical additions were committed to their respective pools via a mimir change (PENDINGLIQUIDITYAGELIMIT) reducing the commit cycle time. Symmetrical were changed to Asymmetrical additions allowing their owners to still have claim the liquidity at a later stage.
Pending add liquidity auto-commit record

Planned Obsolescence Almost Complete

  • ETH.RUNE and BNB.RUNE deprecation was completed with the Killswitch on block 11,756,000, along with all vesting. The migration period was over 2 years with a 12 month killswitch duration enacted by nodes upon the announcement of Mainnet.
  • Control of social media accounts (Twitter, Telegram, Discord), code base (GitLab, GitHub), and the Treasury has been distributed among the community.
  • THORSec retains limited Admin Mimir control to fulfill its responsibilities for Network Operations and Security. Admin Mimir will be deprecated in favor of Mimir V2 — separating economic constants from operational constants and accessible to all validators.
  • Active Node Operators retain full control over the network, including the ability to modify any Admin Mimir settings, which are already limited by a denylist.
  • After Mimir V2 is implemented, Admin Mimir is removed and Planned obsolescence is complete.

In the Pipeline

Memoless Transactions

Memoless transactions will allow transaction intents (memos) to be registered and executed by transactions that don’t contain a memo. To achieve this, a registered memo is given a 5 digit reference number. To correlate a transaction without a memo to a registered memo, the last 5 digits of the amount must match the reference number.

For example, if a registered memo has a reference number of “12345” and the user wants to swap 1 BTC, the user would send 1.00012345 to a THORChain vault address and the transaction will be executed for that intent.

Memoless transactions will make interacting with THORChain completely agnostic to the wallet that is used. An interface can register a memo for a user based on their intent — make a swap, take out a loan, etc — and display an exact amount to send along with the address to send coins to. As long as the instructions are followed exactly, this can be achieved with any wallet. Users can take out a loan with Bitcoin Core or swap with a CLI wallet.

Memoless also makes long memos possible on chains that don’t have enough space for long memos — such as using THORChain’s DEX aggregator from Bitcoin, which has an 80 byte memo limit.

GitLab Issue

Order Books

Order Books are planned to sit on top of THORChain’s AMM with a unique design, diverging from a traditional orderbook. Orders are created as synthetic assets with a trade target that automatically execute when the AMM can guarantee execution. Orders do not execute against other asks/bids, they execute against THORChain’s AMM.

For example, a user wishes to place a sell order of 1 BTC to USDT when BTC goes above $100k. 1 BTC can be stream swapped into ~1 synthetic BTC, and an order will be placed. When the BTC price reaches above $100k, the swap is automatically executed and the user receives the requisite amount of USDT. If the user wishes to cancel the order, they can at any time and stream swap back to L1 BTC or place another order.

GitLab Issue

Perpetual Contracts

Perpetual Contracts (perps) are in the consideration / early design phase and are still a work in progress. An ADR will be required to pass the governance process to ratify a design before adoption.

GitLab Issue

Cold Vaults

Cold Vaults are in the consideration / early design phase and are still a work in progress. An ADR will be required to pass the governance process to ratify a design before adoption.

GitLab Issue

Mimir V2

Admin Mimir will be deprecated and the current mimir functionality will be replaced by Mimir V2. Mimirs will be separated into “economic” and “operational” constants with different consensus requirements. Operational constants like chain pausing will be accessible by any validator so the network can stay nimble and respond to threats in real time, while economic constants will continue to require a supermajority consensus to change. This is the last remaining step for the completion of Planned Obsolescence.

GitLab Issue | GitLab Issue

Custom Refund Addresses (EVM Only)

Custom refund addresses will be enabled, which will make it so that refunds will be sent to the specified address, rather than the sender — opening up possibilities for smart contracts to make swaps with thorchain without introducing the possibility of loss of funds for the user

GitLab Issue

Integrations Updates

Ledger

  • THORSwap app has been released in Ledger Live

Trust Wallet

  • Added support for ERC-20 and BEP-2 assets

Edge Wallet

  • Added support for Streaming Swaps

Lends

  • Added support for Lending

ThorWallet

  • Added support for BNB Smart Chain

THORSwap

  • Added support for Lending
  • Added support for BNB Smart Chain
  • Added DEX aggregation with Pancake Swap for BNB Smart Chain

Rango Exchange

  • Added support for BNB Smart Chain

Shapeshift

  • Launched a MetaMask Snap, enabling MetaMask users to access THORChain cross-chain functionality via ShapeShift interface

AsgardEx

  • Added support for Synthetic Assets
  • Added Savers support
  • Added Streaming Swaps

Other Ecosystem Projects:

Where to get more information?

  1. Twitter Spaces — held most weeks
  2. LPU University — monthly posts
  3. GrassRoots Crypto — monthly update videos

Community

To keep up to date, please monitor community channels, particularly Telegram and Twitter:

Website | Documentation | Twitter | Telegram Community | Telegram Alerts | Community Discord | Developer Discord | Explorer | Viewblock | Reddit | Github | Gitlab | Medium | Linktree | Thorcharts

--

--

Nine Realms
THORChain

Supporting the THORChain ecosystem through engineering, infrastructure, institutional liquidity, and integrations.