Supported Protocols

Currently, Tycho supports the following protocols:

Protocol
Integration Type
Simulation Time
Chains
Partial Support Notes

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, Base, Unichain

Only core uniswap V4 pools are supported on this native implementation.

uniswap_v4_hooks

Hybrid (UniswapV4State) [DCI indexed]

1 ms

Ethereum, Unichain

All composable hooks are supported. Angstrom: this hook requires the ANGSTROM_API_KEY env var to be set (request one from the Angstrom team directly). recommended: set a high startup timeout on the stream builder: .startup_timeout(Duration::from_secs(120))

vm:balancer_v2

VM (EVMPoolState) [DCI indexed]

0.5 ms

Ethereum

A few pools are currently unsupported. Use balancer_v2_pool_filter

vm:curve

VM (EVMPoolState) [DCI indexed]

1 ms

Ethereum

NOTE: curve requires a node RPC to fetch some code at startup. Please set the RPC_URL env var.

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, Base

ekubo_v2

Native (EkuboState)

1.5 μs (0.0015 ms)

Ethereum

vm:maverick_v2

VM (EVMPoolState)

-

Ethereum

aerodrome_slipstreams

Native

(AerodromeSlipstreamsState)

-

Base

rocketpool

Native (RocketpoolState)

-

Ethereum

fluid_v1

Native (FluidV1)

-

Ethereum

Note: paused pools are still indexed. To filter them out use fluid_v1_paused_pools_filter.

circle-info

Live tracker & Upcoming protocols

circle-info

Register code snippet

Integration Types

There are three types of protocol integrations:

  • 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.

    • Some VM protocols are DCI indexed. DCI is our Dynamic Contract Indexer and provides more flexibility on indexing restraints. Note - these protocols tend to serve a lot of data and experience occasional streaming delays.

  • Hybrid uses a combination of the two - native for general protocol logic portable to Rust, and VM for the more complex or pool-specific logic.

Interested in adding a protocol? Refer to the Tycho Simulation for DEXs documentation for implementation guidelines.

Last updated

Was this helpful?