Search projects, hackathons, sponsors and tech

    ← All projects

    Ladder

    CEX-style WETH/USDC grid on 1inch Aqua + SwapVM. Custom opcodes; rungs re-arm in-wallet.

    Demo

    About

    Ladder is a CEX-style grid we shipped as maker liquidity on official 1inch Aqua. The pair is WETH/USDC on Base. You approve Aqua once; the tokens never leave the wallet. We did not redeploy Aqua - that registry is 1inch's. What we built is LadderRouter (SwapVM pointed at that Aqua), GridManager to ship discrete rungs, and LadderLens so the UI can tell which rungs would actually quote. A rung is a price, not a curve. When a bid fills, Aqua push() flips inventory and the ask on that same rung is live with no extra maker transaction. WalletGuard caps each quote to a live share of the real wallet at quote time. CoverageGuard stops the quote if coverage is below the maker's floor. Both sides have already filled on Base through LadderRouter.swap. Here is the contract - https://basescan.org/address/0xD810CD7E5Aa03848596a86277fffc6a50DA1121b

    How it's made

    Contracts are Foundry, Solidity 0.8.30. We left official 1inch Aqua in place and subclassed 1inch SwapVM as LadderRouter. LadderOpcodes extends AquaOpcodes so 1inch's stock instructions still run; we added five of our own, then fall through to theirs. OracleEnvelope reads Chainlink ETH/USD. WalletGuard, CoverageGuard, RungQuote, and ProtocolFee sit in the same table. GridManager builds every rung as one program - envelope, WalletGuard WETH, WalletGuard USDC, CoverageGuard, fee, RungQuote, salt and ships it through Aqua. Takers call LadderRouter.swap. The UI is Next.js, viem, wagmi, and RainbowKit. A small TypeScript resolver quotes those rungs and hedges leftovers through the 1inch Swap API. https://basescan.org/address/0xD810CD7E5Aa03848596a86277fffc6a50DA1121b