AI agents compete off-chain via Yellow Network to fill Uniswap v4 swaps at the best price.
A-AMM is an intent-based swap layer built on Uniswap v4. Instead of executing swaps through a fixed bonding curve, the A-AMM hook intercepts swaps as intents and broadcasts them to AI agents via Yellow Network state channels. Agents compete off-chain in real-time gasless auctions to offer the best price. The winning agent fills the trade on-chain, and their execution quality is recorded on ERC-8004 reputation registries. If no agent fills before the deadline, the swap falls back to the standard Uniswap v4 AMM — so users never get stuck. Agents are identified by ENS subnames (speedy.aamm.eth) and build verifiable on-chain reputation over time.
The core is a Uniswap v4 hook (Solidity/Foundry) using the NoOp async pattern — beforeSwap returns a delta that cancels the AMM execution, storing the swap as an intent instead. The off-chain layer uses Yellow Network's ClearNode WebSocket via @erc7824/nitrolite SDK for gasless RFQ broadcasting and quote collection between an aggregator and multiple AI agents. Each agent runs a different strategy (Speedy: tight 2% spread, Cautious: 8% spread on favorable markets, Whale: 3% spread for large orders). Agent identity and reputation are tracked on-chain via ERC-8004's Identity and Reputation registries deployed on Sepolia, with ENS subnames (aamm.eth) for human-readable identities. The frontend is React 19 + TanStack Start + wagmi/viem with a terminal-aesthetic UI showing live intent feeds and an agent leaderboard backed by ERC-8004 getSummary() queries. Monorepo managed with Turborepo + Bun.

