What it offers
- swap: Execute swap via meta aggregation router
Notes
- Same address on 11 of its 12 chains; zkSync Era’s differs
- Meta-aggregates across 1inch, 0x, ParaSwap, and other aggregators
- Route computation via KyberSwap API - callTarget/targetData come from API response
- Approve srcToken to metaAggregationRouter before swapping
- On Arc (5042) the router at this address is a smaller build than Ethereum’s (13724 vs 18652 bytes, a different owner, no
swapGeneric/whitelist functions). Itsswaphas the same selector, struct and outputs (Blockscout-verifiedMetaAggregationRouterV2), and Kyber’s Arc API builds calldata that decodes under this ABI. Native input uses the0xEeee…EEeEsentinel withmsg.valuein Arc’s 18-decimal native USDC; Kyber’s own routes use the ERC-200x3600…0000with 6-decimal amounts
Its names in a program
On Ethereum,KyberswapAggregator is a namespace: its contracts need no import.
Deployments
ABI
KyberSwapMetaAggregationRouterABI
import KyberSwapMetaAggregationRouterABI from "./protocols/kyberswap-aggregator/KyberSwapMetaAggregationRouterABI.json"; Speaks for: metaAggregationRouter.
swap((address callTarget, address approveTarget, bytes targetData, (address srcToken, address dstToken, address[] srcReceivers, uint256[] srcAmounts, address[] feeReceivers, uint256[] feeAmounts, address dstReceiver, uint256 amount, uint256 minReturnAmount, uint256 flags, bytes permit) desc, bytes clientData) execution) payable returns (uint256 returnAmount, uint256 gasUsed)
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
