diff --git a/docs/apps/katana/assets/katana-create-new-v3-pool.png b/docs/apps/katana/assets/katana-create-new-v3-pool.png
new file mode 100644
index 0000000..27f0b68
Binary files /dev/null and b/docs/apps/katana/assets/katana-create-new-v3-pool.png differ
diff --git a/docs/apps/katana/assets/katana-pool-confirm-remove.png b/docs/apps/katana/assets/katana-pool-confirm-remove.png
index 77c67d3..780e421 100644
Binary files a/docs/apps/katana/assets/katana-pool-confirm-remove.png and b/docs/apps/katana/assets/katana-pool-confirm-remove.png differ
diff --git a/docs/apps/katana/assets/katana-pool-my-positions-v2.png b/docs/apps/katana/assets/katana-pool-my-positions-v2.png
new file mode 100644
index 0000000..9d0a5d9
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-my-positions-v2.png differ
diff --git a/docs/apps/katana/assets/katana-pool-my-positions-v3.png b/docs/apps/katana/assets/katana-pool-my-positions-v3.png
new file mode 100644
index 0000000..0c158bc
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-my-positions-v3.png differ
diff --git a/docs/apps/katana/assets/katana-pool-range-order.png b/docs/apps/katana/assets/katana-pool-range-order.png
new file mode 100644
index 0000000..e3a4180
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-range-order.png differ
diff --git a/docs/apps/katana/assets/katana-pool-remove-liquidity-panel.png b/docs/apps/katana/assets/katana-pool-remove-liquidity-panel.png
index 391a664..ecd9448 100644
Binary files a/docs/apps/katana/assets/katana-pool-remove-liquidity-panel.png and b/docs/apps/katana/assets/katana-pool-remove-liquidity-panel.png differ
diff --git a/docs/apps/katana/assets/katana-pool-v2-list.png b/docs/apps/katana/assets/katana-pool-v2-list.png
new file mode 100644
index 0000000..5c97455
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-v2-list.png differ
diff --git a/docs/apps/katana/assets/katana-pool-v3-confirm-add.png b/docs/apps/katana/assets/katana-pool-v3-confirm-add.png
new file mode 100644
index 0000000..110ecd4
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-v3-confirm-add.png differ
diff --git a/docs/apps/katana/assets/katana-pool-v3-list.png b/docs/apps/katana/assets/katana-pool-v3-list.png
new file mode 100644
index 0000000..c546896
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-v3-list.png differ
diff --git a/docs/apps/katana/assets/katana-pool-v3-new-position.png b/docs/apps/katana/assets/katana-pool-v3-new-position.png
new file mode 100644
index 0000000..52f25b2
Binary files /dev/null and b/docs/apps/katana/assets/katana-pool-v3-new-position.png differ
diff --git a/docs/apps/katana/assets/katana-routing-path.png b/docs/apps/katana/assets/katana-routing-path.png
new file mode 100644
index 0000000..adfd7d2
Binary files /dev/null and b/docs/apps/katana/assets/katana-routing-path.png differ
diff --git a/docs/apps/katana/assets/katana-seed-token-pool.png b/docs/apps/katana/assets/katana-seed-token-pool.png
index 58b60cd..9ec5aea 100644
Binary files a/docs/apps/katana/assets/katana-seed-token-pool.png and b/docs/apps/katana/assets/katana-seed-token-pool.png differ
diff --git a/docs/apps/katana/assets/katana-seed-token.png b/docs/apps/katana/assets/katana-seed-token.png
index 592a0a0..5a83dbe 100644
Binary files a/docs/apps/katana/assets/katana-seed-token.png and b/docs/apps/katana/assets/katana-seed-token.png differ
diff --git a/docs/apps/katana/assets/katana-starting.png b/docs/apps/katana/assets/katana-starting.png
index 1a3360e..63f7db7 100644
Binary files a/docs/apps/katana/assets/katana-starting.png and b/docs/apps/katana/assets/katana-starting.png differ
diff --git a/docs/apps/katana/assets/katana-swap-details.png b/docs/apps/katana/assets/katana-swap-details.png
index 7f93ed3..58c1d7a 100644
Binary files a/docs/apps/katana/assets/katana-swap-details.png and b/docs/apps/katana/assets/katana-swap-details.png differ
diff --git a/docs/apps/katana/assets/katana-swap-from.png b/docs/apps/katana/assets/katana-swap-from.png
index 670341f..63f7db7 100644
Binary files a/docs/apps/katana/assets/katana-swap-from.png and b/docs/apps/katana/assets/katana-swap-from.png differ
diff --git a/docs/apps/katana/assets/katana-swap-review-details.png b/docs/apps/katana/assets/katana-swap-review-details.png
index be830d8..fd0febc 100644
Binary files a/docs/apps/katana/assets/katana-swap-review-details.png and b/docs/apps/katana/assets/katana-swap-review-details.png differ
diff --git a/docs/apps/katana/assets/katana-swap-to-list.png b/docs/apps/katana/assets/katana-swap-to-list.png
index eb57686..5886dd0 100644
Binary files a/docs/apps/katana/assets/katana-swap-to-list.png and b/docs/apps/katana/assets/katana-swap-to-list.png differ
diff --git a/docs/apps/katana/assets/katana-swap-to.png b/docs/apps/katana/assets/katana-swap-to.png
index 2740020..0180ece 100644
Binary files a/docs/apps/katana/assets/katana-swap-to.png and b/docs/apps/katana/assets/katana-swap-to.png differ
diff --git a/docs/apps/katana/assets/katana-swap-txn-completed.png b/docs/apps/katana/assets/katana-swap-txn-completed.png
index 37692cc..e3ae19d 100644
Binary files a/docs/apps/katana/assets/katana-swap-txn-completed.png and b/docs/apps/katana/assets/katana-swap-txn-completed.png differ
diff --git a/docs/apps/katana/assets/katana-switch-pools.gif b/docs/apps/katana/assets/katana-switch-pools.gif
new file mode 100644
index 0000000..6a9c017
Binary files /dev/null and b/docs/apps/katana/assets/katana-switch-pools.gif differ
diff --git a/docs/apps/katana/assets/katana-transactions-settings.png b/docs/apps/katana/assets/katana-transactions-settings.png
new file mode 100644
index 0000000..bebcb5e
Binary files /dev/null and b/docs/apps/katana/assets/katana-transactions-settings.png differ
diff --git a/docs/apps/katana/guides/add-liquidity.mdx b/docs/apps/katana/guides/add-liquidity.mdx
index bf9959d..6242471 100644
--- a/docs/apps/katana/guides/add-liquidity.mdx
+++ b/docs/apps/katana/guides/add-liquidity.mdx
@@ -6,19 +6,21 @@ description: Add your tokens to liquidity pools or remove them to get your token
## Overview
-You can add more liquidity to an existing pool on Katana to earn fees from transactions. When you contribute liquidity to a pool, you receive liquidity pool (LP) tokens in return. These tokens represent your share in the pool and entitle you to a portion of the trading fees generated by the pool's transactions, directly proportional to your contribution.
-You can also remove your liquidity from a pool at any time. Removing pool tokens converts your position back into underlying tokens at the current rate, proportional to your share of the pool. Accrued fees are included in the amounts you receive.
+You can add more liquidity to an existing pool on Katana to earn fees from trades. When you contribute liquidity to a pool, you receive liquidity pool (LP) tokens as proof of your contribution. In Katana V2, you receive fungible LP tokens that represent a fixed share of the entire pool. In V3, instead, you receive a position tokens which are represented by non-fungible tokens (NFTs) that tied to the specific price range of your liquidity. The pool's fees are also distributed in different ways, depending on the pool is V2 or V3. In V2, fees are distributed based on the amount of LP tokens held. In V3, fees are allocated to positions where the swap price is active in the range they cover, and are also proportional to the liquidity those positions provide.
+You can also remove your liquidity from a pool at any time. Removing pool tokens converts your position back into underlying tokens at the current rate. Accrued fees are included in the amounts you receive. Note that fees in V3 are not automatically reinvested like in V2, so you need to claim them separately.
## Add liquidity to a pool
+Open the [Liquidity pool](https://app.roninchain.com/liquidity) page and connect your Ronin Wallet.
-1. Open [Katana](https://app.roninchain.com/swap) and connect your Ronin Wallet.
-2. Select the **Liquidity pool** page, then open the pool you want to contribute to.
- ![Liquidity pool](../assets/katana-pool.png)
-3. Enter the amount of tokens you want to contribute, then click **Add**. Katana automatically calculates the equivalent amount of the other token based on the current exchange rate. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time.
+### For Katana V2 pools
+1. Select the **V2 Pools** tab, then open the pool you want to contribute to.
+ ![Liquidity pool](../assets/katana-pool-v2-list.png)
+
+2. Enter the amount of tokens you want to contribute, then click **Add**. Katana automatically calculates the equivalent amount of the other token based on the current exchange rate. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time.
![Enter amount](../assets/katana-pool-enter-amount.png)
-4. Review the details of your liquidity contribution:
+3. Review the details of your liquidity contribution:
* The amount of LP tokens you will get in return.
* The amount of tokens you are contributing.
* The share of the pool you will receive.
@@ -33,42 +35,71 @@ Your transaction is now submitted to the blockchain. When it completes, Katana d
The **My position** panel is now updated with your latest contribution:
-* The amount of ERC20 tokens you contributed.
+* The amount of ERC-20 tokens you contributed.
* The amount of LP tokens received in return.
![My position](../assets/katana-pool-add-position.png)
+### For Katana V3 pools
+1. Select the **V3 Pools** tabs, then open the pool you want to contribute to.
+ ![Liquidity pool](../assets/katana-pool-v3-list.png)
+
+2. Select the fee tier for your position. If the pool with the selected fee tier does not exist, your position will create a new pool with the fee tier.
+ ![Create new V3 position](../assets/katana-pool-v3-new-position.png)
+
+3. Enter or adjust the price range your position will provide liquidity for. Note that the minimum and maximum price values are rounded to the nearest tick price. You also see the capital efficiency of your position, which is the amount of liquidity your position provides compared to the liquidity when you provide for the full price range.
+
+ If the pool price is in the range of your position, your position will earn fees from the pool. If the price moves out of the range, your position will not earn fees and be concentrated to one of two tokens.
+
+ When your price range is above or below the current pool price, your position is called single-sided liquidity. It provides liquidity for only one token, and you will earn fees from the pool when the price moves to your range.
+If you intend to remove the position once the price has crossed the range and the position has been converted to the other token, this strategy is treated as a range order.
+ ![Range order](../assets/katana-pool-range-order.png)
+
+4. Enter the amount of tokens you want to contribute, then click **Add**. Katana automatically calculates the equivalent amount of the other token based on the current pool price and the price range of your position. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time.
+
+5. Preview the details of your liquidity contribution:
+ * The amount of tokens you are contributing.
+ * The price range of your position.
+
+ Click **Add liquidity**, then confirm the transaction in your Ronin Wallet.
+
+ ![Review details](../assets/katana-pool-v3-confirm-add.png)
+
+
## View your positions
To see all the pools you contributed to and the fees earned, open the **Liquidity pool** page, then select **My positions**.
-![My positions](../assets/katana-pool-my-positions.png)
-
Here you can see the following information:
-
-* The pools to which you contributed.
-* The annual percentage rate (APR) for each pool.
-* Your position in each pool.
-* The fees you earned from each pool.
-* Your claimable rewards from farming, if the pool supports it.
+* With V2 pools
+ * The pools to which you contributed.
+ * The annual percentage rate (APR) for each pool.
+ * Your position in each pool.
+ * The fees you earned from each pool.
+ * Your claimable rewards from farming, if the pool supports it.
+![My V2 Positions](../assets/katana-pool-my-positions-v2.png)
+
+* With V3 pools
+ * The pools to which you contributed.
+ * The price range of your position.
+ * Your position size in each pool and price range respectively.
+ * The fees you collected from each pool.
+ * The fees you have not collected yet.
+![My V3 Positions](../assets/katana-pool-my-positions-v3.png)
To view more details, such as the amount of LP tokens and the pool's performance over time, select each pool.
## Remove liquidity from a pool
-1. Open the **Liquidity pool** page, then select the pool from which you want to withdraw liquidity.
+1. Select the position you want to remove liquidity from in the **My positions** tab as described above.
- ![Liquidity pool](../assets/katana-pool.png)
-
-2. Select the **Remove liquidity** panel.
+2. Select the **Remove** liquidity panel.
![Remove liquidity panel](../assets/katana-pool-remove-liquidity-panel.png)
-3. Select the portion of your liquidity you want to remove, or enter the amount manually. Then, click **Remove**.
-
- ![Enter amount to remove](../assets/katana-pool-remove-amount.png)
+3. Select the portion of your liquidity you want to remove, or enter the amount manually (V2), or adjust the percentage (v3). Then, click **Remove**.
-4. Review how much you're getting when removing liquidity, then click **Confirm remove liquidity** and confirm the transaction in your Ronin Wallet.
+4. Review how much you're getting when removing liquidity, then click **Remove liquidity** and confirm the transaction in your Ronin Wallet.
![Review details](../assets/katana-pool-confirm-remove.png)
@@ -80,4 +111,4 @@ The **My position** panel is now updated with your latest position after removin
![My position](../assets/katana-pool-remove-position.png)
-You have now removed your liquidity by removing your LP tokens, and have gotten your tokens with the accrued fees, proportionate to your shares. Thank you for your service.
+You have now removed your liquidity, and have gotten your tokens with the accrued fees, proportionate to your shares. Thank you for your service.
diff --git a/docs/apps/katana/guides/create-farm.mdx b/docs/apps/katana/guides/create-farm.mdx
index b5108aa..46eff84 100644
--- a/docs/apps/katana/guides/create-farm.mdx
+++ b/docs/apps/katana/guides/create-farm.mdx
@@ -13,7 +13,7 @@ An important metric for farms is the rewards per second. This metric shows how m
## Prerequisites
* Only _whitelisted_ Ronin addresses can create farms. To get whitelisted, submit your Ronin address to Sky Mavis. This address will be linked to our farm contract. **Note:** this address can be the same as the one you used for pool creation, but you still need to get it whitelisted for farm creation.
-* A liquidity pool with your ERC20 token created on Katana. For more information, see [Create a liquidity pool](create-pool.mdx).
+* A liquidity pool with your ERC-20 token created on Katana. For more information, see [Create a liquidity pool](create-pool.mdx).
## Create a farm
diff --git a/docs/apps/katana/guides/create-pool.mdx b/docs/apps/katana/guides/create-pool.mdx
index eaef68e..a7a67bb 100644
--- a/docs/apps/katana/guides/create-pool.mdx
+++ b/docs/apps/katana/guides/create-pool.mdx
@@ -9,7 +9,7 @@ toc_max_heading_level: 2
You can create your own liquidity pools (LP) on Katana, contribute your liquidity to existing pools, and earn trading fees from the resulting transactions. This guide explains how to create a new pool, add liquidity to an existing pool, and remove liquidity from a pool.
-When creating a new pool, you choose two tokens to pair together. These tokens can be any ERC20 tokens, including ["main" and "seed" tokens](../overview.mdx#trade-main-and-seed-tokens). The system deposits your tokens into a smart contract, effectively increasing the pool's liquidity.
+When creating a new pool, you choose two tokens to pair together. These tokens can be any ERC-20 tokens, including ["main" and "seed" tokens](../overview.mdx#trade-main-and-seed-tokens). The system deposits your tokens into a smart contract, effectively increasing the pool's liquidity.
For example, if you decide to contribute to the AXS-RON pool, you need to
deposit an equivalent value of both tokens. Say the value of 1 AXS is USD 7.17 and the value of 1 RON is USD 2.72. If you want to provide 1 AXS into the AXS-RON pool, you also need to provide around 2.7 AXS.
@@ -25,28 +25,107 @@ Be aware that earning a profit through providing liquidity isn't guaranteed.
You may face what's known as _impermanent loss_, a risk that arises from
fluctuations in the value of the deposited tokens.
+### Katana V2 vs Katana V3
+
+Katana V2 is a previous version of the Katana smart contract, which is still operational. Katana V3 is the latest version, which introduces concentrated liquidity, fee tiers, and improved oracles. When creating a liquidity pool, you can [choose to use](../overview.mdx#switch-between-v2-and-v3) either Katana V2 or Katana V3.
+
+#### Fee tiers
+
+
+ Learn more about fee tiers
+
+**What are fee tiers**
+
+Fee tiers in Katana V3 are different fee structures that accommodate different types of trading pairs. When you create a liquidity pool, you can choose the fee structure that best match your risk/reward preferences and market conditions.
+
+**How to choose the right fee tier**
+
+When choosing a fee tier, consider the volatility of the tokens you're pooling. The higher the volatility, the higher the fee tier you should choose. Here are the available fee tiers:
+
+| Fee tier | Fee breakdown | Best for |
+| --- | --- | --- |
+| 0.01% Fees | 0.005% LP fee + 0.005% Ronin Treasury fee | Stablecoin pairs |
+| 0.3% Fees | 0.25% LP fee + 0.05% Ronin Treasury fee | Most trading pairs |
+| 1% Fees | 0.85% LP fee + 0.15% Ronin Treasury fee | High-volatility pairs |
+
+
+
+#### Concentrated liquidity
+
+
+ Learn more about concentrated liquidity
+
+**What is concentrated liquidity**
+
+Concentrated liquidity is a feature that allows liquidity providers to allocate their liquidity within a specific price range. This way, LPs can improve the capital efficiency of the pool.
+
+**How to set a price range for your liquidity pool**
+
+Choosing the right price range for your liquidity pool is essential to maximize capital efficiency and returns. The price range determines where your liquidity will be concentrated, and the efficiency of your liquidity is measured by the capital efficiency factor, as shown in the following table:
+
+| Price range | Capital efficiency factor |
+| --- | --- |
+| [0; ∞] | x1 |
+| [0.1; 50] | x1.2682 |
+| [25; 2500] | x1.4625 |
+| [1000; 2000] | x6.2852 |
+| [30; 40] | x14.4102 |
+| [3; 3.5] | x26.4518 |
+| [0.999; 1.001] | x2000.4994 |
+
+**What is capital efficiency**
+
+Capital efficiency refers to how well your liquidity is used within the specified price range. The higher the capital efficiency, the better your liquidity is concentrated, meaning your assets work harder within that range to generate returns.
+
+For example:
+
+* A price range of [0; ∞] provides a capital efficiency of x1, meaning it offers baseline efficiency but spreads liquidity thinly across all potential price points.
+* A more concentrated range like [0.999; 1.001] has a capital efficiency of x2000.4994, meaning your liquidity is highly concentrated in a narrow range, making it extremely efficient but more susceptible to price movement outside that range.
+
+**Choosing the right price range**
+
+When selecting a price range for your liquidity pool, consider the following factors:
+
+* Stablecoins or low-volatility assets: if you're providing liquidity for stablecoins or assets with historically low volatility, you might choose a very narrow range, such as [0.999; 1.001], to achieve maximum capital efficiency. This range maximizes efficiency because the price is unlikely to move significantly outside of this range.
+* Moderately volatile assets: for more volatile assets, like some ERC-20 tokens, you may want to widen the price range. For example, a range like [3; 3.5] or [25; 2500] offers greater flexibility while still improving capital efficiency compared to the default [0; ∞] range.
+* Highly volatile assets: For assets with high volatility, consider wider ranges such as [0.1; 50] or [30; 40]. These ranges offer balance between efficiency and the ability to capture price movements while reducing the risk of your liquidity becoming inactive (if prices move outside the range).
+
+**Trade-off between capital efficiency and price range**
+
+Narrower ranges (such as [0.999; 1.001]) provide the highest capital efficiency, but they come with the risk that the price might move outside your range, rendering your liquidity inactive. Broader ranges (such as [25; 2500]) offer wider coverage and reduce the likelihood of price moving outside your range, but at the cost of lower capital efficiency.
+
+**Monitoring and adjusting your price range**
+
+You should regularly monitor the market prices of the tokens in your pool. If the price moves outside the range you've set, your liquidity will no longer be active, and you won't earn fees. In this case, you may need to adjust your price range to ensure your liquidity remains active and efficient.
+
+
+
## Prerequisites
* To provide liquidity on Katana, you need to have tokens in your Ronin Wallet. You can acquire tokens by depositing from Ethereum using [Ronin Bridge](https://app.roninchain.com/bridge), buying tokens through the [Purchase](https://purchase.roninchain.com) website, or receiving tokens from other users.
For more information, see [Acquire RON](../../../basics/acquire-ron.mdx).
* Token creators: to create a liquidity pool with your token on Katana, you need to meet the following requirements:
- * Have your ERC20 token contract deployed on the Ronin network.
+ * Have your ERC-20 token contract deployed to Ronin.
* Have your token reviewed by Sky Mavis.
- * Have your Ronin address whitelisted by Sky Mavis. During the whitelisting period, only you can create liquidity pools with your token. This address will be linked to your token contract after you deploy it.
+ * Have your Ronin address whitelisted by Sky Mavis. This address is linked to your token contract after the deployment is approved.
+
+## Launch your ERC-20 token
-## Launch your ERC20 token
+:::info Note
+This section is for token creators launching their own ERC-20 tokens on Katana. If you're a liquidity provider looking to create an LP with existing tokens, go to [Create a liquidity pool](#create-a-liquidity-pool).
+:::
-If you're a token creator, you can launch your own ERC20 token on Katana and create a liquidity pool with it. This is a unique opportunity to bootstrap liquidity for your tokens and incentivize trading. By creating a pool, you provide a platform for users to trade your token with other tokens, increasing its utility and value.
+If you're a token creator, you can launch your own ERC-20 token on Katana and create a liquidity pool with it. This is a unique opportunity to bootstrap liquidity for your tokens and incentivize trading. By creating a pool, you provide a platform for users to trade your token with other tokens, increasing its utility and value.
-During an initial whitelisting period, only you as the owner of the Ronin address that deployed the ERC20 token can create liquidity pools with your token. After the whitelisting period ends, users can contribute liquidity to your pool or create their own pools with your token.
+During an initial whitelisting period, only you as the owner of the Ronin address that deployed the ERC-20 token can create liquidity pools with your token. After the whitelisting period ends, users can contribute liquidity to your pool or create their own pools with your token.
After creating a liquidity pool, you can [create a farm](create-farm.mdx) to encourage users to contribute liquidity to your pool.
-### Write an ERC20 token contract
+### Write an ERC-20 token contract
To create a token, we recommend that you use the [OpenZeppelin ERC-20](https://docs.openzeppelin.com/contracts/5.x/erc20) contract. This way, you don't have to write the contract from scratch. Instead, you import the library and use its functions.
-Your token contract MUST strictly follow the [ERC20 token standard](https://eips.ethereum.org/EIPS/eip-20) and our smart contract guidelines. For more information, refer to [Smart contract guidelines](https://docs.skymavis.com/ronin/smart-contracts/reference/guidelines).
+Your token contract MUST strictly follow the [ERC-20 token standard](https://eips.ethereum.org/EIPS/eip-20) and our smart contract guidelines. For more information, refer to [Smart contract guidelines](https://docs.skymavis.com/ronin/smart-contracts/reference/guidelines).
### Deploy the contract to Ronin
@@ -60,31 +139,51 @@ Submit the following information to your Sky Mavis partner engineer:
* Deployer Ronin address for LP creation.
* Publish timestamp for your token.
-* ERC20 token contract address.
+* ERC-20 token contract address.
* Deployer Ronin address for farm creation if different from the LP creation address.
-Sky Mavis will review your ERC20 token contract to ensure it meets the requirements. If the contract is approved, Sky Mavis will map your LP creation Ronin address with the contract address. This will make the token visible to you on Katana, where you can launch liquidity pools with it.
+Sky Mavis reviews your ERC-20 token contract to ensure it meets the requirements. If the contract is approved, Sky Mavis maps your LP creation Ronin address with the contract address. This makes the token visible to you on Katana, where you can create pools with it.
## Create a liquidity pool
+### Create a pool in Katana V3
+
+1. Go to [Katana](https://app.roninchain.com/liquidity) and connect your Ronin Wallet.
+2. Select the **Liquidity pool** page, then click **Create new pool**.
+3. Select the version of Katana you want to use: **Position V3**.
+ ![Create a new V3 pool](../assets/katana-create-new-v3-pool.png)
+4. Select the tokens you want to pool, then choose the fee tier. For more information, see [Fee tiers](#fee-tiers).
+5. Enter the start price and set the price range for your liquidity pool by entering the minimum and maximum prices. For more information, see [Concentrated liquidity](#concentrated-liquidity).
+6. Enter the amount of tokens you want to contribute to the pool. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time.
+7. Click **Confirm** to finalize pool creation.
+8. Click **Deposit**.
+9. Click **Add liquidity**.
+
+Your pool is now created.
+
+### Create a pool in Katana V2
+
1. Go to [Katana](https://app.roninchain.com/liquidity) and connect your Ronin Wallet.
2. Select the **Liquidity pool** page, then click **Create new pool**.
![Create a new pool](../assets/katana-create-new-pool.png)
-3. Select the tokens you want to pool, then enter the amount. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time. Token creators: select your token from the list. When selecting the token, you will see its publish date at the bottom. This date signifies when the whitelisting period ends
+3. Select the version of Katana you want to use: **Position V2**.
+4. Select the tokens you want to pool, then enter the amount. You may need to approve both tokens in your Ronin Wallet if you interact with them for the first time. Token creators: select your token from the list. When selecting the token, you see its publish date at the bottom. This date signifies when the whitelisting period ends
![Select a token pair](../assets/katana-select-token-pair.png)
4. Click **Confirm** to finalize pool creation.
![Confirm pool creation](../assets/katana-confirm-pool-creation.png)
5. Review the details of your liquidity contribution:
* The amount of tokens you are contributing.
- * The amount of LP tokens you will receive in return.
+ * The amount of LP tokens you receive in return.
* The exchange rate.
- * The share of the pool you will receive, which is 100% for a pool creator.
- * The publish date of the token, which signifies when the whitelisting period ends.
+ * The share of the pool you receive, which is 100% for a pool creator.
+ * Token creators: the publish date of the token, which signifies when the whitelisting period ends.
Click **Create pool & Supply**, then confirm the transaction in your Ronin Wallet.
![Create pool and supply liquidity](../assets/katana-create-pool-supply.png)
-Your pool is now created and scheduled for publishing on the specified date.
+Your pool is now created.
+
+Token creators: your pool is in a scheduled state, visible only to you.
![Successful pool creation](../assets/katana-create-pool-success.png)
@@ -92,11 +191,11 @@ As long as the pool is in a scheduled state, only you can see it.
![Scheduled pool in the list](../assets/katana-pool-list.png)
-On the publishing date, the pool will become available for all Katana users to contribute liquidity to. As a liquidity provider, you will start earning fees from the pool's transactions.
+On the publishing date, the pool becomes available for all Katana users to contribute liquidity to. As a liquidity provider, you start earning fees from the pool's transactions.
-As a token creator, you can also create a farm for your token. For more information, see [Create a farm](create-farm.mdx).
+You can also create a farm for your token. For more information, see [Create a farm](create-farm.mdx).
-## Edit a pool
+## Edit a liquidity pool
You can change the initial amount of tokens in a pool as long as the pool is in a scheduled state.
@@ -104,6 +203,15 @@ You can change the initial amount of tokens in a pool as long as the pool is in
2. Add or remove tokens from the pool. For more information, see [Add liquidity to a pool](add-liquidity.mdx).
3. Click **Confirm**, review the details, then confirm the transaction in your Ronin Wallet.
+## Migrate liquidity from V2 to V3
+
+To achieve better capital efficiency, you can consider migrating your liquidity from Katana V2 to Katana V3.
+
+1. On the **Liquidity pool** page, select Migrate.
+2. Next to the pool you want to migrate, click **Migrate**.
+3. Choose the fee tier you want to use for the pool or keep the existing fee tier.
+4. Set the price range for your liquidity.
+
## See also
* [Add liquidity to a pool](add-liquidity.mdx)
diff --git a/docs/apps/katana/guides/stake-tokens.mdx b/docs/apps/katana/guides/stake-tokens.mdx
index 6e78dac..06e2e69 100644
--- a/docs/apps/katana/guides/stake-tokens.mdx
+++ b/docs/apps/katana/guides/stake-tokens.mdx
@@ -11,7 +11,7 @@ import katanaFarmUnstakeSuccess from '../assets/katana-farm-unstake-success.png'
## Overview
-When you provide liquidity to a pool on Katana, you receive liquidity pool (LP) tokens in return. You can stake these LP tokens in a farm to earn rewards in the form of another ERC20 token, which is chosen by the farm creator. A farm can offer more than one reward token to choose from. Generally, the more LP tokens you stake, the more reward tokens you earn. Farming is available for a limited number of pools at any given time.
+When you provide liquidity to a pool on Katana, you receive liquidity pool (LP) tokens in return. You can stake these LP tokens in a farm to earn rewards in the form of another ERC-20 token, which is chosen by the farm creator. A farm can offer more than one reward token to choose from. Generally, the more LP tokens you stake, the more reward tokens you earn. Farming is available for a limited number of pools at any given time.
## Prerequisites
diff --git a/docs/apps/katana/guides/swap-tokens.mdx b/docs/apps/katana/guides/swap-tokens.mdx
index 5acc711..b019de8 100644
--- a/docs/apps/katana/guides/swap-tokens.mdx
+++ b/docs/apps/katana/guides/swap-tokens.mdx
@@ -1,5 +1,5 @@
---
-description: Trade one ERC20 token for another on Katana.
+description: Trade one ERC-20 token for another on Katana.
slug: /apps/katana/swap-tokens
title: Swap tokens
toc_max_heading_level: 2
@@ -15,31 +15,39 @@ import roninWalletSwapCompleted from '../assets/ronin-wallet-swap-completed.png'
## Overview
-You can trade one token for another on Katana, a process known as swapping. Swapping is decentralized and does not require a traditional bank or other trusted third party, as it uses smart contracts to facilitate the exchange. As an automated market maker (AMM), Katana is always ready to buy and sell any tokens immediately.
+You can trade one token for another on Katana in a process known as swapping. When swapping tokens, you sell the currently owned tokens for the proportional amount of the tokens that you want to buy, minus the swap fee. The swap fee is awarded to liquidity providers (LPs).
-### Swap on Katana web vs Ronin Wallet
+### Swap on Ronin app vs Ronin Wallet
-The swap experience differs between Katana web and Ronin Wallet:
+There are two ways to swap on Ronin: the [Swap](https://app.roninchain.com/swap) page in the Ronin web app and the Wallet Swap feature in the [Ronin Wallet](https://wallet.roninchain.com) mobile app and browser extension. The process is similar in both, but the interface differs slightly.
-* Katana web users: Use the **Katana > Swap** page in the Ronin web app.
-* Ronin Wallet users: Use the **Wallet Swap** dApp in the Ronin Wallet mobile app or browser extension. Each swap transaction using Wallet Swap incurs a development fee of 0.5% of the transaction value.
+### Swap fees in Katana V2 vs V3
-### Swap fees
+The fees for swapping tokens will be applied in each pool that the swap path passes through. Depending on whether the pool is Katana V2 or Katana V3, there will be different corresponding fee rates. This swap fee is always paid in the *input token*.
-When swapping tokens, you incur the following fees:
+#### Katana V2 pools
-|Fee|Katana web|Wallet Swap|
-|---|---|---|
-|Ronin treasury fee|0.05%|0.05%|
-|Liquidity provider fee|0.25%|0.25%|
-|Development fee|-|0.5%|
+| Fee amount | Fee breakdown |
+| --- | --- |
+| 0.3% | 0.25% LP fee + 0.05% Ronin Treasury fee |
+
+
+#### Katana V3 pools
+
+| Fee tier | Fee breakdown | Used for |
+| --- | --- | --- |
+| 0.01% | 0.005% LP fee + 0.005% Ronin Treasury fee | Stablecoin pairs |
+| 0.3% | 0.25% LP fee + 0.05% Ronin Treasury fee | Most trading pairs |
+| 1% | 0.85% LP fee + 0.15% Ronin Treasury fee | High-volatility pairs |
+
+When using Wallet Swap, a development fee of 0.5% is added to the total fee in the *output token*.
## Prerequisites
-To swap any tokens, you need to have them in your Ronin Wallet. You can acquire tokens by depositing from Ethereum using [Ronin Bridge](https://app.roninchain.com/bridge), buying through the [Purchase](https://purchase.roninchain.com) website, or receiving from other users.
+To swap tokens, you need to have them in your Ronin Wallet. You can acquire tokens by depositing from Ethereum using [Ronin Bridge](https://app.roninchain.com/bridge), buying through the [Purchase](https://purchase.roninchain.com) page, or receiving from other users.
For more information, see [Acquire RON](../../../basics/acquire-ron.mdx).
-## Swap tokens on Katana web
+## Swap in Ronin app
1. Open [Katana](https://app.roninchain.com/swap) and connect your Ronin Wallet. The **Swap** page opens by default.
![Starting page](../assets/katana-starting.png)
@@ -108,4 +116,14 @@ Your transaction is now submitted to the blockchain. When it completes, Katana d
-Congratulations. You just swapped your tokens using Wallet Swap.
\ No newline at end of file
+Congratulations. You just swapped your tokens using Wallet Swap.
+
+
+## Smart order router
+We use a smart order router combined with the updated router smart contract, which acts as an aggregator to provide access to a broader range of liquidity sources (including both Katana V2 pools and Katana V3 pools) for your swaps. This enable swap ratios compared to the previous router, which was limited to Katana V2 pools.
+
+ ![Routing path](../assets/katana-routing-path.png)
+
+This feature will be enabled by default as the **Default trade options** is set as **Aggregator**. If you prefer to use the old router, navigate to **Transaction Settings** and set the **Default trade options** to **Legacy**.
+
+ ![Transaction Settings](../assets/katana-transactions-settings.png)
diff --git a/docs/apps/katana/overview.mdx b/docs/apps/katana/overview.mdx
index 259cdd2..8cc51c0 100644
--- a/docs/apps/katana/overview.mdx
+++ b/docs/apps/katana/overview.mdx
@@ -9,30 +9,25 @@ import approveTokens from './assets/katana-approve-tokens.png'
import seedTokenPool from './assets/katana-seed-token-pool.png'
import seedTokenWarning from './assets/katana-seed-token.png'
import startingPage from './assets/katana-starting.png'
+import switchPools from './assets/katana-switch-pools.gif'
import walletBalance from './assets/katana-wallet-balance.png'
import walletOptions from './assets/katana-wallet-options.png'
## Overview
-Katana ([app.roninchain.com/swap](https://app.roninchain.com/swap)) is a decentralized exchange (DEX) for trading tokens within the Ronin ecosystem.
+Katana ([app.roninchain.com/swap](https://app.roninchain.com/swap)) is a decentralized exchange (DEX) for trading tokens within the Ronin ecosystem. The AMM (automated market maker) protocol that powers Katana allows users to swap tokens, create liquidity pools, and stake LP tokens to earn rewards.
-## Key features
+### Katana V2 vs V3
-* [Swap](./guides/swap-tokens.mdx) between pairs of various ERC20 tokens, including wrapping RON to wRON to make offers on Mavis Market and participate in Ronin token launches, and swapping between "main" and "seed" tokens.
-* [Create liquidity pools](./guides/create-pool.mdx) with two tokens to earn trading fees.
-* [Add liquidity](./guides/add-liquidity.mdx) to existing pools to earn fees from transactions.
-* [Create farms](./guides/create-farm.mdx) to encourage users to contribute liquidity to your pool.
-* [Stake your liquidity pool (LP) tokens](./guides/stake-tokens.mdx) in a farm to earn rewards in the form of another ERC20 token.
+Katana V2 is a previous version of the Katana smart contract, which is still operational. Katana V3 is the latest version, which introduces concentrated liquidity, fee tiers, and improved oracles. When creating a liquidity pool, you can [choose to use](#switch-between-v2-and-v3) either Katana V2 or Katana V3.
-Some features are only available on the Katana web app, while others are available on the Ronin Wallet mobile app and browser extension:
+## Features
-|Feature|Katana web|Ronin Wallet|
-|---|---|---|
-|Swap|Available|Available as Wallet Swap |
-|Pool|Available|Not available|
-|Farm|Available|Not available|
-
-Each swap transaction using Wallet Swap incurs a development fee of 0.5% of the transaction value.
+* **Concentrated liquidity**: Katana V3 allows liquidity providers (LPs) to allocate their liquidity within a specific price range, significantly improving capital efficiency. LPs can now earn higher returns on their assets by concentrating their liquidity where it's most needed.
+* **Fee tiers**: Katana V3 introduces multiple fee tiers to accommodate different types of trading pairs. This flexibility enables LPs to choose fee structures that best suit their risk/reward preferences and market conditions.
+* **Improved oracles**: Katana V3 brings enhanced smart contract-based oracles that provide more accurate and reliable price feeds. These oracles help reduce the reliance on external data sources and increase the overall robustness of the system, ensuring better price feeds for on-chain transactions.
+* **Lower swap fees**: thanks to the multiple fee tiers in Katana V3, users can enjoy lower swap fees for high-volume stablecoin pairs, making it more cost-effective to trade stablecoins on the platform.
+* **Lower slippage**: concentrating liquidity within specific price ranges helps execute trades closer to the market price with less price impact, especially valuable during high volatility.
## Get started
@@ -51,7 +46,7 @@ To view more details, click the options in the top right-hand corner:
3. Eye icon: this allows you to hide your wallet balance.
4. Connected address: this allows you to copy your Ronin Wallet address to the clipboard or log out of the Ronin app.
-### Approve a token
+### Approve tokens
When you first interact with a token, Katana prompts you to approve it. This means you're allowing a smart contract to interact with your token. This is a one-time action for each token, and the prompts appear visibly before you can continue with your desired actions.
@@ -59,13 +54,20 @@ For example, to stake an SLP/WRON token pair, you need to approve it first. Clic
+### Switch between V2 and V3
+
+To switch between Katana V2 and V3, you can select the version you want to interact with.
+
+On the **Liquidity** page, click the **V2 Pools** or **V3 Pools** switch in the top left-hand corner of the pool list.
+
+
+
### Trade "main" and "seed" tokens
-Katana classifies ERC20 tokens into "main" tokens and "seed" tokens, which have different risk profiles:
+Katana classifies ERC-20 tokens into "main" tokens and "seed" tokens, which have different risk profiles:
-* “Seed” tokens have a higher risk profile and volatility. They may be designed to be highly experimental and inflationary at their inception. In the user interface, “seed” tokens are marked with a plant icon.
* "Main" tokens are defined against a non-exhaustive list of factors: depth of liquidity, market capitalization, volumes, and whether the team is verified. For example, RON and WETH have a "main" tag.
-* All newly launched tokens are tagged as “seed.” Tags are reviewed on a regular basis and tokens can be relabelled to "main" after a period of time in the market based on improvements in certain factors.
+* “Seed” tokens have a higher risk profile and volatility. They may be designed to be highly experimental and inflationary at their inception. All newly launched tokens are tagged as “seed.” Tags are reviewed on a regular basis and tokens can be relabelled to "main" after a period of time in the market based on improvements in certain factors.
Anyone on Katana can trade both "main" and "seed" tokens.
@@ -73,8 +75,7 @@ For easier identification, "seed" tokens are marked with a plant icon:
-When you first interact with a token, Katana prompts you to acknowledge the risks involved:
+When you first interact with a token, Katana prompts you to acknowledge the risks involved, we encourage you to assess your risk tolerance before participating.
-
+
-**Note:** Providing liquidity involves risks including impermanent loss, especially if asset prices change significantly. We encourage you to assess your risk tolerance before participating.
diff --git a/docs/apps/ronin-bridge/guides/deposit-token.md b/docs/apps/ronin-bridge/guides/deposit-token.md
index 0a3c618..7981bf2 100644
--- a/docs/apps/ronin-bridge/guides/deposit-token.md
+++ b/docs/apps/ronin-bridge/guides/deposit-token.md
@@ -1,12 +1,12 @@
---
-description: Bridge ERC20 tokens from Ethereum to Ronin using Ronin Bridge.
+description: Bridge ERC-20 tokens from Ethereum to Ronin using Ronin Bridge.
slug: /apps/ronin-bridge/deposit-token
-title: Deposit an ERC20 token
+title: Deposit an ERC-20 token
---
## Overview
-This guide describes how to use Ronin Bridge to send an ERC20 token from your Ethereum address to your Ronin Wallet.
+This guide describes how to use Ronin Bridge to send an ERC-20 token from your Ethereum address to your Ronin Wallet.
## Prerequisites
@@ -25,7 +25,7 @@ If you access Ronin Bridge on mobile, remember to import your Ethereum address t
## Step 2. Choose the token and amount
-Choose the ERC20 token that you want to deposit, then enter the amount manually or select **Max** to bridge the entire balance of this token available in your connected wallet.
+Choose the ERC-20 token that you want to deposit, then enter the amount manually or select **Max** to bridge the entire balance of this token available in your connected wallet.
![token-deposit-3](../assets/token-deposit-3.png)
## Step 3. Confirm your deposit
diff --git a/docs/apps/ronin-bridge/guides/withdraw-token.md b/docs/apps/ronin-bridge/guides/withdraw-token.md
index f29526f..58b4d91 100644
--- a/docs/apps/ronin-bridge/guides/withdraw-token.md
+++ b/docs/apps/ronin-bridge/guides/withdraw-token.md
@@ -1,12 +1,12 @@
---
-description: Bridge ERC20 tokens from Ronin to Ethereum using Ronin Bridge.
+description: Bridge ERC-20 tokens from Ronin to Ethereum using Ronin Bridge.
slug: /apps/ronin-bridge/withdraw-token
-title: Withdraw an ERC20 token
+title: Withdraw an ERC-20 token
---
## Overview
-This guide describes how to use Ronin Bridge to send an ERC20 token from your Ronin Wallet to an Ethereum address.
+This guide describes how to use Ronin Bridge to send an ERC-20 token from your Ronin Wallet to an Ethereum address.
## Prerequisites
@@ -28,11 +28,11 @@ If you access Ronin Bridge on mobile, remember to import your Ethereum address t
## Step 2. Choose the token and amount
-1. Choose the ERC20 token that you want to withdraw, then enter the withdrawal amount manually or select **Max** to withdraw the entire balance of this token available in your wallet.
+1. Choose the ERC-20 token that you want to withdraw, then enter the withdrawal amount manually or select **Max** to withdraw the entire balance of this token available in your wallet.
![token-withdrawal-4](../assets/token-withdrawal-4.png)
2. When prompted, select **Approve** to approve the new spending cap for the selected token.
:::note[Spending cap]
- When you bridge an ERC20 token for the first time, you need to set a spending cap. To do that, enter your desired token amount, then follow instructions on the screen to approve the cap. In the future, when you bridge an amount that exceeds your current cap, you will need to approve a new spending cap corresponding to the higher amount.
+ When you bridge an ERC-20 token for the first time, you need to set a spending cap. To do that, enter your desired token amount, then follow instructions on the screen to approve the cap. In the future, when you bridge an amount that exceeds your current cap, you will need to approve a new spending cap corresponding to the higher amount.
:::
![token-withdrawal-5](../assets/token-withdrawal-5.png)
3. When prompted, sign the transaction in your Ronin Wallet.
diff --git a/docs/apps/ronin-bridge/overview.md b/docs/apps/ronin-bridge/overview.md
index 924f953..8c290e7 100644
--- a/docs/apps/ronin-bridge/overview.md
+++ b/docs/apps/ronin-bridge/overview.md
@@ -6,14 +6,14 @@ title: Ronin Bridge
## Overview
-Ronin Bridge ([app.roninchain.com/bridge](https://app.roninchain.com/bridge)) is an app for bridging ERC20 tokens and NFTs (non-fungible tokens) between Ethereum and the Ronin chain.
+Ronin Bridge ([app.roninchain.com/bridge](https://app.roninchain.com/bridge)) is an app for bridging ERC-20 tokens and NFTs (non-fungible tokens) between Ethereum and the Ronin chain.
Ronin Bridge is a multi-signature bridge, which means that when you make a transaction, multiple bridge operators have to approve it before it's finalized. This approach makes the bridge a secure choice for cross-chain transactions, preventing any single party from acting maliciously or making unauthorized changes.
## User guides
-* [Deposit an ERC20 token](./guides/deposit-token.md)
-* [Withdraw an ERC20 token](./guides/withdraw-token.md)
+* [Deposit an ERC-20 token](./guides/deposit-token.md)
+* [Withdraw an ERC-20 token](./guides/withdraw-token.md)
* [Deposit an NFT](./guides/deposit-nft.md)
* [Withdraw an NFT](./guides/withdraw-nft.md)
@@ -28,22 +28,22 @@ Ronin Bridge supports the following wallets:
## Supported assets
-### ERC20 tokens
+### ERC-20 tokens
-With Ronin Bridge, you can bridge the following ERC20 tokens:
+With Ronin Bridge, you can bridge the following ERC-20 tokens:
* Deposit (from Ethereum to Ronin): AEC, AGG, APRS, AXS, BANANA, ETH, PIXEL, SLP, USDC, YGG
* Withdrawal (from Ronin to Ethereum): AGG, AXS, APRS, BANANA, PIXEL, SLP, USDC, WETH, YGG
Withdrawal limits apply. For more information, see [Withdrawal limits](./reference/withdrawal-limits.md).
-### ERC721 tokens (NFTs)
+### ERC-721 tokens (NFTs)
With Ronin Bridge, you can bridge NFTs (non-fungible tokens) from the following collections:
* Cyberkongz Genkai
* Cyberkongz VX
-* Pixels Farm Land (coming soon)
+* Pixels Farm Land
## RNS-compatible
diff --git a/docs/basics/acquire-ron.mdx b/docs/basics/acquire-ron.mdx
index cde98f8..b5793a2 100644
--- a/docs/basics/acquire-ron.mdx
+++ b/docs/basics/acquire-ron.mdx
@@ -64,7 +64,7 @@ contracts, which means there are fewer geographical restrictions.
To use Katana, you need to acquire digital assets on Ronin. There are two ways to do that:
* Withdraw your assets from a CEX, such as Binance or Coinbase, to Ronin.
-* Transfer your assets from Ethereum to Ronin using Ronin Bridge. For more information, see [Deposit ERC20 tokens using Ronin Bridge](../apps/ronin-bridge/guides/deposit-token.md).
+* Transfer your assets from Ethereum to Ronin using Ronin Bridge. For more information, see [Deposit ERC-20 tokens using Ronin Bridge](../apps/ronin-bridge/guides/deposit-token.md).
## See also
diff --git a/docs/basics/key-concepts.mdx b/docs/basics/key-concepts.mdx
index e3f2262..14eb7c6 100644
--- a/docs/basics/key-concepts.mdx
+++ b/docs/basics/key-concepts.mdx
@@ -197,7 +197,7 @@ Developed by Sky Mavis, Ronin is an Ethereum-linked chain on which Axie Infinity
### Ronin Wallet
-Ronin Wallet is the primary wallet used for the Ronin network. It's where the standard ERC20 and ERC721 tokens, including RON, are kept. The wallet is available as a browser extension for Google Chrome and as a mobile app for smartphones on Android and iOS.
+Ronin Wallet is the primary wallet used for the Ronin network. It's where the standard ERC-20 and ERC-721 tokens, including RON, are kept. The wallet is available as a browser extension for Google Chrome and as a mobile app for smartphones on Android and iOS.
With the Ronin wallet, users can exchange the standard tokens, and send and receive cryptocurrencies and NFTs without paying high gas fees.
diff --git a/sidebars.js b/sidebars.js
index 49aacfd..aa44888 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -128,9 +128,9 @@ const sidebars = {
id: 'apps/ronin-bridge/overview',
},
items: [
- // Deposit ERC20 tokens
+ // Deposit ERC-20 tokens
'apps/ronin-bridge/guides/deposit-token',
- // Withdraw ERC20 tokens
+ // Withdraw ERC-20 tokens
'apps/ronin-bridge/guides/withdraw-token',
// Deposit NFTs
'apps/ronin-bridge/guides/deposit-nft',
@@ -183,6 +183,11 @@ const sidebars = {
'apps/katana/guides/stake-tokens',
],
},
+ // {
+ // type: 'link',
+ // label: 'Katana Core SDK',
+ // href: 'https://github.com/skymavis/katana-sdk/tree/main/packages/katana-core',
+ // },
],
},
// Ronin Explorer