KyberSwap Arbitrage
Overview
Triangular arbitrage: profit from price differences between 3 tokens (e.g., USDC → ETH → USDT → USDC)
Key Contracts (Base Mainnet)
- - Router: INLINECODE0
- Factory: INLINECODE1
Core Logic
1. Get Quotes
CODEBLOCK0
2. Calculate Profit
CODEBLOCK1
3. Execute Swap
CODEBLOCK2
Token Addresses (Base)
- - USDC: INLINECODE2
- USDT: INLINECODE3
- ETH: INLINECODE4
- WETH: INLINECODE5
Arbitrage Pairs (Base)
Common triangular paths:
- - USDC → ETH → USDC
- USDC → WETH → USDT → USDC
- USDT → ETH → USDC → USDT
Safety Checks
- 1. Slippage: Set
amountOutMin = output * (1 - slippage%) - Gas: Estimate gas, ensure profit > gas
- Max Price Impact: Check pool reserves before large trades
- Renounced Contracts: Only trade tokens with renounced ownership
Risk Profile
- - Aggressive but audit-first
- Skip all non-renounced contracts
- Check for honeypot tokens
KyberSwap 套利
概述
三角套利:利用三种代币之间的价格差异获利(例如:USDC → ETH → USDT → USDC)
关键合约(Base 主网)
- - 路由器:0x6131B5fae19EA4f9D964eAc0408E4408b2a37dD8
- 工厂:0x5F1dddbf348aC2BEbe18559BF0eDE9D3fE6ce35f
核心逻辑
1. 获取报价
typescript
const router = new ethers.Contract(routerAddr, routerABI, provider);
// 获取精确输入对应的输出数量
const [amountOut] = await router.getAmountsOut(
amountIn, // Wei 数量
[tokenA, tokenB, tokenC] // 路径
);
2. 计算利润
利润 = 最终金额 - 初始金额 - 燃料成本
3. 执行兑换
typescript
const tx = await router.swapExactTokensForTokens(
amountIn,
amountOutMin,
path,
recipient,
deadline
);
代币地址(Base)
- - USDC:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
- USDT:0xfde4C96c85940E8F44A6D8d5e4fD4f4C4f9D8E8
- ETH:0x4200000000000000000000000000000000000006
- WETH:0x4200000000000000000000000000000000000006
套利对(Base)
常见三角路径:
- - USDC → ETH → USDC
- USDC → WETH → USDT → USDC
- USDT → ETH → USDC → USDT
安全检查
- 1. 滑点:设置 amountOutMin = 输出金额 × (1 - 滑点百分比)
- 燃料:估算燃料成本,确保利润大于燃料费用
- 最大价格影响:大额交易前检查资金池储备
- 放弃所有权合约:仅交易已放弃所有权的代币
风险概况
- - 激进型但需先审计
- 跳过所有未放弃所有权的合约
- 检查是否存在蜜罐代币