Moai

Agent that rescues idle Uniswap LP positions and migrates them to top yield vaults.

Moai

Created At

Open Agents

Winner of

Uniswap

Uniswap Foundation - Best Uniswap API integration 2nd place

Project Description

MOAI is an agentic liquidity manager built on top of Uniswap v3 & v4. Users delegate to a keeper agent with a single EIP-712 signature; the agent watches their Uniswap positions and runs in two complementary modes — Migrate (when out-of-range) and Harvest (when in-range and accruing fees). Both modes route through the Uniswap Trading API + Universal Router and settle in one atomic Calibur batched transaction on Base, with the relayer paying gas. Uniswap is the substrate; the agent is the worker that keeps it productive.

How it's Made

How MOAI works: Users connect their wallet (delegated to Calibur via EIP-7702), sign a single EIP-712 envelope, and MOAI takes it from there. That signature registers the keeper key and configures a per-key execution hook with an allowlist of targets and selectors plus a 30-day expiry. No custody is taken and no further user interaction is required.

MOAI continuously monitors each LP position and automatically chooses between two strategies. If the position is out of range, it executes a full migration (burn → swap → deposit into a Best DeFi Vault from Agent via LI.FI Earn). If the position is still in range and has accumulated fees, it performs a harvest by collecting fees only (using a zero-liquidity decrease), swapping to USDC, and Depositing into a Best DeFi Vault from Agent via LI.FI Earn. Both flows are executed as a single atomic batched call through Calibur with separate nonce namespaces to prevent replay across actions.

All execution is bundled into one transaction pipeline: position modification via the Uniswap v4 PositionManager, routing and swaps via the Uniswap Trading API (which returns production-ready Universal Router calldata), and final vault deposits via Li.Fi Composer. The entire sequence is signed once by the agent and executed by a relayer, resulting in a single transaction on-chain.

Security model: The keeper operates with scoped delegation, not custody. Access is restricted by (1) a per-key execution hook enforcing an allowlist of permitted contract calls, (2) Calibur’s native key expiry and on-chain revocation, and (3) transaction-level constraints such as slippage bounds from Trading API calldata. Funds always remain in the user’s EOA.

Built on: Uniswap Trading API, Calibur (EIP-7702), custom execution hook, Uniswap v4 PositionManager, Uniswap v3 NonfungiblePositionManager, Universal Router, Permit2, Li.Fi Composer — deployed on Base Mainnet.

background image mobile

Join the mailing list

Get the latest news and updates

Moai | ETHGlobal