diff --git a/docusaurus.config.js b/docusaurus.config.js
index 578ce833..5cc930f1 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -118,6 +118,18 @@ const config = {
editUrl: "https://github.com/jup-ag/space-station/tree/main/",
}),
],
+ [
+ "content-docs",
+ /** @type {import('@docusaurus/plugin-content-docs').Options} */
+ ({
+ id: "features",
+ path: "features",
+ routeBasePath: "features",
+ sidebarPath: require.resolve("./sidebars-features.js"),
+ sidebarCollapsed: true,
+ editUrl: "https://github.com/jup-ag/space-station/tree/main/",
+ }),
+ ],
[
'@docusaurus/plugin-client-redirects',
{
@@ -162,6 +174,22 @@ const config = {
to: '/blog-redirect',
from: '/blog',
},
+ {
+ to: '/features',
+ from: '/guides/how-swap-works',
+ },
+ {
+ to: '/features',
+ from: '/guides/jupiter-swap/how-swap-works/metropolis',
+ },
+ {
+ to: '/features',
+ from: '/guides/jupiter-swap/how-swap-works/how-swap-works',
+ },
+ {
+ to: '/features',
+ from: '/guides/jupiter-swap/how-swap-works/metis-routing',
+ }
],
},
],
diff --git a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/3-metis-routing.md b/features/1-metis.md
similarity index 81%
rename from guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/3-metis-routing.md
rename to features/1-metis.md
index c51f9a0d..f3b3b868 100644
--- a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/3-metis-routing.md
+++ b/features/1-metis.md
@@ -1,15 +1,24 @@
---
-sidebar_label: Metis Routing
-description: Learn how Jupiter Metis Routing boosts Solana swaps using a unique algorithm for quicker trades, lower slippage, and scalable upgrades.
-title: Metis Routing
-slug: /jupiter-swap/how-swap-works/metis-routing
+sidebar_label: Metis
+description: Learn how Jupiter Metis boosts Solana swaps using a unique algorithm for quicker trades, lower slippage, and scalable upgrades.
+title: Metis
---
- Jupiter Metis Routing: Optimize Swaps on Solana
+ Jupiter Metis: The Routing Engine Behind Jupiter Swap
+### Why is Metis important? What are we solving?
+
+### How does it work?
+
+### Core Concepts
+
+---
+
+### Original Copy
+
Metis is a heavily modified variant of the [Bellman-Ford algorithm](https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm) catered for the key requirements of offering best price routing at scale in a very dynamic operational space.
Metis is designed to operate seamlessly on Solana’s hyper-fast blocktimes, supported by major improvements to our backend infrastructure. This ensures that trades are executed quickly and efficiently, even under high demand.
@@ -20,7 +29,7 @@ Metis enhances our industry-leading aggregator by improving route discovery for
To find the best price, Metis streams the input tokens to incrementally build a route to split and merge at any stage. By generating the routes for each split iteratively one after another, we can also use the same DEX in different splits - allowing us to find routes with better prices with more complex trades.
-
+
### Combine Route Generation and Quoting
@@ -32,12 +41,10 @@ v2 runs fast when the total number of DEXs used is small since Solana limits us
Metis(v3) is equipped to handle both of these trends, since the algorithm is able to scale to include more DEXs in a route when account lock limits are increased, and can support more DEXs with only a modest increase in running time.
-
+
### Performance Improvements
Metis is able to refresh quotes in parallel and in real time. Compared to v2, metis on average quotes prices that are 5.22% better. These imporivements increase sharply based on the trade size.
-
-
-[Read about more awesome features of Jupiter Swap! ->](./2-how-swap-works.md)
\ No newline at end of file
+
diff --git a/features/100-how-swap-works.md b/features/100-how-swap-works.md
new file mode 100644
index 00000000..30ad4200
--- /dev/null
+++ b/features/100-how-swap-works.md
@@ -0,0 +1,45 @@
+---
+sidebar_label: How Swap Works [DELETE]
+description: Learn how Jupiter Swap uses smart routing and safety features to innovate token trading on Solana. Discover its mechanisms in this beginners guide.
+title: How the Jupiter Swap Works [DELETE]
+---
+
+
+ Understanding Jupiter Swap: Smart Routing & Features
+
+
+
+The Jupiter Swap is a decentralized exchange aggregator designed to provide the best rates for swapping SPL tokens on the Solana blockchain. It routes trades through multiple liquidity sources to ensure optimal prices, low slippage, and efficient transaction execution. Users benefit from its seamless interface, deep liquidity, and the ability to perform complex token swaps in a single transaction.
+
+### **Jupiter V3 Upgrades**
+
+Jupiter V3 introduced multiple improvements to the swap experience!
+
+The Metropolis upgrade introduced Instant Routing, Dynamic Slippage, Smart Token Filtering, Ecosystem Token List and new Safety features.
+
+Metis, a routing protocol, was also introduced to improve route discovery, reducing slippage and scalability in V3.
+
+### Token Ledger For Increased Swap Success Rates
+
+The Token Ledger is a collection of three instructions *(Set Token Ledger, Send Instruction, Swap Instruction)* that consolidate withdrawal and swap instructions into a single transaction. Integrators/partners can now effortlessly instruct a swap to be executed based on the actual sent amount, after taking into account fees and slippages.
+
+Before the introduction of the Token Ledger, swap instructions relied on a simulation-driven approach to approximate the amount deducted from a user's wallet to facilitate the swap. This estimation approach often ended up with discrepancies between the estimated and actual amounts, especially during periods of market volatility with high slippages, leading to swap failures.
+
+Consider this scenario where a user intends to withdraw 1,000 USDC from Meteora’s USDC vault into wBTC. Note that users hold vUSDC LP tokens in Meteora vaults.
+
+1. In the first instruction, the Token Ledger will verify and record the user’s initial USDC balance within their wallet. For the purpose of this example, let’s assume the initial balance is 100 USDC.
+2. In the second instruction, an amount equivalent to 1,000 USDC in vUSDC is withdrawn from Meteora vaults into USDC, and we examine the user’s balance. Due to factors like slippage, the USDC balance is found to be 1090 USDC.
+3. For the third instruction, subtracting the initial 100 USDC from the current 1090 USDC balance, it’s evident that the user has effectively withdrawn 990 USDC, which will then be utilized to swap for wBTC as the final output token.
+
+Without the Token Ledger, the previous swap method relied on estimated amounts, which could fluctuate due to market volatility and performance variations, frequently resulting in suboptimal user experiences.
+
+With the Token Ledger, integrators can issue swap instructions based on actual amounts that have taken into account slippage and related fees. This eliminates the need for simulation and significantly increases the success rate of swaps, all within a single transaction.
+
+The Token Ledger caters to a wide range of use cases, which include but are not limited to:
+
+- Withdrawing assets from a protocol to any desired token, such as converting to USDC from a wBTC vault.
+- Supporting protocols that transition positions to a different token from their original position, as seen in Perpetuals.
+- Facilitating the exchange of NFTs for tokens other than SOL.
+
+Read more about the Token Ledger:
+https://station.jup.ag/docs/apis/swap-api#using-token-ledger-instruction
diff --git a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/1-metropolis.md b/features/2-metropolis.md
similarity index 56%
rename from guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/1-metropolis.md
rename to features/2-metropolis.md
index 4f75f2e3..d1ebbc74 100644
--- a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/1-metropolis.md
+++ b/features/2-metropolis.md
@@ -1,33 +1,37 @@
---
sidebar_label: Metropolis
-description: "Explore Jupiter V3 Metropolis: better token discovery, improved slippage, and seamless trading. Enhance safety and efficiency."
+description: Learn how Jupiter Metropolis powers the swap infrastructure with instant routing, market indexing and intelligent token search.
title: Metropolis
-slug: /jupiter-swap/how-swap-works/metropolis
---
- Jupiter Metropolis Explained: Enhanced Swapping Guide | Jupiter Station
+ Jupiter Metropolis: The Markets and Tokens Infrastructure Behind Jupiter Swap
-The Jupiter swap backend systems have been completely re-engineered for the Metropolis update. This upgrade has significantly improved token discovery, slippage management, token search functionality, and safety measures.
+### What is Metropolis? What are we solving?
-
+### Markets Routing
-### Instant Routing for New Tokens
-New tokens from Raydium, Meteora, and Orca are immediately added to Jupiter Routing. This means that newly launched tokens can be utilized across the entire Jupiter suite instantly! This includes features like DCA, Limit Orders, and Value Averaging, or simply swapping at the best prices available.
+### Instant Routing
-
+### Intelligent Token Search
+
+### Master Token List Standard
+
+---
+### Original Copy
-### Dynamic Slippage
-Dynamic Slippage offers a seamless swapping experience. You can set a maximum slippage cap and never worry about slippage issues again. By leveraging a combination of backend liquidity computation and frontend inference, the best possible slippage rate is calculated, which is likely to pass while minimizing MEV.
+The Jupiter swap backend systems have been completely re-engineered for the Metropolis update. This upgrade has significantly improved token discovery, slippage management, token search functionality, and safety measures.
+
+
+
+### Instant Routing for New Tokens
+New tokens from Raydium, Meteora, and Orca are immediately added to Jupiter Routing. This means that newly launched tokens can be utilized across the entire Jupiter suite instantly! This includes features like DCA, Limit Orders, and Value Averaging, or simply swapping at the best prices available.
@@ -36,7 +40,7 @@ Dynamic Slippage offers a seamless swapping experience. You can set a maximum sl
With the rapid growth of tokens on Solana, finding the correct token can be challenging. The token list search feature has been vastly improved, taking into account near real-time information such as liquidity, volume, community verification, and potential dubious tokens. Imposter tokens and duplicates are automatically filtered out, making the search much faster and more accurate.
@@ -45,16 +49,7 @@ With the rapid growth of tokens on Solana, finding the correct token can be chal
This upgrade enhances the token verification process. Instead of relying on a single strict list as in V2, Metropolis incorporates a range of lists across the entire ecosystem. Currently, different token lists are aggregated into an Ecosystem Master List, with new labels such as "LST," "Pump," "Clone," and a unified standard for partners to contribute.
-
-
-### Streamlined Warnings UX
-Non-blocking labels are now more relevant and provide warnings about issues like freeze authority and strict list verification in an easily digestible format directly on the swap interface.
-
-
diff --git a/features/3-magic/1-slippage.md b/features/3-magic/1-slippage.md
new file mode 100644
index 00000000..bc468f0f
--- /dev/null
+++ b/features/3-magic/1-slippage.md
@@ -0,0 +1,7 @@
+---
+sidebar_label: Slippage
+description: Learn how Jupiter Magic enables the best user experience through dynamic mechanisms on slippage, gas and retreis.
+title: Slippage
+---
+
+## Hello
\ No newline at end of file
diff --git a/features/3-magic/2-transaction-landing.md b/features/3-magic/2-transaction-landing.md
new file mode 100644
index 00000000..f23c28b6
--- /dev/null
+++ b/features/3-magic/2-transaction-landing.md
@@ -0,0 +1,5 @@
+---
+sidebar_label: Transaction Landing
+description: Learn how Jupiter Magic enables the best user experience through dynamic mechanisms on slippage, gas and retreis.
+title: Transaction Landing
+---
\ No newline at end of file
diff --git a/features/3-magic/3-retry.md b/features/3-magic/3-retry.md
new file mode 100644
index 00000000..3246d5e1
--- /dev/null
+++ b/features/3-magic/3-retry.md
@@ -0,0 +1,5 @@
+---
+sidebar_label: Retry
+description: Learn how Jupiter Magic enables the best user experience through dynamic mechanisms on slippage, gas and retreis.
+title: Retry
+---
\ No newline at end of file
diff --git a/features/4-merlin.md b/features/4-merlin.md
new file mode 100644
index 00000000..f857f93e
--- /dev/null
+++ b/features/4-merlin.md
@@ -0,0 +1,13 @@
+---
+sidebar_label: Merlin
+description: Learn how Jupiter Merlin safeguards users through detailed token information and safety notifications.
+title: Merlin
+---
+
+### What is Merlin? What are we solving?
+
+### Token Information
+
+### Safety Notifications
+
+### Protective Trading Settings
diff --git a/guides/img/jup-swap/Metis-2.png b/features/img/Metis-2.png
similarity index 100%
rename from guides/img/jup-swap/Metis-2.png
rename to features/img/Metis-2.png
diff --git a/guides/img/jup-swap/Metis-3.png b/features/img/Metis-3.png
similarity index 100%
rename from guides/img/jup-swap/Metis-3.png
rename to features/img/Metis-3.png
diff --git a/guides/img/jup-swap/Metis-4.jpg b/features/img/Metis-4.jpg
similarity index 100%
rename from guides/img/jup-swap/Metis-4.jpg
rename to features/img/Metis-4.jpg
diff --git a/guides/img/jup-swap/Metis2.png b/features/img/Metis2.png
similarity index 100%
rename from guides/img/jup-swap/Metis2.png
rename to features/img/Metis2.png
diff --git a/guides/img/jup-swap/Metis3.png b/features/img/Metis3.png
similarity index 100%
rename from guides/img/jup-swap/Metis3.png
rename to features/img/Metis3.png
diff --git a/guides/img/jup-swap/Metis4.jpg b/features/img/Metis4.jpg
similarity index 100%
rename from guides/img/jup-swap/Metis4.jpg
rename to features/img/Metis4.jpg
diff --git a/guides/img/jup-swap/Metropolis-1.jpeg b/features/img/Metropolis-1.jpeg
similarity index 100%
rename from guides/img/jup-swap/Metropolis-1.jpeg
rename to features/img/Metropolis-1.jpeg
diff --git a/features/index.md b/features/index.md
new file mode 100644
index 00000000..6183a9c4
--- /dev/null
+++ b/features/index.md
@@ -0,0 +1,35 @@
+---
+sidebar_label: Features of Jupiter Exchange
+description: Learn how Jupiter Metis Routing boosts Solana swaps using a unique algorithm for quicker trades, lower slippage, and scalable upgrades.
+title: Features of Jupiter Exchange
+---
+
+This section explains the various foundations that make Jupiter one of the best and most powerful places to trade tokens on Solana.
+
+## Metis
+
+Metis is the algorithm behind Advanced/Performant Routing in order to find the best Best Prices for your token swaps.
+
+Learn more about **[Metis](./1-metis.md)**.
+
+## Metropolis
+
+Metropolis is the backend infrastructure stack that helps you:
+- Discover more tokens
+- Manage slippage automatically
+- Search for tokens more quickly & safely
+- Understand warnings and issues more easily
+
+Learn more about **[Metropolis](./2-metropolis.md)**.
+
+## Magic
+
+Dynamic Slippage, Transaction Landing, Retry.
+
+Learn more about **[Dynamic Slippage](./3-magic/1-slippage.md), [Transaction Landing](./3-magic/2-transaction-landing.md)** and **[Retry](./3-magic/3-retry.md)**.
+
+## Merlin
+
+MEV Protection, Token Info, Rekt Alerts
+
+Learn more about **[Merlin](./4-merlin.md)**.
\ No newline at end of file
diff --git a/guides/static/media/dynamic-slippage-video.mp4 b/features/static/media/dynamic-slippage-video.mp4
similarity index 100%
rename from guides/static/media/dynamic-slippage-video.mp4
rename to features/static/media/dynamic-slippage-video.mp4
diff --git a/guides/static/media/instant-routing-video.mp4 b/features/static/media/instant-routing-video.mp4
similarity index 100%
rename from guides/static/media/instant-routing-video.mp4
rename to features/static/media/instant-routing-video.mp4
diff --git a/features/static/media/lock-walkthrough.mp4 b/features/static/media/lock-walkthrough.mp4
new file mode 100644
index 00000000..fa259b17
Binary files /dev/null and b/features/static/media/lock-walkthrough.mp4 differ
diff --git a/guides/static/media/master-token-list-video.mp4 b/features/static/media/master-token-list-video.mp4
similarity index 100%
rename from guides/static/media/master-token-list-video.mp4
rename to features/static/media/master-token-list-video.mp4
diff --git a/guides/static/media/safety-warnings-video.mp4 b/features/static/media/safety-warnings-video.mp4
similarity index 100%
rename from guides/static/media/safety-warnings-video.mp4
rename to features/static/media/safety-warnings-video.mp4
diff --git a/guides/static/media/token-search-video.mp4 b/features/static/media/token-search-video.mp4
similarity index 100%
rename from guides/static/media/token-search-video.mp4
rename to features/static/media/token-search-video.mp4
diff --git a/guides/12-general/6-faq.md b/guides/12-general/6-faq.md
index 3c79fd3b..947e77b8 100644
--- a/guides/12-general/6-faq.md
+++ b/guides/12-general/6-faq.md
@@ -25,7 +25,7 @@ description: "Discover FAQs on Jupiter Swap, DCA, and more. Get quick answers an
- Slippage occurs because of changing market conditions between the moment the transaction is submitted and its verification.
- Your slippage rate is an important setting, it works as a protection. If the price falls below your slippage rate, then the transaction will fail in order to prevent you from getting less tokens than you want.
- You can adjust your slippage. By default, slippage is set to 0.5%, meaning if the price slips more than 0.5% of your quote, the trade will not be completed.
-- Learn more about [slippage and price impact](/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/2-how-swap-works.md)
+- Learn more about [slippage and price impact](/features/magic/slippage)
### What does it mean when I get the 'some routes failed to load...'
diff --git a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/2-how-swap-works.md b/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/2-how-swap-works.md
deleted file mode 100644
index e154d0c0..00000000
--- a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/2-how-swap-works.md
+++ /dev/null
@@ -1,125 +0,0 @@
----
-sidebar_label: How Swap Works
-description: Learn how Jupiter Swap uses smart routing and safety features to innovate token trading on Solana. Discover its mechanisms in this beginners guide.
-title: How the Jupiter Swap Works
-slug: /jupiter-swap/how-swap-works/how-swap-works
----
-
-
- Understanding Jupiter Swap: Smart Routing & Features
-
-
-
-The Jupiter Swap is a decentralized exchange aggregator designed to provide the best rates for swapping SPL tokens on the Solana blockchain. It routes trades through multiple liquidity sources to ensure optimal prices, low slippage, and efficient transaction execution. Users benefit from its seamless interface, deep liquidity, and the ability to perform complex token swaps in a single transaction.
-
-### **Jupiter V3 Upgrades**
-
-Jupiter V3 introduced multiple improvements to the swap experience!
-
-The Metropolis upgrade introduced Instant Routing, Dynamic Slippage, Smart Token Filtering, Ecosystem Token List and new Safety features.
-[Dive into these new features in detail here! ->](/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/1-metropolis.md)
-
-Metis, a routing protocol, was also introduced to improve route discovery, reducing slippage and scalability in V3.
-[Dive into key features of the Metis routing protocol here! ->](/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/3-metis-routing.md)
-
-
-### Token Ledger For Increased Swap Success Rates
-
-The Token Ledger is a collection of three instructions *(Set Token Ledger, Send Instruction, Swap Instruction)* that consolidate withdrawal and swap instructions into a single transaction. Integrators/partners can now effortlessly instruct a swap to be executed based on the actual sent amount, after taking into account fees and slippages.
-
-Before the introduction of the Token Ledger, swap instructions relied on a simulation-driven approach to approximate the amount deducted from a user's wallet to facilitate the swap. This estimation approach often ended up with discrepancies between the estimated and actual amounts, especially during periods of market volatility with high slippages, leading to swap failures.
-
-Consider this scenario where a user intends to withdraw 1,000 USDC from Meteora’s USDC vault into wBTC. Note that users hold vUSDC LP tokens in Meteora vaults.
-
-1. In the first instruction, the Token Ledger will verify and record the user’s initial USDC balance within their wallet. For the purpose of this example, let’s assume the initial balance is 100 USDC.
-2. In the second instruction, an amount equivalent to 1,000 USDC in vUSDC is withdrawn from Meteora vaults into USDC, and we examine the user’s balance. Due to factors like slippage, the USDC balance is found to be 1090 USDC.
-3. For the third instruction, subtracting the initial 100 USDC from the current 1090 USDC balance, it’s evident that the user has effectively withdrawn 990 USDC, which will then be utilized to swap for wBTC as the final output token.
-
-Without the Token Ledger, the previous swap method relied on estimated amounts, which could fluctuate due to market volatility and performance variations, frequently resulting in suboptimal user experiences.
-
-With the Token Ledger, integrators can issue swap instructions based on actual amounts that have taken into account slippage and related fees. This eliminates the need for simulation and significantly increases the success rate of swaps, all within a single transaction.
-
-The Token Ledger caters to a wide range of use cases, which include but are not limited to:
-
-- Withdrawing assets from a protocol to any desired token, such as converting to USDC from a wBTC vault.
-- Supporting protocols that transition positions to a different token from their original position, as seen in Perpetuals.
-- Facilitating the exchange of NFTs for tokens other than SOL.
-
-Read more about the Token Ledger:
-https://station.jup.ag/docs/apis/swap-api#using-token-ledger-instruction
-
-
-## Safety Notifications
-
-:::info UI Notifications
-Jupiter offers several information signals to help users make informed trading decisions and protect themselves from potential losses. We will explain the difference between price impact, slippage, and price warnings below.
-:::
-
-
-### Price Impact
-
-Price impact refers to the change in an asset's price due to the execution of a trade. This is especially relevant in decentralized exchanges (DEXs) or automated market makers (AMMs) due to their liquidity model.
-
-Price Impact is influenced by the available liquidity to settle the trade and the size of the trade. For example, if you want to swap a large amount of one token for another in a liquidity pool, the larger your trade compared to the pool's size, the more significant the price impact will be. This is because the execution of your trade will shift the balance between the tokens in the pool which will directly affect the price according to the AMM's formula.
-
-Price impact numbers vary across AMMs and the figure shown on Jupiter is an aggregate based on your particular route.
-
-To reduce price impact, users can split trades into several smaller trades over time. Jupiter's smart routing system checks all available liquidity pools to find the optimal route that maximizes output tokens.
-
-Be sure to check the minimum amount of destination tokens quoted on the Jupiter interface, and set a Slippage amount to protect yourself.
-
-
-
-### Slippage
-
-Slippage occurs when market conditions change between transaction submission and verification. The slippage rate is an important setting to prevent users from receiving fewer tokens than expected. If the price falls below the slippage rate, the transaction fails.
-
-
-
-### MEV Protection
-
-Jupiter makes it easier for you to protect and hide your swap transactions against MEV and sandwich attacks also known as transaction front-running, by sending your transaction directly to a Jito validator. Note that MEV Protect minimzes loss of funds due to front-running but [slippage](../2-how-swap-works/2-how-swap-works.md/#slippage) still may occur when market conditions change during swap execution.
-
-
-
-### Price Warning
-
-Price Warning is an additional layer of protection implemented by Jupiter to alert users when the quoted price deviates from the reference price (in this case, CoinGecko's pricing). Price warnings can be caused by various external factors, and Jupiter adds an extra confirmation layer to prevent misclicks or human errors.
-
-
-
-### Verification Warning
-
-Verification Warnings are shown for tokens that haven’t been approved by the community and added to the Jupiter Strict List. Scammers often create fake tokens with names identical to legitimate ones, attempting to deceive users into purchasing these fraudulent tokens.
-
-
-
-### Freeze Authority
-
-Freeze Authority (FA) is a control mechanism that allows token issuers to temporarily or permanently halt the transfer or trading of a token. This can be used for both legitimate and harmful purposes.
-
-**Valid Uses of FA:** It is common for regulated tokens, such as stablecoins or RWAs, to have FA to comply with legal requirements. It allows stablecoin and RWA issuers to freeze tokens in cases of fraud, money laundering, terrorism financing, or to comply with law enforcement requests.
-
-**Misuse of FA:** However, FA is most commonly used by scam projects. FA is often abused to lock users out of trading or transferring the scam token, leading to significant losses. It’s a red flag for users, as it indicates a potential for market manipulation or outright fraud.
-
-**Freeze Authority Notifications for Unverified vs. Verified Tokens**
-
-Tokens not on the Jupiter Strict List will display a full FA warning. Tokens verified by the community and approved for the Jupiter Strict List will display a less ominous FA notification.
-
-Users should always assess the presence of FA in a project regardless of verification status and understand the intent behind it. While it can be necessary for stablecoin and RWA projects, more often than not it is used to exploit users.
-
-#### Additional Safety Confirmation
-
-When price impact or price deviation is too high, we have an additional modal asking you to confirm the trade.
-
-
-
-## Swap Tips
-
-- **Always double check the token mint address:** Token metadata such as name, symbol, and icon can be faked. The true identity of a token is its mint address.
- - [Tweet: A gentle reminder to check the mint address of the token you're trading](https://twitter.com/JupiterExchange/status/1580217415593443329?s=20&t=xmsYmPnUZfuS6tQpvEQ7Pg)
-- **The quote given is not the final price:** The quote given on a route is based on the current liquidity in the pools. Pool liquidity can go up or down at any time and in some cases, pools may close. An example would be oracle-based Lifinity which may stop accepting swaps after a price movement.
-- **Set a slippage amount to protect yourself:** Slippage is your swap protection if the price diverges too much from the quoted price.
-- **Jupiter cannot guess the final spot price or know what is a reasonable price impact for you**. We encourage checking these before the swap:
- - Check the Price Impact. *Price impact varies across the AMM and DEXes that Jupiter uses in each route.*
- - Check against a price feed like [Coingecko](https://www.coingecko.com/), [Birdeye](https://birdeye.so/), or CEX pricing.
diff --git a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/_category_.json b/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/_category_.json
deleted file mode 100644
index e8d69154..00000000
--- a/guides/2-jupiter-spot/2-jupiter-swap/2-how-swap-works/_category_.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "label": "How Swap Works",
- "link": {
- "type": "generated-index",
- "slug": "/how-swap-works"
- }
- }
-
\ No newline at end of file
diff --git a/sidebars-features.js b/sidebars-features.js
new file mode 100644
index 00000000..d1578ca9
--- /dev/null
+++ b/sidebars-features.js
@@ -0,0 +1,41 @@
+// @ts-check
+
+/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
+const sidebars = {
+ features: [
+ {
+ type: "doc",
+ id: "index",
+ label: "Overview",
+ },
+ {
+ type: "doc",
+ id: "metis",
+ },
+ {
+ type: "doc",
+ id: "metropolis",
+ },
+ {
+ type: "category",
+ label: "Magic",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "3-magic",
+ },
+ ],
+ },
+ {
+ type: "doc",
+ id: "merlin",
+ },
+ {
+ type: "doc",
+ id: "how-swap-works",
+ },
+ // Add other feature pages here
+ ],
+};
+
+module.exports = sidebars;
diff --git a/sidebars-guides.js b/sidebars-guides.js
index 3c58dc1d..927b51fa 100644
--- a/sidebars-guides.js
+++ b/sidebars-guides.js
@@ -2,7 +2,136 @@
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
- ecosystem: [{ type: "autogenerated", dirName: "." }],
+ guides: [
+ {
+ type: "doc",
+ label: "Overview",
+ id: "index",
+ },
+ {
+ type: "category",
+ label: "Jupiter Spot",
+ items: [
+ {
+ type: "category",
+ label: "Jupiter Swap",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "2-jupiter-spot/2-jupiter-swap",
+ },
+ {
+ type: "link",
+ label: "Swap Features",
+ href: "/features",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "Limit Order",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "2-jupiter-spot/3-limit-order",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "DCA",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "2-jupiter-spot/4-dca",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "VA",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "2-jupiter-spot/5-va",
+ },
+ ],
+ },
+ // Add more categories under Jupiter Spot if needed
+ ],
+ },
+ {
+ type: "category",
+ label: "Ape",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "6-ape",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "JLP",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "7-jlp",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "JupSOL",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "9-jupsol",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "Perpetual Exchange",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "8-perpetual-exchange",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "Bridge",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "10-bridge",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "JupiterLock",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "11-jupiter-lock",
+ },
+ ],
+ },
+ {
+ type: "category",
+ label: "General",
+ items: [
+ {
+ type: "autogenerated",
+ dirName: "12-general",
+ },
+ ],
+ },
+ // Add more top-level categories as needed
+ ],
};
module.exports = sidebars;
diff --git a/src/theme/DocSidebar/Desktop/Content/index.js b/src/theme/DocSidebar/Desktop/Content/index.js
new file mode 100644
index 00000000..ca848b8d
--- /dev/null
+++ b/src/theme/DocSidebar/Desktop/Content/index.js
@@ -0,0 +1,21 @@
+import React from 'react';
+import Content from '@theme-original/DocSidebar/Desktop/Content';
+import {useLocation} from '@docusaurus/router';
+import Link from '@docusaurus/Link';
+
+export default function ContentWrapper(props) {
+ const location = useLocation();
+
+ return (
+ <>
+ {location.pathname.startsWith('/features') && (
+
+ Back to Guides
+
+ )}
+
+ >
+ );
+}
diff --git a/src/theme/DocSidebar/Mobile/Content/index.js b/src/theme/DocSidebar/Mobile/Content/index.js
new file mode 100644
index 00000000..7c98f87f
--- /dev/null
+++ b/src/theme/DocSidebar/Mobile/Content/index.js
@@ -0,0 +1,36 @@
+import React from 'react';
+import MobileDocSidebar from '@theme-original/DocSidebar/Mobile';
+import {useLocation} from '@docusaurus/router';
+import Link from '@docusaurus/Link';
+
+function CustomBackButton() {
+ return (
+
+ Back to Guides
+
+ );
+}
+
+export default function MobileDocSidebarWrapper(props) {
+ const location = useLocation();
+
+ if (location.pathname.startsWith('/features')) {
+ return (
+ <>
+
+
+ >
+ );
+ }
+
+ return ;
+}
\ No newline at end of file