META-LAYER FOR 1INCH AQUA — ETHONLINE 2026

Liquidity that
never sleeps.

Superposition-Liquid is a meta-layer for 1inch Aquacapital adapters and meta-opcodes that wrap any SwapVM curve. The maker's capital sits in yield protocols (Aave, Morpho, Euler, Pendle, Stargate, Uniswap v4) and cycles in and out atomically on every fill — you hold Yielding-ETH/Yielding-USDC, you quote on ETH/USDC.

One strategy. Composable layers around it.

Superposition is not a pricing curve — it wraps the one you ship. Each layer below is independent, and the pricing math at the bottom is never modified.

curve
Your SwapVM strategy
Any pricing program — xyk, curved, flat-price, or a custom curve. Superposition never touches it.
adapters
Capital adapters
One config entry per token saying where the capital rests between fills — Aave, any ERC-4626 vault, Stargate, Pendle, or a Uniswap v4 hook.
meta-opcodes
Meta-opcodes
Extra instructions appended to the program, running alongside the pricing opcode: scale balances by the live yield rate, and reject any fill the maker's real capital can't cover.
hooks
Hook orchestration
The router's pre/post-transfer hooks do the work — withdraw from the yield protocol, deliver the fill, re-deposit the proceeds — inside one atomic transaction.

0x01 Pick a protocol. Pick a chain.

The adapter layer is the point: the strategy doesn't change — the maker points one config at a protocol and the position earns that protocol's yield. Adapters are chain-agnostic; click a protocol to see where it's live.

Aave v3AaveV3Adapter
Variable supply APYaWETH and aUSDC, both balance models handled.
Aave
ERC-4626 vaultsERC4626Adapter
Curated vault yieldOne generic adapter for ANY ERC-4626 vault — Morpho, Euler v2, Yearn v3, Spark, Sky, Ethena, Fluid, Silo, Maple, Frax, Aave wrappers…
Pendle PTPendlePTAdapter
Fixed APY, locked at entryExpired markets redeem 1:1; active ones appreciate toward par in real time.
Pendle
Stargate V2StargateAdapter
Bridge reward streamPool liquidity, staked. Instant unstake → redeem, capped by pool credit.
Stargate
Superposition · Uniswap v4SuperpositionUniAdapter
Aave yield + v4 feesA one-sided bucket on a Uniswap v4 concentrated-liquidity hook, capital in ERC-4626 vaults (Aave's waToken wrappers).
Uniswap v4
Borrow mode

An adapter is also a source of capital: with MakerConfig.BorrowConfig (enabled, collateral, maxDebt) a maker can quote an asset they don't hold — borrowed against yield-bearing collateral, and the matching in-fill repays the debt first. The configured collateral + risk capacitor are the soft isolation. Configure it in the console →

0x02 One transaction, and the capital never stops working.

Every fill is one atomic transaction where the maker's capital resurfaces, changes hands, and dives back in.

01

Ship a position. Park the capital.

The maker ships an ETH/USDC position on Aqua, like any other liquidity provider. The difference is invisible to the taker: the capital doesn't sit in the wallet — it lives in a yield protocol. Routers and aggregators read it as a normal pool with normal balances.

Aqua ship() → virtual balances in underlying terms · MakerConfig → adapter, per maker
02

A fill arrives. The capital surfaces.

Before the tokens move, a hook pulls the exact delivery amount out of the yield position — redeem, unwrap, unstake, depending on the protocol — and puts it in the maker's wallet. The default transfer then hands it to the taker. One transaction, fully atomic: the capital is only out of the protocol for the duration of the fill.

preTransferOutpullPlan + withdraw → default transfer → taker
03

The revenue redeploy. Immediately.

What the taker paid lands in the maker's wallet and is instantly re-deployed into the yield protocol — deposited, wrapped, staked. The wallet never holds an idle balance: the position never stops earning, even between fills.

Aqua transfer → postTransferIndeposit → re-staked
1234567891011121314151617181920212223242526
interface ILendingAdapter {
function name() external view
returns (string memory);
 
function exchangeRate(address underlying)
external view returns (uint256);
 
// the router executes this pull with its OWN allowance
function pullPlan(
address maker, address underlying,
uint256 amount
) external view returns (
address token, uint256 count, address to
);
 
function withdraw(
address maker, address underlying,
uint256 amount, uint256 yieldAmount,
address recipient
) external;
 
function deposit(
address maker, address underlying,
uint256 amount
) external;
}
One fill, end to end — the Aave maker, on a Base fork
S1–S3 run once, before any fill. The coin retraces the whole fill lifecycle.
TXSETUP · once, before any fillS1 · owns aWETH / aUSDCS2 · approvals → adapterS3 · ships strategy · virtuals
MAKER
RESOLVERS
AAVE v3
SUPERPOSITION ROUTER
TAKER
SUPERPOSITION · UNISWAP V4

0x03 The Uniswap hook.

Superposition also reaches into Uniswap v4. The SuperpositionUniAdapter turns a v4 concentrated-liquidity hook into a yield venue the Aqua router can back a position with — the same pull / withdraw / deposit surface, a different engine underneath.

vault

Capital in ERC-4626

Between swaps, 100% of the pooled tokens sit in ERC-4626 lending vaults — on Aave through its official waToken wrapper, created permissionlessly via the StataToken factory when one doesn't exist yet.

erc-1155

Positions as tokens

Every tick range is a bucket with its own ERC-1155 id. The maker holds the shares and approves the router as an operator; the router withdraws on the maker's behalf, one bucket per side.

one-sided

Limit orders for free

A range fully below spot needs only token1, fully above only token0 — so a one-sided, out-of-range deposit is a real limit order, and it withdraws one-sided once the price crosses.

adapter

Same Aqua surface

Exposed as an ILendingAdapter: the router JIT-withdraws the backing out of the hook to deliver a fill, then re-deposits the received revenue into the maker's buckets, all in one transaction.

The hook, end to end — a USDC/USDT swap
The taker pays USDC and receives USDT; the maker's capital stays in ERC-4626 vaults, one ERC-1155 bucket per tick range.
relayed calldataswap in the v4 curveaToken ⇄ underlyingfill delivered to takerERC-1155 buckets
MAKER
RESOLVERS
AQUA ROUTER
UNISWAP V4 HOOK
AAVE · waToken
TAKER
Read the Superposition hook deep-dive ↗

Your liquidity.
Actually working.

The full source — router, opcodes, adapters, tests and the complete design decision log — is open.