Data Tooly logo Data Tooly
Data Tooly / Crypto & DeFi
Query builder

Scan DEX pairs for MEV & sandwich risk

This is a free query builder for DEX sandwich attack MEV data: pick a mode (scan-token, scan-pair, or discover-mev), a chain, and token or pool addresses, and it assembles a ready-to-run config plus a preview of the per-pair output shape — fields like sandwich_rate_24h, mev_risk_level, and a gas/builder-tip/pool-fee (LP fee) breakdown. It does not fetch live data in the browser; you run the query on the backing Apify actor. Field availability varies by chain and pool — every output row carries a data_availability map so you can tell a true zero from data the source didn't index. The actor is free to start using your Apify platform credits, then pay-as-you-go per pair scanned.

In short

This is a free query builder for DEX sandwich attack MEV data: pick a mode (scan-token, scan-pair, or discover-mev), a chain, and token or pool addresses, and it assembles a ready-to-run config plus a preview of the per-pair output shape — fields like sandwich_rate_24h, mev_risk_level, and a gas/builder-tip/pool-fee (LP fee) breakdown. It does not fetch live data in the browser; you run the query on the backing Apify actor. Field availability varies by chain and pool — every output row carries a data_availability map so you can tell a true zero from data the source didn't index. The actor is free to start using your Apify platform credits, then pay-as-you-go per pair scanned.

mev-pair-scanner — query builder

This builds a ready-to-run query for the mev-pair-scanner actor and shows a fixed example of the output shape — not live results. Paste the query into the actor to run it at scale.

Key takeaways
  • Builds a copy-paste-ready query and shows a fixed example of the output shape — it does not return live on-chain data in your browser.
  • Output fields cover sandwich risk directly: sandwich_rate_24h, estimated_sandwich_attacks_24h, mev_risk_level, mev_to_total_fees_ratio_24h, and a fee_regime label.
  • Three modes: scan-token (a token's top pools), scan-pair (specific pool addresses), and discover-mev (rank the most MEV-toxic pools on a chain).
  • The backing actor pulls from Codex.io's GraphQL index across 133 chains, including Ethereum, Solana, Base, BSC, and Arbitrum.
  • Run it on the Apify actor — free to start on Apify's platform credits, then pay-as-you-go (a per-run start fee plus a per-pair-scanned charge).
  • A fee breakdown (base fees, priority fees, builder tips, pool/LP fees, L1 data fees) shows how much of a pool's trading cost is MEV leakage versus normal gas — though several fields are null by design (builder tips are zero on L2s like Base/Arbitrum, L1 data fees are null on L1 chains), which the per-row data_availability map flags.
How it works

1. Pick a scan mode

Choose scan-token to scan a token's top pools, scan-pair for specific pool addresses, or discover-mev to rank the most MEV-toxic pools on a chain. The default template uses scan-token on Ethereum.

2. Set the chain and addresses

Select a default_evm_chain (Ethereum by default) for bare 0x addresses, paste token addresses into tokens (or pool addresses into pairs). Solana base58 addresses auto-detect; use chain:address to override per row.

3. Set a result cap

Set max_results to limit how many pools are scanned (the actor caps a run at 20 pairs). Fewer pairs means a lower pay-as-you-go cost when you run it.

How to use it
  1. Pick a scan modeChoose scan-token to scan a token's top pools, scan-pair for specific pool addresses, or discover-mev to rank the most MEV-toxic pools on a chain. The default template uses scan-token on Ethereum.
  2. Set the chain and addressesSelect a default_evm_chain (Ethereum by default) for bare 0x addresses, paste token addresses into tokens (or pool addresses into pairs). Solana base58 addresses auto-detect; use chain:address to override per row.
  3. Set a result capSet max_results to limit how many pools are scanned (the actor caps a run at 20 pairs). Fewer pairs means a lower pay-as-you-go cost when you run it.
  4. Preview the output shapeReview the fixed example output — sandwich_rate_24h, mev_risk_level, mev_to_total_fees_ratio_24h, the fees_24h breakdown, the per-row data_availability map, and safer_trading_windows_utc (which can be empty on persistently MEV-dominated pools) — so you know exactly which fields you'll get back.
  5. Run it live on the actorCopy the generated query and run it on the backing Apify actor, which is free to start on your Apify platform credits and then pay-as-you-go. The actor fetches the live per-pair MEV data; the builder does not.
Run it at scale

Run Scan DEX pairs for MEV & sandwich risk at scale

Copy the run input below into the mev-pair-scanner actor on Apify to run this at scale and export clean JSON/CSV/API. Free to start, then pay-as-you-go.

Paste the input below into the actor → click Start. Free to start, then pay-as-you-go.

Key facts
On Solana, sandwich-attack bots are reported to have drained a large sum from users — figures circulating in 2025 range up to roughly $500 million over a multi-month period.
Third-party 2025 crypto-research write-ups and community guides; cited as an estimated range, not on-chain ground truth. The actor's README references the ~$500M Solana figure.
Coordinated Solana mitigation in 2025 — validator action and Jito closing its public mempool — is reported to have cut sandwich-attack profitability significantly.
2025 community reporting on Solana ecosystem actions; percentages quoted elsewhere are estimates, not verified figures.
On Ethereum, community MEV-data dashboards have tracked tens of thousands of sandwich attacks per month through 2025, at a small average profit per attack.
Third-party MEV-data dashboards/community guides; figures are platform estimates, not on-chain ground truth.
The backing actor sources its data from Codex.io's GraphQL index, which covers 133 blockchain networks.
From the actor's README and input schema.
The actor uses pay-per-event pricing (a per-run start fee, a per-pair-scanned charge, and an optional per-AI-verdict charge) and has no actor-specific free quota — it is free to start using Apify's platform free credits.
From the actor's README and pay_per_event config; exact per-event amounts are set on the actor page and may change.
FAQ
What is a DEX sandwich attack, in plain terms?

A sandwich attack is a three-transaction MEV pattern. A bot watching the mempool spots your pending swap, places a buy right before it to push the price against you, lets your trade execute at the worse price, then sells right after to pocket the difference. It only works on AMM-based DEXs, where trade size and slippage tolerance let the bot calculate its profit ceiling from your transaction.

What does this tool actually return — live data or a query?

It returns a query, not live results. The builder assembles a ready-to-run config (mode, chain, token or pool addresses, max_results) and shows a fixed example of the output shape so you know what fields to expect. The underlying source is anti-bot and not CORS-open, so live scanning happens when you run the query on the backing Apify actor, not in your browser.

Which fields describe sandwich and MEV risk in the output?

Per pool you get sandwich_rate_24h (share of transactions sandwiched), estimated_sandwich_attacks_24h (a 24-hour count), mev_risk_level (low/medium/high or null), mev_to_total_fees_ratio_24h (how much of fees flow to MEV builders), and fee_regime_24h (mev-dominated, gas-dominated, or pool-fee-dominated). A fees_24h object splits total cost into base fees, priority fees, builder tips, pool fees (labelled 'Pool fees (USD)', i.e. LP fees), and L1 data fees. Coverage is not uniform: builder tips are genuinely zero on L2s like Base/Arbitrum/Optimism/Polygon (so mev_to_total_fees_ratio_24h is then null), L1 data fees are null on L1 chains, and Solana coverage is per-pool — some pools return only the sandwich rate. Every row includes a data_availability map showing which fields populated for that pool.

Which chains and data source does it cover?

The backing actor queries Codex.io's GraphQL index, which covers 133 blockchain networks — Ethereum, Solana, Base, BSC, Arbitrum, Optimism, Polygon, Avalanche, Sui, Aptos, and many more. Bare 0x addresses resolve via the default_evm_chain dropdown (defaults to Ethereum), Solana base58 addresses auto-detect, and an explicit chain:address prefix overrides the default per row.

How much money do sandwich attacks actually extract?

On Solana, bots reportedly drained a large sum from users (figures circulating in 2025 crypto-research write-ups range up to roughly $500 million over a multi-month period ending in 2025), before coordinated mitigation — validator action and Jito closing its public mempool — cut profitability substantially. On Ethereum, community MEV-data dashboards have tracked tens of thousands of sandwich attacks per month through 2025, often at a small average profit per attack. Treat these as third-party estimates, not on-chain ground truth.

What are the three modes and when do I use each?

Use scan-token to discover and scan a token's top-volume pools when you only know the token. Use scan-pair when you already have specific pool/pair addresses and want direct analysis. Use discover-mev to rank the most MEV-toxic pools across selected chains by risk level, filtered by a minimum-liquidity threshold — useful for finding which pools to avoid before you trade.

How can I actually avoid getting sandwiched when I trade?

Common defenses are setting a tight slippage tolerance (around 0.1% on stable pairs, 0.5-1% on liquid pairs), routing through a private RPC such as Flashbots Protect or MEV Blocker so your transaction skips the public mempool, and using MEV-protected aggregators like CoW Swap or 1inch Fusion. This scanner helps the planning side: spotting high-sandwich-rate pools and, when available, lower-MEV trading windows before you swap.

Is the backing actor free, and what does a run cost?

The in-browser query builder is free. Running the actor on Apify is free to start using your Apify platform free credits — there is no separate actor-specific free quota — and then pay-as-you-go. The actor uses pay-per-event pricing: a per-run start fee, a per-pair-scanned charge for each pool analyzed with full MEV intel and 24h hourly bars, and an optional small charge per AI verdict if you enable the trader summary. You only pay for the pairs you actually scan.

Can it tell me the safest time of day to trade a pool?

Sometimes, when the data supports it. Each scanned pool includes safer_trading_windows_utc — the hours over the last 24 hours where the pool's MEV risk was 'low', derived from bars_hourly time-series data (OHLCV plus MEV and fee columns). Note this field is frequently empty: on persistently MEV-dominated pools — often the very high-risk pools you'd most want to time — there may be no low-risk hour, and the array comes back empty. When it does populate, combine it with sandwich_rate_24h and the fee regime label to time a trade into a lower-toxicity window.

This browser tool is free. Bulk/scheduled/API extraction runs on the mev-pair-scanner actor on Apify — free to start, then pay-as-you-go (you only pay for what you run). Public data only; respect each source's terms.