DEX Intelligence
Protocol layer — the DEXs, aggregators, DeFi protocols & our contracts the bots interact with.
1 · DEX Venues
the pools we arb across · base pair WPLS 0xA1077a…9a27| DEX | Type | Factory | Fee (bot quote-math) |
|---|---|---|---|
| PulseX V1 | Uniswap-V2 fork | 0x1715a3…A10D | 30 bps |
| PulseX V2 | Uniswap-V2 fork | 0x29eA75…C523 | 30 bps |
| 9mm V2 | Uniswap-V2 fork | 0x3a0fa7…e13b | 30 bps |
| 9mm V3 | Uniswap-V3 fork (concentrated) | 0xe50DbD…9C68 | tiered (per-pool fee) |
| 9inch V2 | Uniswap-V2 fork | excluded — quote-math mismatch | — |
Auto-discovered at boot: PulseX V1/V2, 9mm V2, 9mm V3. PulseX V1+V2 are deepest; 9mm V3 adds concentrated-liquidity tiers. NOTE: the V3-overlap scanner uses a uniform 30 bps for all V2 quote-math — real protocol fees vary per DEX (verify per-pool before trusting tight-margin quotes).
2 · DEX Aggregators
routing layers the bots quote / route through| Aggregator | Provider | Use & quirks |
|---|---|---|
| Piteas | InternetMoney | PRIMARY — cleanest sim→actual drift (~+1%). MEV-aware routing; 6/7 of our wins touch Piteas. |
| 9X / 9mm | 9mm | Workhorse sell-side. ~−22% sim optimism (de-weighted to 0.62, now 0.75). Calldata sell-amount patchable at fixed byte offsets. |
| Switch.win | Switch | Buy-side executor (goSwitch router). Fixed 2026-06-23 — V7 now grants the WPLS allowance goSwitch needs; landing wins. |
| EmpSeal | EmpSeal | Buy + sell executor (swapNoSplit, offset 100, fee=9). Sell quotes haircut-gated so it only fires when genuinely ahead. |
| SquirrelSwap | api.squirrelswap.pro | Sell-side executor via V7 (forwards the native protocol fee). Gated behind SQUIRREL_SELL until live parity is proven. |
Aggregators reject same-token in/out, so our WPLS→…→WPLS cycles execute through OUR contracts (§3). Calldata patchability matters: Piteas/9X sell legs are patched with the actual received balance at known offsets.
3 · Our Arb Contracts
where execution actually happens| Contract | Address | Role / status |
|---|---|---|
| Direct-Arb V7 | 0xCF748B…673C | CHAMPION (pulse-arb-combined) — cross-agg execution; V7 forwards the sell-leg native fee so Squirrel sells execute. Cutover 2026-06-23. |
| Direct-Arb V6 | 0x4FaFD2…c36e | Retired predecessor — kept funded (~2.6M WPLS) as a one-step rollback for the V7 cutover. |
| AtomicArb FullV3 | 0xF5388F…3826 | multiSwap(Hop[]) atomic mixed V2/V3 multi-hop, WPLS-locked, poison-pill. DRAINED (0 WPLS) — PLS-ATOMIC-ARB-V1. |
| AtomicArb V3 | 0x03E249…6d66 | multiSwap atomic — FUNDED ~2.99M WPLS; backs the self-arb (mhop) sims. |
| Multihop-Arb | 0xBa102f…902e | Multihop runner contract (paused). |
| Flash-Arb | 0xd4e039…3790 | Flash-loan arb. |
| AtomicArb V3 Private | 0x0f9A16…3367 | Private-mempool variant. |
OPEN ITEM — v2v3 atomic: the champion's v2v3 path is 2-step (non-atomic → honeypot rug-exposed: buy lands, sell rugs). PulseAtomicArbV2.emergencyMulticallChecked (in contracts/src/, NOT deployed) would make it atomic. SCOPING: the deployed multiSwap (0x03E2) already does atomic V2/V3 hops — but it takes POOL hops, whereas the v2v3 buy uses AGGREGATOR calldata, which needs the checked-multicall. Verify reuse-vs-deploy before committing.
4 · PulseChain DeFi
non-DEX protocols we touchHEX / HSI ecosystem — basis for the NAV Reaper strategy (HEX-CEF discount-to-NAV carry). CEF tokens: BASE, TRIO, DECI (deepest ~47% discount), LUCKY; redeem token→HEX at stake-end. MAXI defunct on PulseChain. Tools: tools/hex-cef-{survey,nav,scanner}.js.
No on-chain lending protocol is used on PulseChain (Venus = BSC, Aave/Morpho = Base — those liq bots live under their own chains).
5 · Token Mechanics & Hazards
what blocks or breaks a tradeVerdict gate (lib/token-verdict + pls-token-classifier) — every fire is gated on WHITELIST / BLACKLIST / WATCH. Honeypot blacklist (pls-honeypot-blacklist.json) — buy-but-can't-sell tokens (the 05-13 rugs: T⭕KÉ / BLOB / TEVE / SPX). Tax registry (pls-tax-token-registry.json) — fee-on-transfer rates; >50% = honeypot.
PulseChain norm: most tokens are tax-free, but honeypots + hidden-tax exist. The v2v3 2-step path is the main rug vector — dust-capped for unproven tokens until a clean round-trip proves them.
Sourced from contracts/*-address.json + bot configs. PulseChain only — Monad/Base DEX intel pending.
water_dropPool Depth Profiling PulseChain · LIVE
| Pair | Factory | Score | Burn% | Cross-DEX | Swaps | Flags |
|---|---|---|---|---|---|---|
| 0xa1077a/0xefd766 | pulsex_v1 | 7 | - | 4 | 57 | ↔ x4 MULTI |
| 0xa1077a/0xefd766 | pulsex_v2 | 7 | - | 4 | 57 | ↔ x4 MULTI |
| 0xa1077a/0xefd766 | other | 7 | - | 4 | 57 | ↔ x4 MULTI |
| 0xa1077a/0xefd766 | other | 7 | - | 4 | 57 | ↔ x4 MULTI |
| 0x2b591e/0xa1077a | pulsex_v1 | 6 | - | 3 | 35 | ↔ x3 MULTI |
| 0x95b303/0xa1077a | pulsex_v1 | 6 | - | 5 | 4 | ↔ x5 MULTI |
| 0x6b1754/0xa1077a | pulsex_v1 | 6 | - | 3 | 13 | ↔ x3 MULTI |
| 0x2b591e/0xa1077a | pulsex_v2 | 6 | - | 3 | 35 | ↔ x3 MULTI |
| 0x95b303/0xa1077a | pulsex_v2 | 6 | - | 5 | 4 | ↔ x5 MULTI |
| 0x6b1754/0xa1077a | other | 6 | - | 3 | 13 | ↔ x3 MULTI |
| 0x6b1754/0xa1077a | pulsex_v2 | 6 | - | 3 | 13 | ↔ x3 MULTI |
| 0x2b591e/0xa1077a | other | 6 | - | 3 | 35 | ↔ x3 MULTI |
| 0x95b303/0xa1077a | other | 6 | - | 5 | 4 | ↔ x5 MULTI |
| 0x95b303/0xa1077a | other | 6 | - | 5 | 4 | ↔ x5 MULTI |
| 0x95b303/0xa1077a | other | 6 | - | 5 | 4 | ↔ x5 MULTI |