AssassinCreator/steam-stash-value-report-card

Finance

Value a Steam inventory across markets and export the result as a shareable PNG card.

159
11
Python
MIT
new today

What it does

Stashcard reads a public Steam profile and its inventories, prices each item on the Steam Community Market and several cash marketplaces, and turns the result into a PNG report card. Supported inventories include CS2, Dota 2, TF2, Rust, Steam community items, and custom app/context pairs. The card can be a summary report, a single-game card, an item icon grid, a receipt, a marketplace comparison, or a comparison between two scans or two profiles.

The tool keeps two price concepts separate: LOWEST is the current floor listing, while AVG is the mean of actual sales over a selected 24h, 7d, 30d, or 90d window. Steam wallet funds and cash from third-party venues are tagged separately and never silently summed. Missing prices are counted as unpriced rather than zero, and fallbacks are labelled on the card and in tables.

Quick start

On Windows, download the portable x64 build from the latest release, or install from source. The source route requires Python 3.11+:

py -m pip install --user pipx
py -m pipx ensurepath
# open a new terminal
pipx install git+https://github.com/AssassinCreator/steam-account-value-checker.git
stashcard demo

stashcard demo runs offline against a bundled fictional profile and writes a PNG card. After that, pass a real profile URL, SteamID64, or custom URL:

stashcard card https://steamcommunity.com/id/yourname --mode summary -c EUR -o stash.png

The same command can produce other layouts with --mode game|grid|receipt|markets; stashcard markets yourname -c EUR prints each venue's floor total, fee, and net after fees. JSON and CSV exports are available through value --json and --csv. Full option details are in the README.

Where to run it

Run live scans on a home connection, preferably a Windows 10/11 machine. Steam throttles inventory and market requests heavily for datacenter, VPS, and cloud IPs; the README reports a Linux server receiving HTTP 429 on its first inventory request. On a server only the demo and cached data work reliably, and Stashcard does not bundle proxies or workarounds. Windows Terminal shows the inline card preview; the classic console prints the PNG path instead.

Price sources and interpretation

The default LOWEST source is Steam, while AVG defaults to Skinport sales history. Additional venues include Waxpeer, Market.CSGO, Lis-skins, and an experimental CSFloat integration. No API keys are required for the default sources. Steam's public API exposes only a 24-hour median without a login, so Steam community items fall back to Steam median · 24h, labelled on the row and footer.

A skewed badge appears when the mean and median differ by more than 25% or the maximum sale is more than 5x the median; --trimmed-avg removes extremes and labels the result accordingly. Wallet and cash totals are reported separately: Steam money can only be spent on Steam, and the best cash route is never added to Steam's net.

Privacy and redaction

Settings, cache, and scan history stay in local user folders; the tool does not upload data or include telemetry. Cards support --redact light and --redact full, which mask names and IDs, blur or replace avatars, and can convert totals into value bands. card.json sidecars preserve redaction on the image but keep item rows for verification; use --no-sidecar if totals must not leave the machine. An optional Steam login cookie is stored with mode 0600 or read from an environment variable, and it is a full session credential, so add it only if you understand that trade-off.

Constraints

  • The packaged Windows build refuses to start on non-Windows systems; source installation requires Python 3.11+.
  • Steam rate limits live scans, so frequent refreshes or server-side scans will hit throttling.
  • Prices are informational estimates from public market data, not appraisals or financial advice; Steam accounts cannot be sold under the Steam Subscriber Agreement.
  • Cards require an internet connection for live data, or cached/offline data via --offline.

HotRepo's take

Stashcard appeared in HotRepo's new-project list on 2026-11-02, with 102 stars and 7 forks recorded in about six hours of the tracked window. No GitHub daily rank was recorded, so this is a one-snapshot observation rather than a trend. The notable engineering choice is not the card rendering but the separation of LOWEST and AVG, the wallet-versus-cash distinction, and explicit fallback labels — details that make the valuation output easier to audit than a single headline number.

Written by AI from the project's README, updated . The project's own docs are the source of truth.