Back to Projects
DeFi / DEX Aggregator
RoutesX
Combines 1inch aggregation with Uniswap V3 pools to find optimal trading routes.
3 min read•Demo
DEX aggregationOptimal route findingGas optimizationMulti-hop swaps
Tech Stack
SolidityReactWeb3.js1inch APIUniswap V3Ethers.js
Overview
RoutesX is a decentralized exchange (DEX) aggregator that combines the power of 1inch aggregation protocol with Uniswap V3 concentrated liquidity pools to find the most optimal trading routes for token swaps.
The Problem
DeFi users face a fragmented liquidity landscape:
- Scattered liquidity: Liquidity spread across dozens of DEXs
- Suboptimal pricing: Single-source swaps miss better rates
- High gas costs: Multiple transactions for best prices
- Complex routing: Multi-hop routes hard to discover
Solution
RoutesX solves these problems by:
- Aggregating liquidity from multiple sources
- Finding optimal routes across DEXs
- Splitting orders for better execution
- Minimizing gas through efficient routing
Technical Architecture
Route Discovery
plaintext
User Input (Token A → Token B, Amount)
↓
┌─────────────────────────────────────┐
│ Route Discovery Engine │
├─────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 1inch API │ │ Uniswap V3 │ │
│ │ Aggregation │ │ Quoter │ │
│ └─────────────┘ └─────────────┘ │
├─────────────────────────────────────┤
│ Route Comparison │
│ (Price, Gas, Slippage) │
├─────────────────────────────────────┤
│ Optimal Route │
└─────────────────────────────────────┘
↓
Execute SwapKey Features
Multi-Source Aggregation
Queries multiple liquidity sources simultaneously:
- 1inch aggregation (covers 50+ DEXs)
- Uniswap V3 direct pools
- Custom routing algorithms
Gas Optimization
Smart gas calculations:
typescript
// Estimate gas for each route
const routes = await Promise.all([
get1inchQuote(tokenIn, tokenOut, amount),
getUniswapV3Quote(tokenIn, tokenOut, amount),
]);
// Factor in gas costs for true comparison
const bestRoute = routes.reduce((best, route) => {
const totalCost = route.outputAmount - route.gasCost;
return totalCost > best.totalCost ? route : best;
});Multi-Hop Routing
Supports complex routing through intermediate tokens:
plaintext
USDC → WETH → UNI (2 hops)
USDC → WETH → WBTC → UNI (3 hops)Smart Contract Integration
1inch Integration
solidity
// 1inch aggregation router interaction
interface I1inchRouter {
function swap(
IAggregationExecutor executor,
SwapDescription calldata desc,
bytes calldata permit,
bytes calldata data
) external returns (uint256 returnAmount);
}Uniswap V3 Integration
solidity
// Uniswap V3 swap router
interface ISwapRouter {
function exactInputSingle(
ExactInputSingleParams calldata params
) external returns (uint256 amountOut);
}Frontend
Built with React and modern Web3 libraries:
- Wallet Connection: WalletConnect, MetaMask
- Real-time Quotes: WebSocket price feeds
- Transaction Status: ENS name resolution, tx tracking
- Responsive Design: Mobile-first approach
Results
- 5-15% better rates vs single DEX
- Gas-aware routing decisions
- Sub-second quote retrieval
- Transparent route visualization
Technologies Used
- Smart Contracts: Solidity
- Frontend: React, TypeScript
- Web3: Ethers.js, Web3.js
- APIs: 1inch API, Uniswap SDK
- Testing: Hardhat, Foundry