For the complete documentation index, see llms.txt. This page is also available as Markdown.

Router Swap

Execute optimized swaps through Ferra's smart router for best rates.

Overview

The Router module automatically finds the optimal path for your swap by:

  • Path Discovery: Finds all possible routes between tokens

  • TVL Optimization: Prioritizes pools with higher liquidity

  • Multi-hop Support: Routes through intermediate tokens when beneficial

  • Best Rate Selection: Compares all paths to find optimal execution

Quick Start

// 1. Find best route
const bestRoute = await sdk.Router.getBestInternalRouter(
  '0x2::sui::SUI',           // From token
  '0x...::usdc::USDC',       // To token
  new BN('1000000000'),      // Amount (1 SUI)
  true,                      // Fix input amount
  0.01,                      // 1% slippage
  ''                         // No partner
)

// 2. Create swap transaction
if (bestRoute && !bestRoute.isExceed) {
  const tx = await TransactionUtil.buildRouterSwapTransaction(
    sdk,
    bestRoute.createTxParams,
    true,  // byAmountIn
    allCoinAssets
  )
  
  const result = await sdk.fullClient.signAndExecuteTransaction({
    transaction: tx,
    signer: keypair
  })
}

Find Optimal Route

Basic Route Finding

With Fallback Options

Route Types

Single-Hop Route

Direct swap in one pool:

Multi-Hop Route

Through intermediate token:

Complete Swap Flow

Load Graph Data

Router needs graph data to find paths:

Advanced Features

TVL-Based Routing

Router prioritizes high-TVL pools:

Custom Path Preferences

Fix Output Amount

Error Handling

Route Information

Important Notes

  • Router automatically loads graph data on first use

  • Multi-hop limited to 2 pools (3 tokens max)

  • TVL-based routing improves execution quality

  • Partner fees not supported with split paths

  • Always check isExceed before executing

  • Graph data cached for performance

Last updated