DEX coverage
Every buy + sell + rebalance goes through the multi-DEX cascade. The backend probes every DEX in parallel, picks the path with the highest realized output, and ships the calldata to your wallet for one signature. The cascade is the same for manual vaults and agent vaults.
Native integrations
| DEX | Variants | Use case | Router (Base) |
|---|---|---|---|
| Uniswap V3 | Single-hop, fee-tier cascade (100 / 500 / 3000 / 10000 bps) | Mid-cap memes with a vanilla WETH pool | 0x2626664c2603336E57B271c5C0b26F421741e481 |
| Uniswap V3 | Multi-hop via USDC | Tokens whose deepest pool is USDC-quoted | same router, encoded bytes path |
| Uniswap V4 (vanilla) | Single-pool, dynamic fee | New Clanker / Flaunch / Bankr launches; native-ETH paired (PITCH-class) | Via BaskitV4SwapAdapterV3 at 0x9dfd0970eCBcBF5425Fb4Deb9cd0EBE01506eaa4 |
| Uniswap V4 (hooked) | 11 trusted hooks pre-loaded into every fresh vault | Clanker fee-lock, Doppler bonding curves, dynamic-fee variants | Same adapter, per-vault hookAllowlist gate |
| Aerodrome V2 | Volatile + stable pools, single-hop | AERO and the canonical Base-native memes | 0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43 |
| Aerodrome V2 | Multi-hop via USDC | Aero-only memes paired against USDC | Same router, Route[] array |
| Aerodrome Slipstream | V3-style concentrated liquidity on Aero | Tokens with deeper Slipstream pool than vanilla V2 | 0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5 |
| Uniswap V2 | Single-hop WETH↔X | Legacy V2 memes paired directly against WETH | 0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24 |
| Uniswap V2 | Multi-hop via VIRTUAL | Virtuals Protocol agent tokens (ETHY, etc.) | Same router, address[] path |
Cascade order
For every buy the executor probes paths in this order; the highest-realized output wins:
- V4 (when DexScreener tags the deepest pool as V4)
- Uniswap V3 single-hop (4 fee tiers in parallel)
- Aerodrome Slipstream (CL tick spacings)
- Aerodrome V2 (volatile + stable)
- V3 USDC bridge (
WETH → USDC → token) - Aerodrome V2 USDC bridge
- Uniswap V2 — depth-rank between direct (
[WETH, X]) and VIRTUAL bridge ([WETH, VIRTUAL, X])
The sell-side cascade mirrors the buy-side, with the same depth-rank step on V2.
Ghost-pool defense
Deployers spam single-LP "ghost pools" that look like real pools at the API level — DexScreener lists them, getAmountsOut returns a non-zero quote, and a naive router routes through them, dumping the user's WETH into a 1-wei pair. Baskit rejects them at three layers:
- Rug-screen liquidity floor — deepest WETH-paired pool must hold ≥ 2 WETH (~$5k) across V3, V4, Aero V2, Slipstream.
- V4 absurd-fee filter — any V4 pool with a static fee > 1 % is dropped before ranking. Catches the 50 %-fee / 25 %-fee ghost class that PITCH-class tokens get spammed with.
- V2 depth-rank — direct
[WETH, X]and bridge[WETH, VIRTUAL, X]are probed in parallel; the path with the highergetAmountsOutwins. A 0.000000031-WETH ghost pair can't beat a $370 k legit bridge route.
What's NOT integrated (yet)
- Uniswap V2 multi-hop via USDC / AERO — only VIRTUAL bridge is wired. ETHY-class tokens paired against USDC-only on V2 would surface as "no route" today. Planned.
- Aggregators (Odos, 1inch, OpenOcean) — not integrated. The cascade picks DEXes directly without an aggregator middleman so the calldata stays auditable from the vault's hardcoded selector allowlist. An aggregator wrapping arbitrary calls would re-open the drain surface the allowlist closes.