Supported Protocols
Currently, Tycho supports the following protocols:
uniswap_v2
Native (UniswapV2State)
1 μs (0.001 ms)
Ethereum, Base, Unichain
uniswap_v3
Native (UniswapV3State)
20 μs (0.02 ms)
Ethereum, Base, Unichain
uniswap_v4
Native (UniswapV4State)
3 μs (0.003 ms)
Ethereum, Unichain
Only core uniswap V4 pools are supported on this native implementation.
uniswap_v4_hooks
Hybrid (UniswapV4State)
-
Ethereum
Only the Euler hook is currently supported. Use uniswap_v4_euler_hook_pool_filter
vm:balancer_v2
VM (EVMPoolState)
0.5 ms
Ethereum
A few pools are currently unsupported. Use balancer_v2_pool_filter
vm:curve
VM (EVMPoolState)
1 ms
Ethereum
Use curve_pool_filter to filter out pools with unsupported tokens types
sushiswap_v2
Native (UniswapV2State)
1 μs (0.001 ms)
Ethereum
pancakeswap_v2
Native (PancakeswapV2State)
1 μs (0.001 ms)
Ethereum
pancakeswap_v3
Native (UniswapV3State)
20 μs (0.02 ms)
Ethereum
ekubo_v2
Native (EkuboState)
1.5 μs (0.0015 ms)
Ethereum
vm:maverick_v2
VM (EVMPoolState)
-
Ethereum
VM v.s. Native
There are two types of implementations:
Native protocols have been implemented using an analytical approach and are ported to Rust - faster simulation.
VM protocols execute the VM bytecode locally - this is easier to integrate the more complex protocols, however has slower simulation times than a native implementation.
Interested in adding a protocol? Refer to the Tycho Simulation for DEXs documentation for implementation guidelines.
Last updated