A free replacement for the paid TradeSkillMaster Desktop App. Pulls WoW auction data from Blizzard's public API and feeds it straight into TSM's in-game AddOn — no subscription, no login, no server.
This project is under active development. No downloadable binary yet, the source repo is still private, and there are no screenshots or video to show because the tool doesn't exist yet. This page is a placeholder. Check back soon.
TradeSkillMaster is the best auction house tool in World of Warcraft. Most serious crafters, flippers, and gold-makers use it. It comes in two parts: the in-game AddOn that does all the useful work while you play, and the Desktop App that keeps its price data fresh.
The in-game AddOn is free. The Desktop App requires a monthly subscription. And all the Desktop App actually does is talk to a free public data service that Blizzard runs for developers, save a file into your WoW folder, and exit.
This project is a tiny command-line program that does the Desktop App's job for free. You sign up for a free Blizzard developer account, paste two codes into a config file, and schedule the program to run every hour. It fetches fresh auction data, computes the same price statistics TSM expects, and saves the file TSM's in-game AddOn already knows how to read.
From TSM's perspective, nothing changes. Your in-game price lookups, shopping operations, crafting profitability, and auctioning rules all keep working exactly the way they always have.
TSM's in-game AddOn is a genuinely great piece of free software. The paywall sits around the one part that's purely a data pipe — and it's a data pipe around information Blizzard publishes for free to anyone who asks. There's no technical reason that needs to cost money.
This project gives that part away. Forever. With no ads, no upsells, no "pro version," no accounts, and no server to keep online. It's small enough that one person can maintain it, and simple enough that anyone with a text editor can read and audit the whole thing.
It's also fully decentralized — there is no central server anywhere, no hosted database, no shared user pool. Every person who installs this runs their own copy with their own Blizzard key and their own local data. If this project's maintainer disappears tomorrow, every existing install keeps working unchanged. That's not a bug, it's the whole point.
A walkthrough video and screenshots of the config and in-game results will live here once v1 ships.
Blizzard runs a public data service for developers. It speaks the same language every modern website uses — you ask it a question, it answers with a structured reply. Anyone can sign up for a free developer account in under five minutes and start asking questions.
One of the things you can ask is "what's currently for sale on this auction house?" Blizzard replies with the full list — every item, every listing, every price — updated about once an hour. This is exactly what the TSM Desktop App asks for on your behalf.
This tool does the same thing, but locally on your machine with your own key. It saves a running history of what it sees in a small database file next to itself, computes the same kinds of statistics TSM computes — the current floor price, a rolling average of reasonable sale prices, how many are listed, how rare an item is becoming — and writes it all out to the exact file TSM's in-game AddOn already loads every time you launch WoW.
TSM has price statistics that need weeks or months of history to mean anything — seven-day averages, fourteen-day averages, ninety-day averages. On your very first run, we don't have that history yet. So we tell TSM "we don't know yet" for those fields, and TSM handles it gracefully.
Then the database fills up. After twenty-four hours of running, the 24-hour averages come online. After a week, the 7-day averages unlock. After ninety days, you have the full suite. You don't have to do anything — just let it run on its schedule and watch the stats get richer over time.
The rest of this page is for engineers and technically curious users. You don't need any of this to use the tool.
modernc.org/sqlite — pure Go, no system libraries, trivial cross-compile.oauth.battle.net/token. Bearer token cached in-memory per run.Interface/AddOns/TradeSkillMaster_AppHelper/AppData.lua, written atomically via temp-file-and-rename.oauth.battle.net/token.{itemString, buyoutPerUnit, quantity}. Skip bids-only listings. Collapse stack listings into per-unit prices.scanned_at = now(). Prune rows older than 91 days at the start of each run.LoadData format TSM_AppHelper's loader accepts.os.Rename. Exit zero with a summary log line.
TSM identifies items with a compact string format. Simple items are i:<itemId>. Gear with bonus IDs (warforged, socketed, crafted tiers) extends to i:<itemId>::<bonus1>:<bonus2>:.... Dragonflight-era crafting quality uses modifier tuples. Battle pets are p:<speciesId>:<level>:<quality>.
Blizzard's auction response includes item.id, item.bonus_lists[], item.modifiers[], and item.pet_species_id. The encoder walks these and produces the canonical TSM string. v1 implements the simple and bonus-ID paths; pets and full crafting modifier support are deferred to v1.1.
Every World of Warcraft AddOn ships as human-readable Lua — WoW's client loads .lua and .xml files off disk at runtime with no compilation step. That makes TSM's code source-visible but not open source. TradeSkillMaster reserves all rights; this project does not copy any TSM Lua into its codebase.
Instead, the AppData.lua file format is documented from observation of real Desktop-App-generated output, in our own words, in a spec file that lives alongside the code. A fresh Go serializer is written from scratch to produce matching output. No TSM strings, identifiers, or code fragments appear in this repo.
This is the same legal pattern used by OpenOffice for reading .doc files, by Samba for speaking SMB, and by Wine for running Windows executables on Linux — interoperability reverse engineering is explicitly protected under DMCA §1201(f) in the United States and under Article 6 of the EU Software Directive.
CC0 1.0 — Public Domain.
Not affiliated with or endorsed by Tradeskillmaster.com. TSM and TradeSkillMaster are trademarks of their respective owners. World of Warcraft is a trademark of Blizzard Entertainment, Inc.
Built by ESDF.gg