Introduction

Purpose

The purpose of this site is to act as a "community guide", consisting of how-tos and FAQs for things relating to THORChain. This includes instructions for how to achieve tasks on front-ends (such as THORSwap).

While this site originally started as a GitHub Gist written exclusively by one person, over time more and more people began contributing information and reviewing procedures. At times, even official front-ends refer users to some of the procedures here!

We hope that you find the information here beneficial.

Technical details

The site is written entirely in Markdown, rendered using mdBook, a documentation-oriented static-site generator.

It is hosted using GitHub Pages, with Cloudflare sitting in front of it to provide additional benefits like security, caching, and general metrics.

The site leverages GitHub Actions; every time there is a commit pushed to the master branch of the official GitHub repository, the site auto-builds and auto-updates.

Users who wish to make contributions are welcome to do so via pull requests. Contributors with a strong dedication to the site can be added as official collaborators on GitHub, thus allowing them to commit directly (i.e. no PRs).

General Q&A

This section contains general Q&A items, primarily induced by repeated questions asked on the THORSwap Discord.

Do memoless Earn/Savers actions use streaming swaps?

Yes, memoless Earn/Savers actions automatically use streaming swaps. Specifically, they use a default of 1 block interval per sub-swap, and auto adjust the number of sub-swaps to target the minimum 5bps of slippage fees.

How can I track my LP or Earn/Savers earnings?

  • THORYield mobile app for Android (via Google Play Store) (recommended)
  • THORYield mobile app for iOS (via Apple Store) (recommended)
  • THORYield app (web-based)

I just opened my LP or Earn/Savers and it's not showing up in THORYield!

THORYield as of this writing (2023/11/15) is a bit slow to notice new LPs and Savers/Earn accounts. Please give things 24-48 hours to settle.

In the meantime, you can use the THORChain Network Explorer to verify your LP/Savers exists. Simply visit the site and search for your wallet address (for symmetrical LPs, please use your THORChain address), then visit the LP/Savers tab and wait a few moments for the details to appear.

Alternately, you can use the Midgard API directly if you are technically inclined. Use the /v2/member endpoint.

If I deposit an asset asymmetrically in an LP, and I expect the opposite asset to gain in value, will I end up with more of the asset I deposited?

Yes. This is because when adding the asset you deposited, 50% of it was automatically swapped into the opposing asset.

Example: you entered into an asymmetric LP depositing BTC (thus putting you in the BTC.RUNE pool). This causes half of your deposit to be swapped for RUNE (at the time the LP was opened). If RUNE pumps, your LP position will auto-rebalance 50:50, thus you will have more ETH than originally deposited.

For further information on asymmetric LPing and 50:50 balancing, as well as impermanent loss, please see the following THORChain University blog posts:

Is the APR percentage on THORSwap/THORYield real (e.g. 500%)?

Yes. However, it's important you understand that LPs and Earn/Savers accounts are not like bank accounts with static or guaranteed interest rates; the APR varies constantly. The numbers shown on THORSwap and THORYield refer to the gains over the past period (usually 7 days on THORSwap, and 180 days on THORYield). The APRs are LUVI-based.

Quoting SamYap of THORChain University:

  • LP APRs are backward calculated, not guarantee of any future returns
  • LP APRs depends significantly on RUNE price movements & calculation time periods

See https://crypto-university.medium.com/under-the-hood-liquidity-pool-apr-3e5e662e6675 and https://crypto-university.medium.com/under-the-hood-apr-of-a-fluctuating-position-948f49dace8a

Note: The synth leverage on @THORChain's LP goes both ways.

  • When RUNE:Asset price ratio drops, you may see -100% APR (or lower).
  • When RUNE:Asset price ratio increase, LPs can get a similarly "exponential" positive yield as well.

Doing LP is like betting on RUNE price performance.

Is the negative APR I see correct? How can that be?

Yes. Quoting paperX of THORSwap:

Any "negative % APR" stems from THORChain's "synths effect" and LUVI based calculations. You can read all about the details here (See part 3): https://medium.com/thorchain/introduction-to-luvi-and-midgard-apr-calculation-update-cf15e743276d

What are the risks associated with Earn/Savers?

What are the risks associated with LPs?

The risks are mostly the same as what's covered in the "What are the risks associated with Earn/Savers?" section, with some additions:

Where can I see APR performance over time?

Try the THORChain Network Explorer. Navigate to Insights → APR. There you can see 30, 60, 90, and 180-day histories.

THORChain

  • THORChain only supports Native Segwit and legacy Segwit Bitcoin (BTC) addresses. Taproot IS NOT supported! Use of a Taproot address will result in loss of funds!
  • Repaying a loan (Lending/Borrow) can sometimes leave a small amount left on the loan, making it difficult to close the loan given THORChain's minimum transaction sizes. To work around this problem, try repaying the loan using an asset which can get you the granularity you need to close the loan. BNB (BEP20/BSC), DOGE, and RUNE tend to be good choices (granular and cheaper gas).

BEP2 and ERC20 RUNE

BEP2 RUNE was officially announced as deprecated in July 2022 when KillSwitch was enabled. This period lasted 12 months.

By July 2023, both BEP2 RUNE and ERC20 RUNE were officially unsupported by THORChain.

THORSwap also effectively removed support for both, including the "RUNE-to-native-RUNE" converter mentioned in past YouTube videos.

BEP2

As of February 10th 2024, two (2) exchanges Bybit and Coinlocally are no longer accepting BEP2 RUNE deposits. It is unknown whether or not such deposits will be restored.

As of this writing there are no known ways to convert BEP2 RUNE into native RUNE or another asset.

ERC20

Swap or sell the ERC20 RUNE on any Ethereum DEX for whatever you can get for it. Uniswap is one such DEX.

History

Here are some links covering the history and evidence of the deprecation:

Delays

A common scenario we get in the THORSwap Discord is a user a particular transaction (ex. swap, withdrawal, closing a loan, etc.) and seeing the THORSwap transaction tracker show things in a "pending" state for a very long time. In other cases, the THORSwap transaction tracker doesn't show anything, or might even show a blank page.

As of this writing (2023-11-19) there are bugs/quirks with the THORSwap transaction tracker's "Details" feature, where parts of the UI don't get updated properly (if at all). This leads to users panicking, thinking something has gone wrong, followed by claims that "their transaction is stuck".

Most of the time (~98%) the transaction is not "stuck", but rather subject to THORChain's outbound throttling security mechanism.

This mechanism can delay the "outbound" portion of the transaction up to 1 hour.

For more information on the security mechanism, refer to this THORChain University article which covers some other scenarios.

In mid-January 2024, THORChain implemented swapper clout to help ease some of the burdeons of said mechanism.

Additionally, blockchain validators (miners) can sometimes take a while to verify transactions. For example, on the BTC blockchain, there have been times where validators have taken upwards of 45 minutes to validate and provide enough confirmations for funds to appear in a user's wallet. This is not the fault of THORChain.

Dust threshold chart

AssetThresholdEquivalent
BTC10,000 sats0.0001 BTC
BCH10,000 sats0.0001 BCH
LTC10,000 sats0.0001 LTC
DOGE100,000,000 koinu1 DOGE
ETH and ERC2010 gwei0.00000001 ETH
AVAX10 gwei0.00000001 AVAX
ATOM0 uatom0 ATOM
BNB0 nbnb0 BNB
ETH and AVAX have a 10 gwei threshold due to those chains using 1e18 granularity. However, THORChain only supports up to 1e8 granularity.
As of November 2023, the original source for these values is incorrect and outdated.

Front-ends

A list of Front-ends, Exchanges and Wallets supporting THORChain can be found at THORChain Ecosystem.

A list of Affiliate fees charged by different Front-ends can be found at TCUniversity Medium.

Features and region limits may vary per Front-end. DYOR.

Gas chart for dummies

DetailsGas requiredRequired wallet connection
Swap asset X to asset YNative chain for XNative chain for X and/or Y
Swap synth X to asset YRUNE ≥0.02THORChain
LP Deposit asymm RUNERUNETHORChain
LP Withdraw asymm RUNERUNE ≥0.02THORChain
LP Deposit asymm assetNative chainNative chain
LP Withdraw asymm assetNative chainNative chain
LP Deposit symm RUNE + assetRUNE + native chainTHORChain and native chain
LP Withdraw symm RUNE + assetRUNE ≥0.02THORChain
LP Withdraw symm (100% RUNE)RUNE ≥0.02THORChain
LP Withdraw symm (100% asset)RUNE ≥0.02THORChain
Earn/Savers DepositNative chainNative chain
Earn/Savers WithdrawNative chainNative chain
Staking $THOR into $vTHORETHEthereum
Unstaking $vTHOR into $THORETHEthereum

: It is possible to swap from asset X to Y with only the native chain for X connected. You can enable the Custom Recipient Address feature in the Swap UI and then manually enter the destination address for asset Y. THORSwap populates this field for you automatically if you choose to connect both asset X and asset Y chains simultaneously.

"Native chain" means whatever chain an asset lives on. Some examples:

ChainAssetGas asset
Avalanche C-ChainUSDC (AVAX)AVAX
Binance Smart ChainUSDC (BEP20)BNB (BEP20)
BitcoinBTCBTC
Bitcoin CashBCHBCH
CosmosATOMATOM
DogecoinDOGEDOGE
EthereumTHOR (ERC20)ETH
EthereumUSDC (ERC20)ETH
LitecoinLTCLTC
THORChainAny synthRUNE

Inbound confirmations

THORChain requires a certain number of inbound confirmations when receiving an asset on the THORChain network. This is sometimes called the "inbound leg".

Reviewing inbound confirmations is somewhat complicated and technical:

  1. Visit https://thornode.ninerealms.com/thorchain/tx/status/YOUR_TRANSACTION_HASH in your browser
    • Replace YOUR_TRANSACTION_HASH with the Transaction Hash/ID from the earlier procedure
    • You may need to ensure the Transaction Hash/ID is in all lowercase
    • If you see the message {"error":"rpc error: code = Unknown desc = internal"} then the Transaction Hash/ID is wrong
  2. If the transaction is found, you should be shown a JSON blob (a bunch of technical data in text)
  3. Look through the structured data for a section called stages
    • There are sub-sections called inbound_observed and inbound_confirmation_counted which are related to inbound confirmations
  4. Review the section called inbound_finalised
    • If the completed field is false, then the inbound leg is still in progress
    • If the completed field is true, then your transaction is not stuck in the inbound leg

Loan status

You can use RuneScan to check the state of your loan:

  1. Visit RuneScan
  2. Search for your loan address. This is the wallet address with which you provided collateral. Ex: if you opened a loan using BTC, this would be your Bitcoin address
    • If your address is found, it will appear in a pull-down menu which you must select (unlike other search interfaces where you need to hit Enter)
    • Alternately, you can visit https://runescan.io/address/YOUR_WALLET_ADDRESS in your browser
  3. Click the Loans tab
    • This will only be present if you have an open loan or a loan credit
    • If there is no Loans tab, then the address no longer has an open loan
    • If there is a negative value for Debt Current then your address has a loan credit

You can also examine your transactions on RuneScan:

  • Loan open transactions will show "Loan" in blue
  • Loan repayments (or closures) transactions will show "Repay" in green
  • You can drill down onto any transaction to see its state. Completed transactions will show "Success" in green

Manual loan repayment

When paying off a loan on THORChain, as of this writing (2023/12/29), it's common that there is price movement during the transaction. This can/will result in a very small amount of debt remaining (usually in US cents), which blocks the return of your collateral. You can check this by following the Loan status procedure.

The rest of this article describes how you can pay off the remaining part of the loan by manually creating a THORChain memo using the MsgDeposit feature.

The below procedure is an advanced feature that should not be performed by users unless they understand what they are doing. A single typo or mistake could result in loss of funds.

If you at any time feel unsure about using this procedure, then please stop and use a front-end for safety!

Procedure

  1. Get your loan address. This is the wallet address with which you provided collateral. Ex: if you opened a loan using BTC, this would be your Bitcoin address
  2. Look up details of the loan using the Midgard API: https://midgard.ninerealms.com/v2/borrower/YOUR_WALLET_ADDRESS
    • In the above link, replace YOUR_WALLET_ADDRESS with your loan address from the previous step
    • In the resulting page, take note of the collateral_asset field -- you'll need it later
  3. In the upper right corner of THORSwap: Cog wheel > Pro Mode Settings > Show Send Custom Tx > Enable
  4. In the menu on the left, click Wallet > Send and then enable the Toggle custom MsgDeposit form option
  5. You must now manually create the memo string of the transaction. This should be LOAN-:collateral_asset:loan_address
  6. Select the source asset you want to use to pay off the loan, and the amount. Things to note:
    • Gas/transaction fees will come of out of the sender's wallet and is not part of the "amount to send"
    • If the amount sent is in excess of the debt, the difference will be treated as a "credit" (associated with the loan address)
  7. Click Send
  8. The repayment transaction should be in progress. In the THORSwap Transaction History UI (upper right of the site), you can click on the link button to be taken to RuneScan and watch the repayment transaction in real-time. It will take several minutes, but RuneScan should eventually show "Success" for a "Repay" transaction.
  9. Once the repayment is successful, THORChain will begin the process of sending the colleteral back to the original address which opened the loan. This is (usually) an outbound transaction and thus subject to THORChain outbound delays. Refer to [How to track a transaction] to find the outbound transaction and get its ETA.

Example scenario

  • An individual opened a loan for some BTC, providing collateral in ETH
  • The ETH address associated with the loan is 0x123abcd
  • They have paid off 99% of their loan, but a small amount of debt worth US$0.45 remains and they need to pay it off fully
  • They don't have any other assets to use to pay off their loan, so their friend comes to the rescue
  • Their friend wants to help pay off their remaining debt using RUNE
  • In this scenario, 1 RUNE is worth US$1.00

The friend then does the following:

  1. Gets the loan address (address of ETH collateral): 0x123abcd
  2. Visits https://midgard.ninerealms.com/v2/borrower/0x123abcd and sees collateral_asset is ETH.ETH
  3. Connects their THORChain wallet to THORSwap, enables "Show Send Custom Tx", and goes to Wallet > Send
  4. Manually enters a memo of LOAN-:ETH.ETH:0x123abcd
  5. Selects RUNE, and chooses an amount of 1.01. (The minimum amount of RUNE you can send has exceed that of US$1.00. This is a THORSwap limitation.)
  6. Clicks Send
    • A total of 1.03 RUNE will taken from their wallet: 1.01 for the loan repayment, and 0.02 for transaction fees/gas
    • The $0.56 worth of RUNE "in excess" will be tracked as a credit, associated with the loan address 0x123abcd
  7. Waits a few minutes then checks the transaction on RuneScan: it says "Success" and "Repay"
  8. Waits a few more minutes, then follows the Tracking a withdrawal procedure
    • He finds the ETH collateral is in the Scheduled Queue and is to be processed in 55 minutes

Queues

THORChain has two (2) kinds of queues that pertain directly to outbound transactions: the Scheduled Queue, and the Outbound Queue.

You can see both of these queues using the 9R THORChain Tracker.

Scheduled Queue

Transactions in the Scheduled Queue are intentionally delayed due to THORChain's outbound throttling security mechanism.

Transactions in this queue have an ETA field, which is the amount of time remaining until your transaction is moved into the Outbound queue.

The Scheduled Queue data comes directly from the /thorchain/queue/scheduled THORNode API endpoint.

Outbound Queue

Transactions in the Outbound Queue are actively being processed by THORChain (i.e. not delayed). When a transaction enters this queue, it's assigned to an Asgard vault, which then signs the transaction and generates the actual outbound transaction (on the destination blockchain). Once this process has completed, the transaction is no longer THORChain's responsibility.

These transactions have an AGE field. This field represents how long a transaction has been assigned to an Asgard vault, but not yet signed or having its outbound transaction accepted (on the destination blockchain). If neither of the latter scenarios have not completed within 30 minutes (or more precisely, 300 blocks (SigningTransactionPeriod)), the transaction will be reassigned to a different Asgard vault and AGE reset to 0 minutes.

In normal cases, this queue is processed quickly. However, there are some scenarios where the queue can become large. In these situations, it's common to see transactions with a large AGE field, or being shuffled around between different Asgard vaults.

Some example scenarios where this might happen:

  • Asgard vault churn, which is done periodically (usually every 2.5 to 3 days)
    • Transactions with a Type of MIGRATE are indicators churn is happening
  • Gas estimation quirks or bugs (such as those fixed in THORNode v1.131.0)
  • Anomalous conditions which require developer attention (and possibly a chain halt)

The Outbound Queue data comes directly from the /thorchain/queue/outbound THORNode API endpoint.

Savers/Earn memoless withdrawal

If you have a Savers/Earn position you wish to withdraw and are unable to use a THORChain front-end, you can try a memoless withdrawal.

This little-known feature of THORChain allows you to issue a withdrawal by sending a small (yet very specific) amount to a special THORChain wallet address. No need for a front-end!

The below procedure withdraws 100% of your Savers/Earn position. Please review the procedure before performing any actions!
  1. Make sure whatever wallet you're using has the wallet address which opened the Savers/Earn position. This is super important!
  2. Visit https://thornode.ninerealms.com/thorchain/inbound_addresses and search for the THORNode chain name associated with your Savers/Earn asset (see below chart).
  3. Extract the address field from the structure. This is the destination address you'll be sending a small amount to.
    • The address field will change depending on which THORNode server you hit (it's random). What's important is that you do the above 2 steps every single time you want to do a memoless withdrawal. The addresses change regularly; sending funds to a deprecated/expired address will result in the loss of those funds.
  4. In your wallet, send the required amount (see below) to the address obtained in the previous step.
Only send the specific amount shown in the chart! A different amount (smaller or larger) can result in a partial withdrawal or loss of the sent amount.
Savers VaultTHORNode chain nameAmount for 100% withdrawal
ATOMGAIA0.0001 ATOM
AVAXAVAX0.0001 AVAX
BCHBCH0.0002 BCH
BNB (BEP20/BSC)BSC0.0001 BNB (BEP20)
BTCBTC0.0002 BTC
DOGEDOGE1.0001 DOGE
ETHETH0.0001 ETH
LTCLTC0.0002 LTC
USDC (AVAX)AVAX0.0001 AVAX
USDC (ERC20)ETH0.0001 ETH
USDT (ERC20)ETH0.0001 ETH

THORSwap

  • THORSwap only supports Native Segwit and legacy Segwit Bitcoin (BTC) addresses. Taproot IS NOT supported! Use of a Taproot address will result in loss of funds!
  • Due to DDoS attacks and abuse on THORSwap and 9Realms infrastructures during late 2023, rate-limits were applied to ensure service reliability. However, these limits can occasionally cause problems for users, such as having their IP address temporarily blocked for 1 hour. If you encounter this, you may want to switch to using a VPN (i.e. get a new IP address) to see if things work. However, be sure to read the next item.
  • Some third-party APIs that THORSwap relies on block VPNs or block certain geographic regions. Sadly, THORSwap has no direct control over these stipulations. This can cause various problems that are not immediately obvious to users of THORSwap. This can sometimes manifest as the website not loading, wallet connections failing (especially for WalletConnect), wallet balances being wrong, or other oddities.
  • Try to avoid using the Max button when doing transactions. Max does literally what it says, which means some transactions might fail because you might not have enough for gas. It's recommended that you decreasing the asset quantity by a small amount to give some "breathing room". Yes, this will leave you with some dust, but it greatly increases the odds of successful transactions.

Tracking a swap

Historically, swaps were exclusively done through THORChain. However, in early March 2024, THORSwap introduced Chainflip as a secondary liquidity protocol for swaps.

How to track a swap depends on which provider was used.

If you're unsure which provider was used for your swap, start with Chainflip.

Chainflip procedure

As of this writing (2024/03/30), Chainflip-based swaps do not show up in the THORSwap Transaction History UI (users will be shown a blank page or a page with a never-ending spinner). Below is how you can find your swap:

  1. Visit the Chainflip swap tracker
  2. Scroll down the page until you find the Search by swap ID or destination address search box
  3. Enter your destination wallet address. For example, if you swapped BTC into ETH, you would enter your Ethereum wallet address
  4. If your swap was done through Chainflip, you should be show details of your swap, as well as a progress indicator
  5. If your swap is not found, try following the THORChain procedure below

THORChain procedure

  1. Find the Transaction Hash/ID of your THORSwap activity. There are multiple ways to do this:
    • In THORSwap: click the Transaction History button in the upper right, then choose View Details
    • In RuneScan: search for your wallet address (either source or destination address) and look for your swap transaction. If found, click on it and there should be an icon to copy the Transaction Hash/ID
    • If you still can't find your transaction, then THORChain might be waiting for inbound confirmations
  2. Visit the 9R THORChain Tracker
  3. Enter the Transaction Hash/ID into the Swap Transaction ID search box at the top of the page

If your transaction is found, details about it will be shown. Depending on which queue your transaction is in, it may or may not have an ETA. Refer to THORChain queues for further details.

If you still can't find your transaction on THORChain, you can try the procedure documented in Tracking a withdrawal.

Tracking a withdrawal

These instructions can be used for any of the following scenarios:

  • Withdrawing from an LP
  • Withdrawing from Savers/Earn
  • Closing a loan

Procedure

  1. Visit the 9R THORChain Tracker
  2. Use Ctrl-F or Command-F to search the web page for the last 4 digits of your destination wallet address
    • "Destination wallet address" means the address to which the funds are being sent (withdrawn) to
    • DO NOT use the "Swap Transaction ID" search box at the top of the page!

If your transaction is found, check to see which queue it's in; this will give you an idea of how long it will be before your transaction makes it onto the blockchain. Refer to THORChain queues for details.

To check the condition of your loan, refer to Loan status for details.

Ledger

Installing and using the THORChain Ledger app

  1. Follow Ledger's official documentation
  2. At the Pending Ledger review screen, press both buttons on your Ledger
  3. Connect your Ledger to whatever front-end supports Ledger and THORChain
Failure to press both buttons at the "Pending Ledger review" screen will cause your Ledger connection to fail!

Failed Ethereum transactions

Some users have had success in enabling Blind Signing inside of the Ethereum app on their Ledger.

In the Ethereum app, choose Settings → Blind Signing, then press both buttons to change it to Enabled.

Incorrect asset quantity

Ledger, especially with UTXO-based chains (ex. BTC, DOGE, etc.), tends to "spread" funds across multiple indexes on your Ledger. Ledger Live is able to aggregate all the assets/quantities into one lump sum. This is indirectly described in the official Ledger document titled Understanding Crypto Addresses and Derivation Paths. However, THORSwap cannot do this -- it can only see one index at a time (default index 0). Here's an example:

  • Pretend your Ledger Live says you have 1.2 BTC total
  • Index 0 = address bc1abcd (holds 1 BTC)
  • Index 16 = address bc12345 (holds 0.2 BTC)
  • THORSwap says you only have 1 BTC. The 0.2 BTC that's "missing" is because it's on index 16, not 0

The workaround:

  1. Ensure Ledger Live is not running or in the system tray; if so, exit it
  2. Connect your Ledger to THORSwap on the chain of your choice
  3. Click the Wallet button in THORSwap and examine what your wallet address is -- this is the address of index 0. Save/copy this address
  4. Disconnect your Ledger from THORSwap
  5. Launch Ledger Live
  6. In Ledger Live, send the quantity of the asset to the address you previously copied in an earlier step
    • This is a super basic transaction that will cost you gas
    • What this does is effectively put the funds you send on index 0, since this is all THORSwap can see
  7. Wait a little while for network confirmations on your transaction. How long to wait depends on the chain's validators; most are pretty fast, but BTC in particular is slow (can take 30-45 minutes at times)
  8. Re-connect your Ledger to THORSwap and you should see the funds you sent

: We're unsure if this is account indexes or address indexes, but the end result for the user is the same regardless.

Deposit LP asymm

TBD

Deposit LP symm

-- WIP --

  1. Ensure Ledger Live is not running or in the system tray; if so, exit it
  2. Attach your Ledger to your USB port (if not already)
  3. On your Ledger, run the relevant application for the chain asset you wish to deposit.
  4. Launch your web browser (Chrome and Brave confirmed working)
  5. Visit the THORSwap app
  6. Click the “Connect” button in the upper right
  7. Under Hardware Wallets, select Ledger
  8. In the Select chains menu on the left, select the chain the asset you wish to deposit belongs to.
  9. Click Connect Wallet
  10. If you get a pop-up that says app.thorswap.finance wants to connect , click your Ledger device, then click Connect
  11. In the bottom right of the THORSwap UI, you should see some messages that pop up/dissappear that says something like Connecting XYZ Ledger #0 and Successfully connected XYZ Ledger #0
  12. Click the Wallet button in the upper right and verify your wallet contents are correct.
  13. On your Ledger, quit the application you currently have open and follow point 7-12 for the THORChain application.
  14. In the Liquidity UI, select Deposit, then: i. Select if you want to deposit assymetrically or symmetrically in the top bar. ii. Change the top asset to the second asset you’d like to deposit. iii. Enter the asset quantity you wish to deposit. Make sure to keep some gas for the withdrawal.
  15. Click Add Liquidity
  16. Click Add RUNE in the deposit modal that pop up and sign the RUNE transaction on your Ledger.
  17. On your Ledger, quit the THORChain application and open the application for the chain asset you wish to deposit.
  18. Click Add ASSET in the deposit modal that is still open and sign the ASSET transaction on your Ledger. (Might require blind signing to be enabled for some chains)
  19. Congratulations! You are now a THORChain Liquidity Provider!

Deposit Savers/Earn

TBD

Swapping assets

There are two options for swapping using a Ledger:

Use Ledger Live

Follow Ledger's official How to swap crypto using THORSwap procedure.

Use THORSwap directly

The biggest complication with Ledger devices stems from the fact that only one app can be run at a time. When trying to swap from assets X to Y, THORSwap normally prefers the chains of both assets X and Y be connected at once. X is mandatory, while having Y attached just makes THORSwap auto-populate the Recipient Address field.

A little-known feature of THORSwap is that you can actually do a swap from asset X to Y with only chain X atttached as long as you know the wallet address of Y. This method uses the Custom Recipient Address feature of THORSwap, and in the case of Ledger, can save users a lot of pain.

  1. Ensure Ledger Live is not running or in the system tray; if so, exit it
  2. Find the wallet address of asset Y (i.e. destination asset); save it/copy it somewhere
    • Note: it's important you get the correct address for the correct chain. It is very possible to send funds to a wrong address/wrong chain and lose the funds. Please double-check your wallet address!
  3. Attach your Ledger to your USB port (if not already)
  4. On your Ledger, run the relevant application for the chain asset X is on. (See below notes too)
  5. Launch your web browser (Chrome and Brave confirmed working)
  6. Visit the THORSwap app
  7. Click the "Connect" button in the upper right
  8. Under Hardware Wallets, select Ledger
  9. In the Select chains menu on the left, select the chain asset X is on
  10. Click Connect Wallet
  11. If you get a pop-up that says app.thorswap.finance wants to connect, click your Ledger device, then click Connect
  12. In the bottom right of the THORSwap UI, you should see some messages that pop up/disappear that says something like Connecting XYZ Ledger #0 and Successfully connected XYZ Ledger #0
  13. Click the Wallet button in the upper right and verify your wallet contents are correct
  14. In the Swap UI:
    1. To the right of the word Swap, there should be a cog wheel. Click it, then change Set Custom Recipient to On
    2. Change the top asset to asset X, then enter the asset quantity you wish to swap
    3. Change the lower asset to asset Y
  15. In the Recipient Address field, paste the destination address you copied/saved in Step #2
  16. Click Swap

Withdraw LP asymm

TBD

Withdraw LP symm

TBD

Withdraw Savers/Earn

TBD

Useful links