Local run history
Auto-discovers your STS2 save folder. Parses every .run file. Builds a private history with winrate, max ascension, character and relic stats. Nothing leaves your Mac.
STS2 co-op is friend-gated through Steam — which means today, the only way to find a partner is scrolling the global Discord for ten minutes. Spire Vault is the missing piece: a live feed of who's around right now, with their tier and a way to reach out. The actual game invite still goes through Steam.
Checking who's around… · Open source on GitHub
Mega Crit's call to gate multiplayer through Steam friends is correct. It stops random griefers and keeps the experience tight. But it creates a chicken-and-egg problem: before you can play with someone, you need to already know them. If you didn't bring an STS2-loving friend to launch night, your only option today is the global Discord, and good luck filtering that for "someone at A12 who's online right now."
Spire Vault is the missing layer between "I want to play co-op" and "I have a Steam friend to play with." It doesn't host games, route invites, or replace anything Mega Crit built. It just shows you who's around, what tier they're at, and how to reach out. From there, Steam takes over and you play the game like you would today.
The whole thing is open source. The macOS app reads only files already on your computer. Co-op uses Steam OpenID, so your password never touches my server. Every line of code is on GitHub; the threat model is in SECURITY.md; the candid "how this was built and what AI helped with" notes are in BUILT.md.
Auto-discovers your STS2 save folder. Parses every .run file. Builds a private history with winrate, max ascension, character and relic stats. Nothing leaves your Mac.
One-click PNG and Markdown summaries of any run. Drop them straight into Discord, Reddit, or X. Looks polished, takes ten seconds.
Sign in with Steam, see everyone else with The Vault open right now. Their tier, their status, an optional Discord handle. One click opens their Steam profile or copies their handle. STS2 multiplayer takes it from there.
Per-character winrate, ascension progression chart, top picked relics and cards across your runs. Filter by date window or outcome. Export to CSV anytime.
Run tracking works fully offline — no signup, no analytics, no cloud sync. Co-op is opt-in and uses Steam OpenID; the server only stores public Steam profile data with a 5-minute TTL.
MIT licensed. The macOS app, the CLI, the matchmaking server — all in one repo on GitHub. Audit it, fork it, run your own.
macOS app screens are stylized renders for now (real captures replace them at v0.2). The web companion shot below is a live capture from app.spirevault.app just now.
STS2 multiplayer is friend-gated through Steam — no third-party tool can route those invites, and we don't try. The Vault solves the actual problem: finding someone at your level who's around right now.
Most Windows and Linux players start in the browser. Mac users get the full native app with run tracking and Share-Run cards. Both share the same presence feed — sign in with Steam on either and you appear in the same live list.
Run tracker · co-op feed · Share-Run cards
Co-op finder · Windows, Linux, macOS, anywhere
Power user? Build from source
with git clone + make run. The Vault CLI works against any
macOS save folder and exposes the same data as the app.
Sign-in is Steam OpenID — the same flow Steam uses for every other site. Your password never reaches our server. We store the minimum required for matchmaking, and the entire codebase is on GitHub.
No. Spire Vault is an unofficial, fan-made companion. Mega Crit owns Slay the Spire. We don't host games, route invites, or replace anything they built — we just help players find each other before Steam takes over.
No, it's not a mod. Spire Vault doesn't modify
Slay the Spire 2, doesn't inject into the game process, doesn't load
DLLs or use ModTheSpire, and doesn't touch game memory. It only reads
the .run JSON files Slay the Spire 2 itself writes to your
save folder after each run — the same files you could open in any
text editor.
Run-history readers like this have existed for the original Slay the Spire for years (Sky Diving, Mintotaur, etc.) and are universally accepted by Mega Crit and the community. The macOS app has read-only access to one folder. The web companion never touches your filesystem at all.
There isn't one, and you don't need one. The web companion at app.spirevault.app gives Windows and Linux users the entire co-op finder — same backend, same live feed, same Steam sign-in — with zero install. The only feature the web version doesn't have is the local run tracker, because that requires reading files off your computer (which the browser, correctly, won't allow). For run tracking on Windows, the data is sitting in your save folder as JSON; you can also use the open-source CLI in the repo.
For the run tracker, no — it works fully offline. For co-op matchmaking you sign in via Steam OpenID, which is Valve-hosted and never sees your password. You can sign out at any time and your session disappears.
$0. Forever. No tier, no premium, no donations gate. The infra runs on Cloudflare's free tier; the only fixed cost is a $14/year domain. It's open source (MIT), so even if I disappear, anyone can fork it and keep it running.
You sign in with Steam, set your status (Looking · Playing · Idle), optionally add a Discord handle. Your client heartbeats your presence every minute. The feed shows everyone heartbeating in the last few minutes, with a button to open their Steam profile or copy their Discord. The actual game session goes through Steam friends like normal.
No. Every write to the server requires a signed Steam OpenID verification — the server checks the signature with Valve directly. Your session token can only be issued after that verification. Threat model details in SECURITY.md.
Honest answer: I used AI to help me ship faster — anyone shipping a side project in 2026 who claims they don't is lying or working too slowly. Specifically, AI helped with first-pass copy, scaffolding Cloudflare Worker boilerplate, and refactoring a couple of Swift views. It did not design the architecture, write the threat model, decide what features to ship, or replace the part where I read every diff before it landed.
The proof is the repo: read the code, read BUILT.md for what AI touched and what it didn't, look at the commit history, try the app. If something feels off, open an issue and tell me. The whole point of being open source is that you don't have to take my word for it.