Deployable demo cockpit

Prove the whole term-liquidity route from one page.

The playground pulls live markets from The Graph, asks the solver API for route previews, shows the SwapVM maker split, and explains the Aqua settlement guarantees without running local shell commands in production.

Graph markets

--

Recent events

--

Executable route

--

Quote source

solver API

Scenario

Pick a live market path. The playground will quote it through the solver API.

No live markets indexed yet. Check the subgraph endpoint and deployed strategy book.

Live Market State

Graph discovery first, contract checks at quote and settlement time.

Subgraph live
Waiting for live market data from The Graph.

Route Split Preview

Solver preview from live indexed strategies; contract settlement still verifies fresh state.

not quoted

Requested

--

Filled input

--

Net out

--

Next action

Use this preview to explain the route, then open Sell for wallet approval and execution.

Execute in Sell
Quote a scenario to see maker fill legs, skipped makers, and output share.

Protocol Proof

1

Graph discovers the book

Load the deployed subgraph market board.

2

Scenario selects an executable market

Pick a live maturing asset and payout route.

3

Solver quotes maker strategies

Ask the solver API for a deterministic route preview.

4

Contracts enforce deliverability

Final settlement is always guarded by the route executor.

Important: The playground previews routes, but settlement remains atomic and contract-enforced through Aqua.

What Judges Should Notice

Not a pool

Makers keep funds in their wallets. Aqua pulls funds only for an atomic fill.

Not a flat swap

SwapVM prices time, oracle backing, inventory, liquidity depth, risk tier and max discount.

Not trusting the index

The Graph discovers candidates; contracts enforce live deliverability before settlement.

Shared risk budget

Sibling Aqua strategies can share one maker reserve, and a fill through one route reduces capacity across the rest.

Revenue path

The route executor pays the DAO/protocol fee as part of the fill.

Main Proof Catalog

Maturity and inventory curve

contract

Longer maturities, convexity, risk tier, liquidity depth, and maker exposure all affect the executable quote.

cd swap-vm && forge test --match-contract AquaExitTermTest -vv

Multi-maker route settlement

contract

The executor skips unavailable makers, splits best-first, prevents double-counting, and reverts on aggregate shortfall.

cd swap-vm && forge test --match-contract ZubiDubiRouteExecutorTest -vv

Shared term-risk budget

contract

Sibling Aqua strategies can share one finite maker reserve, so the first fill reduces capacity for the rest.

cd swap-vm && forge test --match-contract ZubiDubiRouteExecutorTest --match-test '.*Budget.*' -vv

Maturing claim lifecycle

contract

A holder issues a transferable PT-style receipt, can sell it early, and can redeem the backing only after maturity.

cd swap-vm && forge test --match-contract ZubiDubiExitReceiptTest -vv

Maturity redemption path

contract

The claim is not a toy ERC20: after maturity, the holder can burn receipts and redeem the real backing asset.

cd swap-vm && forge test --match-test test_ZubiDubiExitReceipt_RedeemsUnderlyingOnlyAfterMaturity -vv

Sepolia real oracle proof

fork

The same inventory-aware quote path runs against real Sepolia USDC and a real Chainlink ETH/USD feed.

swap-vm/test/ZubiDubiSepoliaFork.t.sol
rpc required
Run with SEPOLIA_RPC_URL
npm run zubidubi:sepolia-inventory-benchmark

Pendle PT benchmark

fork

A real mainnet PT market can be compared side by side against ZubiDubi's maker-specific term curve.

Pendle implied PT rate

0.965766193005277136

ZubiDubi vs Pendle

+112 bps

Benchmark asset

PT-USD3-17DEC2026

swap-vm/test/ZubiDubiPendleMainnetFork.t.sol
rpc required
Run with MAINNET_RPC_URL
MAINNET_RPC_URL=<rpc> npm run zubidubi:pendle-benchmark

Graph-indexed book

graph

Strategies, fills, maker exposure, receipt lifecycle, and DAO fees are queryable without scanning chain state live.

subgraph/schema.graphql
manual
Build command shown
cd subgraph && graph codegen && graph build

Live Activity

No indexed activity returned yet.

Detailed Test Map

45 checks
latest.json

Term Curve and SwapVM Instruction Tests

Proves the reusable SwapVM term-liquidity instruction library: oracle backing, exposure caps, maturity curves, convexity, inventory, risk tier, liquidity depth, exact-in, exact-out, and guardrail reverts.

13 tests
passed

Step 1

Receipt amount

Step 2

BACKING_ORACLE_CHECK

Step 3

EXPOSURE_CAP

Step 4

DISCOUNT_CURVE_1D

Step 5

Executable quote

swap-vm/test/AquaExitTerm.t.sol
passed
2026-09-12 local Foundry run
cd swap-vm && forge test --match-contract AquaExitTermTest -vv

What each test proves

A delayed receipt can be priced into USDC through the term curve.

Decimal normalization is correct across 18-decimal receipts and 6-decimal USDC.

Different assets use independent oracle and maker policy settings.

Time-to-maturity directly widens the early-exit discount.

A matured claim loses the term component and quotes near base spread.

Maker inventory reprices future fills as exposure accumulates.

Risk tier and liquidity depth penalties are included in the quote.

Risk premium scales with time instead of behaving like a flat fee.

Convex curve family prices long tenor more steeply than a linear curve.

Short-dated convexity remains measurable and does not truncate away.

Legacy strategy bytes remain compatible with linear pricing.

Exact-out quotes compute the required receipt input correctly.

A single seller exit can be split across multiple maker curves.

Guardrail and Revert Tests

Proves that a quote cannot bypass maker policy, stale oracle protection, exposure caps, token allowlists, maturity windows, discount caps, or output liquidity limits.

8 tests
passed

Step 1

Bad route

Step 2

Policy check

Step 3

Oracle check

Step 4

Exposure/liquidity check

Step 5

Revert before settlement

swap-vm/test/AquaExitTerm.t.sol
passed
2026-09-12 local Foundry run
cd swap-vm && forge test --match-contract AquaExitTermTest --match-test Reverts -vv

What each test proves

Maker quote-token notional exposure cannot exceed the configured cap.

A maker strategy cannot be reused for an unauthorized receipt asset.

Strategies only quote the maker's allowed maturity window.

Stale oracle data blocks the route.

A maker's maximum discount cannot be exceeded.

Receipt exposure caps are enforced before fill.

The quote fails if maker output liquidity cannot satisfy the fill.

Primary/secondary oracle deviation protection blocks unsafe routes.

Multi-Maker Routing Tests

Proves the route executor can discover best executable maker paths, skip unavailable makers, avoid double-counting one maker wallet, enforce max fills, and settle non-USDC payout routes.

9 tests
passed

Step 1

Seller input

Step 2

Quote makers

Step 3

Skip unavailable

Step 4

Split best-first

Step 5

Atomic Aqua settlement

swap-vm/test/ZubiDubiRouteExecutor.t.sol
passed
2026-09-12 local Foundry run
cd swap-vm && forge test --match-contract ZubiDubiRouteExecutorTest -vv

What each test proves

Unavailable makers are skipped and the route fills best executable makers first.

A route that cannot fully fill reverts instead of partially settling.

Multiple strategies from the same maker cannot overuse the same wallet liquidity.

Revoked maker allowance is detected and skipped.

Moved maker funds are detected through live wallet balance checks.

The route executor enforces bounded route complexity.

The same receipt market can route into WETH, not only USDC.

Sibling Aqua strategies cannot collectively exceed one maker-defined term-risk reserve.

After one strategy fills, the shared reserve shrinks and sibling quotes lose capacity.

Receipt Lifecycle Tests

Proves the Sepolia demo asset behaves like a real transferable maturing claim: issue with backing, trade before maturity, redeem after maturity, and protect users from forced redemption or rounding mistakes.

8 tests
passed

Step 1

Deposit backing

Step 2

Issue PT-style claim

Step 3

Transfer or sell early

Step 4

Wait to maturity

Step 5

Redeem backing

swap-vm/test/ZubiDubiExitReceipt.t.sol
passed
2026-09-12 local Foundry run
cd swap-vm && forge test --match-contract ZubiDubiExitReceiptTest -vv

What each test proves

The receipt exposes the expected maturity timestamp.

The claim can be transferred before maturity like a PT-style token.

A user can redeem the receipt for backing after maturity.

Early redemption is blocked until maturity.

Issuance requires real backing approval.

A third party cannot force a user's receipt redemption path.

Non-unity backing ratios round-trip safely.

Dust issuance behavior is explicit and safe.

Real Asset Fork Tests

Proves the same logic against real deployed assets, real oracle feeds, and a real Pendle PT market benchmark.

4 tests
rpc required

Step 1

Fork live chain

Step 2

Load real token/feed

Step 3

Quote ZubiDubi curve

Step 4

Compare benchmark

Step 5

Assert route behavior

swap-vm/test/ZubiDubiSepoliaFork.t.sol + ZubiDubiPendleMainnetFork.t.sol
rpc required
Requires SEPOLIA_RPC_URL / MAINNET_RPC_URL
npm run zubidubi:sepolia-inventory-benchmark && MAINNET_RPC_URL=<rpc> npm run zubidubi:pendle-benchmark

What each test proves

Sepolia quote path uses real USDC and a real Chainlink feed.

Inventory-aware pricing moves quote output on the real oracle path.

A real mainnet Pendle PT-style asset can be routed through the ZubiDubi curve.

ZubiDubi quote can be compared side by side with Pendle's implied PT benchmark.

Demo and Indexing Proofs

Proves the demo route over solvent Aqua makers and the Graph schema that turns onchain events into the frontend/solver market book.

3 tests
passed

Step 1

Aqua strategy events

Step 2

Subgraph entities

Step 3

Solver discovery

Step 4

Frontend preview

Step 5

Demo route proof

swap-vm/test/ZubiDubiDemo.t.sol + subgraph/schema.graphql
passed
2026-09-12 local Foundry run; Graph build command shown
cd swap-vm && forge test --match-contract ZubiDubiDemoTest -vv && cd ../subgraph && graph build

What each test proves

The end-to-end demo route fills across solvent Aqua makers.

The Graph exposes the data needed for scalable solver discovery.

Portfolio and redemption views can reconstruct claim lifecycle history.