StashSage for POE2

v0.3.2 (10/27/2025)

Machine learning and automation to save you time and grow your currency.

Join our Discord!

⬇️ Download Installer (.zip)

None of your data is ever shared with StashSage; all operations are performed locally.

Top 10 Model Feature Importances

Browse trained models (collapsed by default)
Importances are normalized per model. Values shown as percentages.

Using Prediction Overlay

  1. Select or hover over the item in game for which you’d like to see price predictions.
  2. Press CTRL+1 (or custom hotkey) to bring up the (unfiltered) prediction overlay.
  3. Press CTRL+2 (or custom hotkey) to bring up the mod filters and filtered prediction overlay.
  4. Review the predictions (#1 = xgboost, #2 = knn) and compare to similar items.

Using Stash Scrape

  1. Select Stash Scrape from the main menu.
  2. Enter your Trade API username and a target directory in which to save output files.
  3. Enter Seconds Between Searches; we suggest at least 300s to minimize rate limiting.
  4. Select the listing type (All Listings = public premium stash tabs + merchant tabs).
  5. Select the categories to scrape; each necessitates a separate search as in step 3.
  6. Upon pipeline completion, fetch the output file from the target directory.

Notes for Using the Tool

  1. Models based on current (unsold) offers; data is noisy; reasonably-priced items do not always sell.
  2. Models #1 (xgb) and #2 (knn) may not agree on predictions, but both approaches are equally valid.
  3. Model #1 visualization shows how an item's prediction compares to all others in same category.
  4. Careful when using Model #2 (knn) to price items with less than 6-mods, comparing to 6-m items can be tricky. Ask yourself, is a 4-m item more similar to (a) a 4-m item with the same 4-m but very different values, or (b) a 5-m item with 3 of the exact same mods and values, and 2 non-overlapping mods?
  5. Models trained to price rare items, not magic (forthcoming) or unique.
  6. Models available for body armour, helmet, gloves, boots, belt, amulet, ring, jewel, wand, sceptre, quiver, focus, shield, buckler.
  7. Models unavailable for other main-hands and off-hands (bow, xbow, mace, qstave -- forthcoming).
  8. Overlay is optimized for Windowed Fullscreen only.
  9. New models trained every few days and posted for download.

Modeling Notes

  1. The model ignores "mark of the abyssal lord", "allocates passive", "on corruption" mods.
  2. The model ignores "corrupted", "fractured", "descrated" item statuses, socket counts (forthcoming).
  3. The model ignores socketables as they are not considered an underlying modifier.
  4. Items with quality and socketables have had their modifier values normalized to their base values.
  5. Armour, evasion, energy shield mods are represented in the base stat values.

Modeling Philosophy

No Single Ground Truth

There is no single “right” answer for an item's price. Demand changes with every league and patch, so yesterday’s completed sales may not represent today’s market.

Trading Reality

The data we see is from items that haven't yet sold. Expensive listings linger while good deals disappear, so raw trade results are noisy and unreliable on their own. If anything, they may represent a price ceiling.

How We Measure Value

StashSage focuses on practical shortcuts instead of perfect accuracy. We look for tools that help you:

  • Judge a reasonable listing price in seconds.
  • Track and encode market dynamics.
  • Avoid obvious price trolls or stale posts.
Bottom line: our goal is faster choices. If you spend less time scrolling trade listings and more time playing, the system is doing its job—even if some items never sell.

⚠️ Legacy Content from 0.2 Dawn of the Hunt

This section contains notes from the previous version. Some may no longer apply.

StashSage Demo Video

StashSage Install Video

Discord Bot Setup Video

Discord Bot Setup  •  Discord Bot Setup Guide (.docx)

  1. Create a new application at the Discord Developer Portal.
  2. In the Bot tab enable Message Content Intent.
  3. Invite the bot to a private server. Don’t delete this server!
  4. DM the bot once so it can DM you back.
  5. Copy the bot token → paste into Discord Bot Token.
  6. Pro Tip: save this somewhere locally so you don't need to re-copy it later!
  7. Enable Developer Mode in Discord → right-click your name → Copy User ID → paste into Discord User ID.
  8. Click Update Settings & Reload → you’ll receive a confirmation DM.