Wick Crypto Engine
arrow_back Back to Bot Fleet Bot Detail · Prototype

Bot Titles

MON-AGG-ARB-V1
alt_route
MON-AGG-ARB-V1 MON STOPPED · STOPPED_UNKNOWN
Monad Cross-Aggregator Arb · 0x route-split (primary↔alt)
contract 0x449E...34f9
24h gas burn0
24h CB halts0
Cross-aggregator arbitrage on Monad. Scanner (monad-cross-agg-scanner) probes both KyberSwap and OpenOcean for each WMON↔stablecoin pair at multiple sizes, ranks the highest cross-aggregator amountOut gap, signals oo-primary→kyber-alt (or vice versa) cycles. Executor (monad-cross-agg-executor) re-quotes and calls executeRoutes() on the MonadCrossAggArb contract. Generic Route[] structure — each leg calls an arbitrary aggregator router with pre-encoded calldata; profit floor enforced atomically. STATUS 2026-06-06: RECOMMEND RETIRE (left running per operator) — 0 net-profitable trades in ~50 days; the stored spreads invert on live re-quote (max live ever 198bps < the 200bps gas break-even), so nothing executes. Currently hung on an un-timed-out KyberSwap fetch. ~971 WMON capital recoverable via owner withdraw.

Performance So Far

MON-AGG-ARB-V1
Execution Funnel · last 24hdetect → validate → fire → land → profit
updownexternal/static·upper-left = inputs · upper-right = outputs · hover for role
0
Signals
→
0
Sims
→
0
Broadcasts
→
0
Mined
→
0
Wins
Net P&L (USD)
+$0.00
Wins
0
Losses
0
Total Trades
0
Win Rate
—
Gas Spent
—
Contract Balance
—

Recent Fire Attempts

MON-AGG-ARB-V1
no recent fire
no recent fire
no recent fire
no recent fire
no recent fire
no recent fire
no recent fire
Last 7 TX_SEND events (newest left). Outcome stitched from log within ~80-line window after broadcast. Empty boxes = no recent fire to show.

Token Reverters (24h)

MON-AGG-ARB-V1
No on-chain reverts in last 24h.
White / black lists are located at /bots/PLStokens.

Biggest Block

MON-AGG-ARB-V1

Biggest block (2026-06-06): there is no edge — phantom-spread inversion. The scanner stores 200-868bps cross-aggregator spreads, but they re-quote NEGATIVE or sub-floor live; the max live spread ever recorded is 198bps, never reaching the ~200bps gas break-even. Structural (each aggregator bakes a different internal slippage floor), not tunable — the same display-spread-collapses-on-quote disease that killed the PulseChain oracle bots and Base. Result: 0 net-profitable trades in ~50 days (−3.78 WMON lifetime; the 5 fires on 2026-04-20 were gross-positive net losses, gas 9-40× the spread).

The old "TRANSFER_FROM_FAILED" story is resolved (2026-05-26) and was never the real wall; the 50-vs-200bps threshold is a red herring (signals clear the floor, then die at re-quote). The bot is currently HUNG (frozen 2026-06-05 19:47Z) on an un-timeout'd KyberSwap fetch — a half-open stall on a bare fetch() with no AbortController (the OpenOcean sibling was fixed 05-26; never ported to Kyber), and run-bot.sh only restarts on EXIT, not a stale heartbeat.

Recommendation: retire + recover the ~971 WMON (~$20) parked in the contract (owner-only withdraw). Left running 2026-06-06 per operator — harmless (0 sends), earns nothing. Do NOT reinvest in cross-agg on Monad: per-tx gas structurally kills thin round-trips (our 0-for-3 record porting this strategy to Base/Polygon/Monad).

Fantasy

MON-AGG-ARB-V1
If we had some way to...

If we had some way to instantly remove this bot's biggest constraint — capital, latency, signal coverage, or counterparty risk — what would the world look like? (Pending creative assessment.)

Suggestions for Improvement

MON-AGG-ARB-V1
  • 01
    CRITICAL
    RECOMMEND RETIRE (2026-06-06 diagnosis) — no edge exists: 0 net-profitable trades in ~50 days (−3.78 WMON lifetime). The wall is phantom-spread inversion (scanner stores 200-868bps; max LIVE spread ever = 198bps, never clears the ~200bps gas break-even); Monad per-tx gas ran 9-40× the captured spread. LEFT RUNNING per operator 2026-06-06. To retire: stop the monad-cross-agg + monad-cross-agg-scan tmux sessions; recover ~971 WMON via owner withdraw(WMON) on contract 0x926Aceb4…204Ab → 0xEc5Df194; redeploy off Monad cross-agg.
  • 02
    HIGH
    Obsolete diagnostics — do NOT pursue: TRANSFER_FROM_FAILED was RESOLVED 2026-05-26 (drift buffer 0.5%→2.0%, no redeploy needed), so Path B/C are moot. The 50-vs-200bps scanner/executor threshold is a red herring (signals clear the 200 floor on stored spread, then invert to ≤198bps live). No engineering on this bot is warranted.
  • 03
    HIGH
    ONLY IF kept running long-term — fix the silent hang: lib/kyberswap-monad-quoter.js has bare fetch() calls (~lines 113/169) with NO AbortController; undici has no default timeout so a half-open stall hangs the scan loop forever (frozen 2026-06-05 19:47Z). Port the 8s AbortController from lib/openocean-monad-quoter.js and make run-bot.sh restart on a stale heartbeat, not just EXIT. Caveat: this only restores a loop feeding a dry well — not worth it if retiring.

Conclusion

MON-AGG-ARB-V1

Verdict (2026-06-06): RECOMMEND RETIRE — no edge exists; left RUNNING per operator decision. Cross-aggregator arb on Monad. Deep diagnosis 2026-06-06: in ~50 days the bot has produced 0 net-profitable trades EVER (lifetime realized −3.78 WMON). The only 5 fires (one 11-minute window 2026-04-20, never repeated) were gross-positive but net losses — Monad gas ran 9-40× the captured spread.

THE WALL is phantom-spread inversion. The scanner stores 200-868bps cross-aggregator spreads, but they re-quote to NEGATIVE or sub-floor live; the max live spread ever observed is 198bps, against a ~200bps gas break-even — it has literally never cleared. Structural (each aggregator bakes a different internal slippage floor), not tunable. Same display-spread-collapses-on-quote disease that killed the PulseChain oracle bots and Base.

Corrections to prior page copy: TRANSFER_FROM_FAILED was the old story — RESOLVED 2026-05-26 (last occurrence 05-30), not a pending blocker. The 50-vs-200bps scanner/executor threshold mismatch is a red herring (257/500 stored signals are ≥200bps; they die at re-quote, not the floor). The bot is currently HUNG (frozen 2026-06-05 19:47Z) on an un-timeout'd KyberSwap fetch (the OpenOcean sibling got an 8s AbortController 05-26; never ported to Kyber); run-bot.sh only restarts on EXIT, not a stale heartbeat.

Capital: ~971 WMON (~$20) parked in contract 0x926Aceb4…204Ab, recoverable any time via owner-only withdraw(WMON) to 0xEc5Df194 (old 0x449E…34f9 holds 0).

Recommendation: retire + recover the 971 WMON; do NOT reinvest in cross-agg on Monad — per-tx gas structurally kills thin round-trips (consistent with our 0-for-3 record porting this strategy to Base/Polygon/Monad). Left running 2026-06-06 per operator: harmless (0 sends) but earning nothing.

Active Tests & Monitors

MON-AGG-ARB-V1
Test / MonitorStartedKey MetricDecision Criteria
Phantom-spread inversion (THE WALL)2026-04-21stored spreadBps (spreads.ndjson) vs live re-quote (executor.log [EVAL]/[SKIP])✅ DIAGNOSED 2026-06-06 — the edge is not real. Scanner stores 200-868bps but live re-quotes invert to negative/sub-floor; MAX live spread ever = 198bps vs the 200bps gas break-even. Structural (per-aggregator slippage-floor asymmetry), not tunable. 0 net-profitable trades ever → RETIRE.
TRANSFER_FROM_FAILED revert rate2026-04-21sim_fail count in monad-cross-agg-executor.log✅ RESOLVED 2026-05-26 (drift buffer 0.5%→2.0%); last occurrence 2026-05-30, zero since. Was never the real wall — the phantom inversion is. Path B/C redeploy is MOOT.
Scanner/executor health (NEW 2026-06-06)2026-06-06mtime of monad-cross-agg-spreads.ndjson + executor.log; daemon CPUWATCH — both daemons are alive but HUNG (logs frozen 2026-06-05 19:47Z) on an un-timed-out KyberSwap fetch; run-bot.sh only restarts on EXIT. Dashboard wiring lights falsely show GREEN through the hang (heartbeat survives it). Left running per operator; if kept, port the OpenOcean 8s fetch-timeout to lib/kyberswap-monad-quoter.js + add a stale-heartbeat restart.

Compromises

MON-AGG-ARB-V1
No compromises curated for this bot yet.

Parameters

MON-AGG-ARB-V1
ParameterValueReasoningPotential Adjustment(s)
SCAN_INTERVAL_MS120,000 msBumped 60s → 120s on 2026-04-21 to fit aggregator free-tier rate budgets (80 rq / 5min cap).Stay at 120s while we rely on free tiers. Drop to 30-60s if we add paid aggregator API access.
MIN_SPREAD_BPS50 bps (scanner) · executor floor 200 bpsScanner emits at 50bps but the executor requires 200bps net (MIN_PROFIT_BPS) — a red-herring mismatch: signals that DO clear 200 stored still invert to ≤198bps live (phantom). No live spread has ever reached the 200bps gas break-even.Moot — the strategy has no executable edge (see verdict). Recommend retire.
CORRUPTION_BPS5000 bps (50%)Anti-bad-quote guard — drop any aggregator response showing > 50% spread vs the other (likely stale / dead pool).Keep as-is. 5000bps is well above any real spread; protects against bad data.
PATH_A_DRIFT_BUFFER2.0% (raised 2026-05-26)Sell-leg srcAmount discount before re-quote. Raised 0.5%→2.0% on 2026-05-26 — this RESOLVED the old TransferHelper TRANSFER_FROM_FAILED revert (gone since 05-30). It did NOT create an edge: spreads still invert on live re-quote.Moot — no executable edge; recommend retire.
Contract0x449E...34f9 MonadCrossAggArbFunded with 20 WMON. Owner Ec5Df194a77839D9A74D2eCa394b28a65C5E1A03.Path B redeploy candidate — would replace this with a sellAmountOffset-patching variant.

Revisions

MON-AGG-ARB-V1
RevisionSummary
V1 (launch)2026-04-15 — MonadCrossAggArb contract deployed at 0x449E…34f9, funded 20 WMON. Scanner probes KyberSwap + OpenOcean for WMON↔stablecoin spread per cycle; executor re-quotes and atomically swaps when spread ≥ 0.9%.
V1.12026-04-20 — five live wins logged at 01:02-01:13Z on the same route shape, then the failure mode set in. From that day forward every fire reverts at TransferHelper level (recipient field / Permit2 / FoT — diagnosis pending).
V1.22026-04-21 — SCAN_INTERVAL_MS bumped 60s → 120s to fit aggregator free-tier rate budgets (80 rq / 5min).
V1.3 (CURRENT) current2026-05-20 — Path A 0.5% drift buffer added to sell-leg srcAmount (monad-cross-agg-scanner.js). Reduced theoretical drift to 50bps but did not clear TRANSFER_FROM_FAILED — root cause is not pure drift. Next move: 30min revert-receipt decode to choose Path B (contract redeploy with sellAmountOffset patching) vs Path C (direct-pool sell leg).
RPC: connected
Scanner: 194d 19h 49m uptime
687,559 events indexed
WICK_CRYPTO_ENGINE // Built by Green Wick AI