THORChain September 2024 Hard Fork Preparation

Nine Realms
THORChain
Published in
3 min readAug 20, 2024

THORChain’s native blockchain will undergo a hard fork upgrade on 4 September 2024 at 7pm UTC, estimated at block 17562000. There will be planned downtime for sends, swaps, and other actions on THORChain while validators coordinate a routine upgrade.

No action is required by any user.

Interfaces, exchanges, wallets, and dApps must prepare to ensure a seamless transition for your users.

What is being upgraded during the hard fork?

  • Cosmos SDK version upgrade from 45.1 to 45.16
  • Remove obsolete legacy code
  • Remove unnecessary Cosmos modules
  • Trim node state for faster sync (>1 TB)
  • Add support for Bitcoin Taproot addresses
  • GitLab Milestones

Why is there an upcoming hard fork?

THORChain’s normal upgrade path is usually carried out once 100% of validators adopt a new version of THORNode. Every so often, updates must be made that require a coordinated hard fork upgrade, rather than the usual seamless upgrade with no service interruptions. Out of an abundance of caution to protect user funds, nodes will coordinate to pause swaps and validator churning.

When the hard fork block is reached, nodes will stop producing new blocks and update to the new version (2.135.0) of THORNode. Once all nodes have upgraded and new blocks have begun production, nodes can coordinate to re-enable trading, churning, and any other paused actions.

Countdown to block 17562000

Note that this block height can be subject to change — announcements and updates will be made in the THORChain Developers Community Discord server.

Preparing for the Hard Fork

What do users need to do during the hard fork?

No user action is necessary

What do interfaces and exchanges need to do to prepare for the hard fork?

  • If a project supports sending (MsgSend) or depositing (MsgDeposit) RUNE, synths, or trade assets, the chain-id will need to be updated to support the new chain (details below)
  • There will be planned downtime of all THORChain services and transactions including transferring rune, swapping, savers, lending, thorname, and node operations.

Supporting the new Chain-ID

  • Projects that support any type of transaction of the THORChain network are advised to immediately start pulling in THORChain’s current chain-id dynamically in transaction creation to ensure no service interruptions occur after the chain is hard forked
  • Use the following endpoint: https://rpc.ninerealms.com/status
  • Retrieve the current chain-id from the result.network property
  • Use this chain-id when building all THORChain transactions
  • After the hard fork, this value will automatically update with the new chain id
  • New chain ID will be “thorchain-1”

Service Outages:

  • Ensure your interface is not allowing any swaps, savers actions, lending actions, rune transfers, or any other network operation during the planned downtime.
  • If your interface is using the quote endpoint, ensure no swaps are sent if you receive an error from that endpoint or if the endpoint is not available

Announcements, Support, and Questions

Interfaces and exchanges in need of support should join the THORChain Developers Community Discord and get in contact with the community developers.

Announcements regarding the hard fork will be made in the #thornode-mainnet and #interface-alerts channels

Note that the hard fork date and blockheight has been changed since the original announcement.

Announcement 1

Announcement 2

Community

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

Website | Documentation | X | Telegram Community | Telegram Alerts | Community Discord | Developer Discord | Explorer | RuneScan | Reddit | Gitlab | Medium | Linktree | Thorcharts

--

--

Nine Realms
THORChain

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