Aqua0

Mini App for Cross-Chain shared liquidity via Aqua AMMs and LayerZero

Aqua0

Created At

ETHGlobal Buenos Aires

Winner of

ETHGlobal

ETHGlobal - šŸ† ETHGlobal Buenos Aires 2025 Finalist

World

World - World Pool Prize

Prize Pool

1inch

1inch - Build an Aqua App 4th place

LayerZero

LayerZero - Best Omnichain Implementation 2nd place

Project Description

Aqua is a shared liquidity layer developed by 1inch that solves the inefficiency problems currently existing in AMMs. The problems are: 1) 90% of AMM liquidity is never used, generating immobilized liquidity. 2) This leads to fragmented liquidity, as AMMs end up having idle and unutilized liquidity across different LPs in different protocols and chains. Aqua0, our solution, evolves Aqua in a cross-chain manner. The problem Aqua currently has is that it's an accounting layer only usable on one chain at a time. That's why in Aqua0 we're going to create a cross-chain marketplace for AMMs, where we'll use Layer Zero composers across different chains, and Aqua's shared liquidity contracts, to allow liquidity providers to unlock new yield opportunities, increasing capital efficiency.

How it's Made

Custom AquaApps We deployed 2 custom Aqua Apps on 2 separate chains, Base and WorldChain (the latter which we managed by deploying an Aqua smart contract ourselves).

The first AquaApp implements Curve's StableSwap AMM. It enables efficient trading between pegged assets (like stablecoins) by using a hybrid invariant that combines constant sum and constant product formulas, providing minimal slippage near equilibrium while maintaining liquidity provider protection at extremes.

The fundamental equation governing all trades is: An^n āˆ‘x_i + D = An^n D + D^(n+1)/(n^n āˆx_i)

Where D and āˆ‘x_j are approximated using the newton-raphson method within 2 iterative functions within the AquaApp.

The second AquaApp implements Uniswap V3-style concentrated liquidity. The key innovation is adapting the virtual reserve concept to work with Aqua's virtual balance system, where tokens remain in maker wallets rather than being deposited into pools.

Whilst the core AMM constant product is: x Ɨ y = k In concentrated liquidity, we reformulate this using liquidity L: x_virtual Ɨ y_virtual = L² Where: L = Liquidity (constant within a price range) x_virtual = Virtual reserves of token 1 y_virtual = Virtual reserves of token 2 Virtual reserves: Extend from price 0 to āˆž Real reserves: Actual tokens locked in the pool contract Relationship: Real = Virtual adjusted for range boundaries

background image mobile

Join the mailing list

Get the latest news and updates