I mentioned Aerodrome in the Base Data Extraction post, but only in passing. I was eager to get Base Szn kicked off, and didn’t want to delay that effort by focusing on unfamiliar exchanges.
Now that I’ve delivered the Base Backrunner project, I’m taking another look at Aerodrome.
It appeared on my radar when I was browsing the protocol rankings for Base Chain Protocol Rankings on DefiLlama.
Ignoring the top DEX leaves money on the table, so I’m going to review and explore the exchange from the contract level up. Similar to how I worked through Uniswap V2, Uniswap V3, and Curve V1, I will identify the key contracts, demonstrate how to interact with them on the console, and build classes into degenbot to support them.
About Aerodrome
The information here has been gathered from the project’s documentation page and their Github repository.
Aerodrome launched on August 28, 2023. It is forked from Velodrome V2, which is a multi-liquidity exchange based on Curve, Uniswap V2, and Uniswap V3 liquidity pools. We have already covered all three here, so none of the pool mechanisms should be especially novel.
As I mentioned earlier, Aerodrome is forked from Velodrome V2, which is itself forked from Solidly. Solidly is one of the first dual-liquidity models, using Uniswap V2 AMM pools for volatile assets and Curve V1 AMM pools for correlated assets. I won’t refer much to Velodrome or Solidly from here, since I prefer to reference the fundamental primitives — Uniswap, Curve, Balancer, etc. I’ll also omit the “fork” qualifier. We all know Aerodrome isn’t Uniswap or Curve, and their pool contracts are simply based on that set of well-understood contracts.
Aerodrome’s Uniswap V2 / Curve V1 contracts are kept in the contracts repository, and the Uniswap V3 contracts are kept in the slipstream repository.
The repositories have specification documents (#1, #2) describing the contracts, addresses, tokens, fees, governance model, etc.