TipLeft-click to select a category·in ALL mode, right-click to exclude a category ✕
⬡ WORKING
✓Scan complete▶ show details
Select hubs and click SCAN ALL — bulk region fetch active
Elapsed0:00ETA—
> AWAITING SCAN COMMAND_
HUB TRADING OPPORTUNITIES
▶
FILTER BY ROUTE
click to narrow results by hub-to-hub route
Item
Category
Route
Sell Price
Sell Volume i
Sell Volume
Total units for sale at the origin hub's main station across all sell orders. This is how many units you can actually buy at the listed price. Compare against your cargo capacity to estimate how many trips are needed to clear the opportunity.
Sell Days i
Sell Days
Days of supply at the origin station at the current average daily sell rate. Sell Volume ÷ Sell Avg. Lower = more competitive market; higher = slower turnover.
7d Sell Avg
Dest Price
Margin % ▼
Profit/Unit
Trip Profit
Score i
Opportunity Score
log₁₀(sell avg) × margin% × 100
Combines liquidity and profitability. High score = high volume AND high margin. Sort the Velocity column separately to rank by how fast stock drains.
Velocity i
Velocity Multiplier
Sell Avg ÷ Sell Volume
How many times per day the current stock fully turns over. Green > 1 = demand outpaces supply (fast-moving). Amber 0.3-1 = balanced. Muted < 0.3 = oversupplied.
Bulk region fetch — all orders pulled in one pass per hub Results include Sell Volume, Sell Days, and 1d/7d/30d volume windows Click SCAN ALL to begin
Data Source:
Raw ESI: Full bulk market dump — slowest, most precise.
Min ROI %
Tax % (broker+tx)
Min Daily Vol
Min Profit ISK
ISK
Vol Window
▶
ADVANCED FILTERS — min buy orders threshold
Min Buy Orders
Station:
Categories:
TipLeft-click to select a category·in ALL mode, right-click to exclude a category ✕
⬡ WORKING
✓Scan complete▶ show details
Elapsed0:00ETA—
> SELECT A STATION AND CLICK SCAN_
STATION TRADE OPPORTUNITIES
Item
Category
Buy Order At
Sell Order At
ROI % ▼
Profit/Unit
Sell Volume
Sell Days
7d Sell Avg
Sell Orders
Buy Orders
Score
Velocity
Select a station and click SCAN
Place a buy order at the Buy Order At price · wait to fill · list sell 0.01 ISK below Sell Order At Crossed markets (where the bid is already above an ask) are highlighted in gold and marked with ⚡
WATCHLIST
—·Last scan: —
INDEXEDDB CACHE INSPECTOR
TOTAL ENTRIES
—
CACHE HITS (SESSION)
—
304 NOT MODIFIED
—
EST. BYTES SAVED
—
Cache Key
Expires
ETag
Size
Hits
No cache entries yet
⬡ How to use the Arbitrage Scanner
Find profitable trades by comparing prices across EVE Online's five major NPC hubs.
What this tool does
The Arbitrage Scanner finds profitable trades between EVE Online's five major NPC trade hubs — Jita, Amarr, Dodixie, Hek, and Rens. Two modes, each for a different trading strategy:
Hub Trading — buy low at one hub, haul to another, list higher. Logistics arbitrage.
Station Trading — buy with a bid order at a single station, sell to the best ask later. Patient arbitrage with zero travel.
Fastest way to get started
You're already on the Hub Trading tab. Try this:
Pick a data source from the two buttons: RAW ESIFUZZWORK — start with FUZZWORK for broad discovery.
Leave the filters at defaults: 5% Min Margin, 10 Min Daily Vol, 10,000 Min Profit ISK, 10,000 m³ Cargo.
Click ▶ SCAN ALL. First scan is 3-10 minutes; later scans are much faster thanks to caching.
When it's done, the results table is sorted by Margin %. Click any column header to re-sort.
Click any row to expand it with detailed price breakdown and trip-profit math.
Click ☆ on rows you want to track over time — they'll appear in the Watchlist tab.
Two data sources — which to pick?
RAW ESI — Full market dump direct from CCP's ESI API. Most precise; shows every live order at every NPC hub station. Cold scan typically 1-3 minutes; warm re-scans ~20-40 seconds thanks to response caching.
FUZZWORK — Scans the full universe (~15-20k items) via a third-party aggregator. Fastest for broad discovery (often under 30 seconds warm). Data up to ~30 minutes stale. Cross-check high-value results against Raw ESI before committing ISK.
When in doubt
Use Fuzzwork for discovery, Raw ESI before executing a big trade. Fuzzwork casts the widest net but has ~30 min lag; Raw ESI is live. If a Fuzzwork result looks promising, run Raw ESI with a narrow filter to verify the specific item before committing real ISK.
What Hub Trading finds
Items being sold cheaper at one hub than another. You buy from the cheap hub's sell order, haul it to the expensive hub, and list it just under the local market. Profit minus sales tax minus your time/risk.
Understanding the columns
Route — Origin hub → Destination hub. You buy at origin, sell at destination.
Sell Price — lowest ask at origin (what you pay per unit).
Dest Price — lowest ask at destination (what you'll undercut).
Sell Volume — total units currently for sale at origin. Cap your purchase here.
Sell Days — days of supply at origin's current daily rate. Lower = faster market.
Daily Avg — average daily traded volume. The time window (1d/7d/30d) is set by Vol Window.
Margin % — net profit ÷ buy price, after sales tax.
Profit/Unit — ISK profit per single item, after tax.
Trip Profit — profit if you fill your cargo with this item. Scales with Cargo m³ setting.
Score — combines volume + margin. High scores = fast AND profitable.
Velocity — how fast supply turns over. Green = demand outpaces supply.
Filter by route
Below the results table there's a FILTER BY ROUTE grid. Click to open it. Uncheck any hub-to-hub route to hide those opportunities from the table. Useful for focusing on routes you actually fly (e.g., just Jita ↔ Amarr).
Haul Calculator
Above the hub selector, click ⬡ HAUL CALCULATOR to see the best trip for your cargo size. It auto-updates when you change the Cargo m³ field.
Category filter
Buttons below the hubs filter by item category (Modules, Ships, Drones, etc.). Left-click to include; in ALL mode, right-click to exclude a category. Useful when you want "everything except Apparel and SKINs."
Advanced Filters
Click to expand. Three seldom-needed settings:
Min Sell Orders — require at least N competing sellers at the destination. Default 3 filters out thin markets.
Max Price × Avg — drops items whose current price is more than N× the recent average. Protects against manipulated-price traps.
Throttle Floor — how aggressively we push ESI. Default is fine; only change if you see persistent rate-limit errors.
What Station Trading finds
Items at a single station where someone's highest buy order is meaningfully below someone's lowest sell order. You profit from the spread without moving anything. Two distinct types:
Normal spread — Place a buy order at Buy Order At + 0.01 ISK (to outbid). Wait for a seller to fill it. Then list your own sell order at Sell Order At − 0.01 ISK (to undercut). Profit after tax.
Crossed market (marked with ⚡ gold) — someone's BID is already ≥ someone else's ASK. You can flip instantly: buy from the ask, sell to the bid, no waiting. Rare but lucrative.
Pick your station
Unlike Hub Trading, Station Trading watches ONE station at a time. Choose Jita, Amarr, Dodixie, Hek, or Rens via the radio buttons. Jita has the most volume and thinnest spreads; smaller hubs have wider spreads but lower throughput.
Understanding the columns
Buy Order At — highest active buy order price. You'd outbid this by 0.01 ISK.
Sell Order At — lowest active sell order price. You'd undercut this by 0.01 ISK.
ROI % — return on investment after sales tax.
Sell Volume / Buy Volume — total units currently for sale / being bid on. Both matter for throughput.
Sell Orders / Buy Orders — number of competing traders on each side. More competitors = more undercutting pressure.
Score and Velocity — same as Hub Trading.
Crossed markets (⚡)
When you see the gold ⚡ glyph next to an item name, that means the spread is already closed — someone is willing to pay more than another seller is asking. Hover over the ⚡ to see how many units you can flip instantly. These are genuine free-money opportunities (limited by ESI cache lag; they disappear fast).
A note on Fuzzwork data
When using FUZZWORK for Station Trading, results come from a third-party aggregator (market.fuzzwork.co.uk). Fuzzwork's ?station= filter is usually accurate at major NPC hubs — in testing, it matched Raw ESI to within ~0.1% for Jita — but the data can be up to 30 minutes stale and a small fraction of prices may reflect nearby citadel orders rather than strictly NPC-station. For high-value trades, cross-check the same item against Raw ESI before committing ISK.
Watchlist basics
Click ☆ on any row in Hub Trading or Station Trading to add it to your Watchlist. The star turns into ★ to confirm. Click again to remove.
The Watchlist is shared between tabs — a starred hub-route and a starred station item both live in the same list, but they're marked with HUB or STATION badges so you can tell them apart.
Refresh watched items
Switch to the Watchlist tab and click ▶ REFRESH DATA. Each item is re-fetched using its original data source (the mode you were in when you starred it). After the refresh, arrows appear next to values that changed:
↑ green — value moved in your favor (e.g., sell price went up)
↓ red — value moved against you (e.g., buy price went up)
= — no change
Each item also shows "Last refresh: X ago" so you know how stale the data is.
Copy item names
Hover an item name in any table. The text turns amber to indicate it's clickable. Click to copy the exact item name to your clipboard — useful for pasting into EVE Online's market search.
Export to CSV
Every tab has an EXPORT CSV button that dumps the current results for use in Excel, Google Sheets, etc. Watchlist CSV includes both current AND previous snapshot values, so you can see raw deltas.
Performance tips
Keep the tab open between scans. In-memory caches (for names, volumes, categories) only persist while the page is loaded.
First scan warms everything; later scans are 3-5× faster. A fresh browser session re-starts cold.
If a scan feels stuck, check the log bar at the bottom. Messages like ⚠ PAGE 1 FAILED or RATE LIMITED mean ESI is having a moment — wait 30-60 seconds and try again.
Skip Hek and Rens for routine Hub Trading scans. Jita ↔ Amarr and Jita ↔ Dodixie are the two biggest routes anyway, and dropping two hubs cuts scan time by ~25%.
Troubleshooting
0 opportunities returned — ESI may have been slow or rate-limited during the scan. Wait a minute and try again.
"Suspiciously low order count" warning in the log — the bulk fetch partially failed. Re-run the scan in 30 seconds.
Scan takes forever — ESI's backend might be under load. Try FUZZWORK mode, which uses a different server.
"IDB open failed" — your browser has caching disabled (common in private/incognito mode). Scans still work but won't benefit from response caching between runs.
Disclaimer
This tool is not affiliated with or endorsed by CCP Games. EVE Online and all related trademarks are the property of CCP hf. Market data may be delayed or incomplete. Only NPC station orders are visible via the public ESI API. Use at your own risk.