Skip to content

Integrating Ekubo

There are several ways to integrate Ekubo, depending on what you’re building.

Every interaction with Ekubo goes through the Core singleton’s lock callback pattern: call lock, receive a callback, perform swaps and settle net token amounts at the end. See Swapping for the flow. On EVM, production swaps go through the gas-optimized Yul Router with routes encoded by @ekubo/yul-router-sdk; the Router contracts (Starknet, EVM) are reference implementations for building your own.

Quote Ekubo liquidity off-chain (aggregators, solvers)

Section titled “Quote Ekubo liquidity off-chain (aggregators, solvers)”

To route trades through Ekubo pools you need to simulate swaps off-chain. The easiest path is the Quoter API, which returns block-pinned split routes ready to execute. To compute quotes yourself, use the SDKs — the Rust SDK implements every pool type and extension — or see Price representation and Pool math to implement the math directly. Remember that pools with extensions can modify swap behavior; see the Aggregators guide for how to handle them safely.

The open source indexer ingests Ekubo events on any supported chain into Postgres — it is the same code that powers the Ekubo API. Run your own instance for low-latency or high-volume needs.

The public MCP server at mcp.ekubo.org exposes quoting, pool and position data, and unsigned execution plans to any MCP-capable agent. Compare swap quotes with an AI agent walks through token resolution, base units, and a read-only quote comparison with a runnable script.

Migrating from Uniswap v3 maps pool identity, ticks, fees, quoting, extensions, and licensing to Ekubo on EVM chains, and reads the same market from both protocols.

Market makers can run RFQ-style pools where each swap is signed off-chain with its own fee and bounds, while still settling in Ekubo Core — see Signed exclusive swaps.

ekubo_sdk (Rust) computes quotes across every pool type; @ekubo/sdk provides pool math in TypeScript; @ekubo/yul-router-sdk encodes swap routes for EVM execution. See SDKs.

Production integrations of Ekubo you can use as working examples:

Integration Language What it shows Ekubo code
KyberSwap dex-lib Go Aggregator pool discovery, state tracking, and swap simulation pkg/liquidity-source/ekubo
ParaSwap dex-lib TypeScript Aggregator integration with on-chain quoting and event-based state src/dex/ekubo
Tycho Rust Substreams-based indexing and off-chain swap simulation of Ekubo V3 protocols/substreams/ethereum-ekubo-v3, crates/tycho-simulation/src/evm/protocol/ekubo_v3

Questions about an integration? Ask in the Ekubo Discord.