Skip to main content
THE VAULT · WEB
Marketing site →
Slay the Spire 2 · Vault for the Web

Run history, stats, and co-op, in your browser.

Drop your Slay the Spire 2 save folder in to see the same Overview, Characters, Ascensions, Relics, Cards, and Recent Runs tabs the macOS app has. Everything stays in your browser — nothing uploads. Optional Steam sign-in unlocks the live co-op partner feed.

macOS app →

Checking who's around…

Heads up: you're in an in-app browser (app) that may break Steam sign-in. Tap the share / menu button and choose Open in Safari (iOS) or Open in Chrome (Android) first.

What signing in actually does

  • Verifies you own the Steam account you claim, via Steam OpenID.
  • Mints a 30-day session. No password ever leaves Steam.
  • Pulls only your persona name and avatar.
  • Posts your status to the public feed only while this tab is open.
  • Sign out at any time to drop your row from everyone's feed.
THE VAULT web · for STS2
STATS
COMMUNITY
YOU
Looking
Connecting…
…
Connecting…
Showing sample data — link your STS2 saves to see your runs.

Overview

Your run history at a glance.

Showing sample data — link your STS2 saves to see your runs.

Characters

Win rate by character.

Showing sample data — link your STS2 saves to see your runs.

Ascensions

Win rate by ascension level.

Showing sample data — link your STS2 saves to see your runs.

Top Relics

Best relics by win rate (min. 3 runs).

Showing sample data — link your STS2 saves to see your runs.

Cards

Most picked vs. most skipped.

Showing sample data — link your STS2 saves to see your runs.

Recent Runs

Latest runs from your history. Auto-refreshes from disk.

Showing sample data — link your STS2 saves to see your runs.

Who's around right now

Loading…

Invites for you 0

… …
Sending…
How co-op works

Click Invite to play on anyone in the list. They get a popup with a preset message and either accept or decline. Nothing fires off until they accept.

Players online 0

Loading…

…

Community highlights

Runs the community is excited to share. React, leave a quick comment, or post your own from the share modal on any run.

Loading community highlights…

News & updates

Notes from Corey, the human behind the app. Bug fixes, new features, and what's coming next.

Painted illustration of the Ironclad on the left and the Architect on the right facing each other across a stone altar in a candlelit gothic library. Between them, an open glowing bestiary tome shows painted monster portraits, surrounded by a flickering pumpkin candle, a brass fishing rod, a kaleidoscope refracting a small rainbow, a coil of silken golden hair, and a half-open chest of glowing red-and-gold cards. Behind them, an arched stained-glass window holds the faint crystalline hourglass silhouette of Aeonglass.
Patch · May 9, 2026

STS2 v0.105.0 (Bestiary, Aeonglass) is supported

Corey · ~2 min read

Mega Crit shipped a beta patch on May 8 that touched the Neow pool, reworked an Ancients reward, and replaced the Act 3 boss. Runs from the new build now show up correctly in Spire Vault — names, labels, and tooltips included.

What we added

Three new Neow relics

Kaleidoscope (temporary name), Fishing Rod, and Silken Tress are now recognized in run history. Each gets a hand-curated tooltip with the exact in-game effect plus a quick "when to pick" note pulled from community write-ups. Art icons will slot in once Mega Crit publishes the assets — until then, the renderer shows the same 2-letter glyph fallback we use for any unfamiliar relic, so nothing renders broken.

Pumpkin Candle reworked, Infused Core buffed

The Tezcatara Pumpkin Candle reward swapped its "extinguishes at the start of Act 3" rider for "extinguishes after 5 combats, kindle at rest sites." Defect's Infused Core picked up a bonus "Lightning Orbs deal 1 additional damage" line. Both tooltips reflect the new copy, so when you hover them in Recent Runs or Top Relics you read what your actual game shows you.

Aeonglass replaces Doormaker

The new Act 3 boss is in the boss label table — when a run shows "Killed by" it'll read Aeonglass rather than a raw slug. Doormaker stays in the label table too so older runs in your history don't suddenly mis-render.

What this means for unknown future relics

The parser was already designed to forward unknown content as raw slugs — nothing about Spire Vault assumes a closed list of relics. So any post-v0.105.0 patch that ships brand-new relics will tally in the Top Relics tab, show up in deck lists, and roll up into win-rate buckets the moment your save file lands. We just won't have a hand-written tooltip for them until we patch this list. If you spot a relic showing as a 2-letter glyph and want copy added, drop a one-line GitHub issue and it'll go in the next deploy.

— Corey

Patch Game data v0.105.0
Mega Crit's patch notes → Report a missing relic →
Painted illustration of the Ironclad charging the Architect across a crumbling spire chamber — broadsword raised, fire and stone-construct magic colliding mid-air.
Update · May 9, 2026

Run Compare, Auto-refresh status — and what we're testing next

Corey · ~5 min read

Big batch this week. Two new features, one root-cause fix that had been driving people quietly nuts, and an honest look at what's in the dev branch right now — including the conversation I'm starting with the Slay the Spire 2 community on getting more testers in here. Pour something. Read at whatever pace you like.

What's new — live on prod

Run Compare — pick 2 or 3 runs, see them side by side

There's a new Compare button in the Recent Runs filter bar (hit c on your keyboard if you're a power user). Toggle it, click 2 or 3 rows, and the bottom-of-screen bar opens a side-by-side comparison: stats, top relics, and the cards that are unique to each run vs. the cards every selected run shared.

The hero panel above the columns is the part I'm proudest of — it surfaces every relic and card in the intersection with a soft golden glow so you can immediately answer the question that brought you here: "what made my winning runs win?" If your A20 victories all share Calipers and a Searing Blow, the answer is sitting right at the top of the modal. No spreadsheet required.

Auto-refresh status pill — you can finally see when it stops

For a long time the auto-refresh loop would just… quietly stop. The cause turned out to be Chrome silently downgrading the folder permission from "granted" back to "prompt" between sessions. The 30-second timer was firing fine; the permission check was just returning prompt and the loop no-op'd. From your side, "auto-refresh is broken" was indistinguishable from "auto-refresh isn't running."

There's now a status pill at the top of Recent Runs. Green pulse with "last checked 14s ago" when it's healthy. Amber with a one-click Resume button when the browser dropped your grant. We also opportunistically piggyback on your next click anywhere on the page to silently re-request the permission — most of you will never even see the amber state. And a "X new runs auto-loaded" toast fires the moment the loop picks up a fresh run, even if you're sitting on a different tab.

That sticky hover tooltip — root-caused and gone

A few of you reported that the relic and card hover preview on the Highlights tab would get stuck open and bleed onto other tabs. We shipped patch after patch — touch-device gates, watchdogs, focus-blur handlers — and none of them worked, because they were all treating the symptom. The actual root cause was CSS specificity: .h-tooltip { display: flex } and the user-agent [hidden] { display: none } rule have the same specificity weight, and "later wins" was silently overriding the hidden attribute. So $tip.hidden = true from JS was painting the attribute, and the browser was ignoring it.

One [hidden] { display: none !important } backstop near the top of the stylesheet, and the entire tooltip lifecycle works the way it always claimed to. Lesson noted; backstop is now load-bearing infrastructure.

"Unknown character" rows — smarter fallback

Schema-16 partial writes occasionally land on disk with the explicit character field missing, which used to render the run as a generic shield-icon "Unknown" row. The parser now tallies cards in the deck (each character's starter cards are namespaced — silent_strike, ironclad_bash, etc.) and falls back to starter relics (Burning Blood, Ring of the Snake, Cracked Core) as a last resort. If we can see what you started with, we can tell you what you played.

Smaller polish that adds up
  • Daily-run badges with the actual date, instead of mis-rendering daily runs as "Ascension 2".
  • Settings tab centralizes import / export / clear / disconnect / sign-out so the toolbar isn't a mile long.
  • Pinned characters — star a class on the Characters tab and it sticks to the top of the list.
  • Keyboard shortcuts: 1–9 for tabs, / focuses search, ? opens a help overlay, c toggles Compare on Recent Runs.
  • Win-rate sparkline on the Overview tab — rolling trend across your last 20 runs.
  • Deep links: copy a direct link to any run or any community highlight. Paste into Discord, the same modal opens for whoever clicks it.
  • Milestone toasts for first victory, win streaks, run-count tiers, and per-character clears.
  • Reactions on community highlights live in a clean popover instead of bare emojis everywhere.
  • Comments with the commenter's Steam profile, not just an anonymous text blob.

In dev right now

Things on a branch on my machine that aren't shipped yet but are far enough along that I can talk about them honestly:

  • macOS Run Companion Overlay v1. A small floating window that sits over Slay the Spire 2 while you play, showing pair status, invite count, your status, and (optionally) deck and pathing reminders. v0 is built; v1 is where it gets real polish, the "send my lobby" button, and a settings sheet.
  • Daily challenge leaderboard. Now that we capture game_mode and seed per run, we can group all the daily-run highlights from the same seed into a leaderboard view. Same daily, different builds, different finishes. Should be live within the week.
  • Run replay scrubber. Step through a run floor by floor inside the run-detail modal, watching your deck, relics, and HP evolve. The data's all there in the .run file already — this is just a UI on top.

Roadmap — honest order of operations

  1. Native Windows app. Same backend, same UI, native window via Tauri. The browser version works on Windows today but a real SpireVault.exe is a much cleaner experience for people who don't want to think about which browser tab their stats live in.
  2. iOS Companion data alignment. The Ascension Companion app on the App Store still uses an older data shape than the web. Bringing them into alignment so a run uploaded from web shows up in the iOS app immediately.
  3. Weekly digest email. Optional, off by default, plain text. Your wins this week, your best run, character mix, and any new community highlights from people you've co-oped with. One email a week, one-click unsubscribe.
  4. Co-op chat — in the app. Right now pairing hands you off to Steam Chat for the actual conversation. A small in-app channel for paired players would close that loop without needing a Steam tab open.

Reaching out to the Slay the Spire community

This is the bit I'm a little nervous about, so I'm going to write it plainly: I'm starting a conversation with the Slay the Spire 2 official Discord about getting Spire Vault in front of more testers. The plan is to ask the moderators if I can post a short pinned message in #community-tools (or wherever they think it belongs) inviting players to try the web app and send me bug reports.

What I'm specifically looking for:

  • A couple of dozen testers spread across all five characters and the full ascension range, especially A15–A20 victories so the Compare mode has real data to chew on.
  • People playing on the latest STS2 build — schema-16 character-extraction edge cases are exactly the kind of thing that only shows up on real machines, not mine.
  • Honest feedback on the UI, particularly the new Compare modal and the auto-refresh pill. Are they obvious? Did anything look broken? Did anything feel patronizing? I want the answer.

This is opt-in, no posting on anyone's behalf, no DMs without permission. If a moderator from the STS2 Discord is reading this and would like a guided tour of the app or my notes on data handling and privacy, my email is in the footer of every page. I'd rather have one careful conversation up front than a noisy launch.

A small ask, same as last time

If something feels broken, weird, or just unfinished — please tell me. File an issue on GitHub, or hit me up on the co-op feed. Every "this clicks but doesn't do anything" report makes the next build measurably better. Most of the fixes above started as one-line bug reports from one of you.

— Corey

Update New feature Roadmap Community
Report an issue → Full changelog →
The Regent, the Defect, the Silent, and the Necrobinder gathered around a glowing brazier in a candlelit spire — painted illustration matching the in-game art style.
Update · May 5, 2026

Bug fixes & updates — thank you for using Spire Vault

Corey · ~4 min read

First, the obvious thing: thank you for being here. Spire Vault went from "weird side project" to "people are actually using this" because of you, and I don't take that lightly. So before anything else — thanks. Genuinely.

This past week was mostly fixes that should have worked the first time, plus a couple of new features that have been on my list for a while. Quick rundown of what's new, then a few things I'm working on next.

What's new

Co-op pairing — you can now see who's playing with who

When you and another player both accept an invite, both of your rows on the roster pick up a green "Co-op — w/ @PartnerName" pill. Anyone scrolling the feed can see at a glance which pairs are already matched up, so they don't waste a click trying to invite someone who's mid-session. The invite button on a paired row turns into a friendly "Busy" tag instead of a dead button.

You also get an "End co-op" button on your own status card while paired — one click and both sides drop the pill. If you forget, the pair auto-clears after 4 hours so you don't show up as "still co-oping with that person from yesterday morning."

The cache & reload mess is finally fixed

For a while, every time I shipped a new version, half of you would have to open the app in private mode to see the change. That was bad. The root cause was three layers of cache fighting each other: Cloudflare's edge, your browser's disk cache, and Safari's in-tab memory cache, which ignores cache headers entirely while a tab is alive.

There's now a small banner at the top of the app that appears when a newer version is out: "A newer version of Spire Vault is available — Reload now." Click it whenever you're ready. Your sign-in and stats stick. No more force-reload mid-typing.

Run paths, but readable

The Recent Runs modal now shows your full path through every act with proper map icons — campfire, treasure chest, elite, boss, shop, the works — pulled in to actually look like the game's map instead of a generic icon set. Each act starts collapsed; the act where you died (or won) gets a red DIED HERE or green VICTORY chip on the closed header so you don't have to expand all three to find the moment.

The painted banner up top is bigger and better-balanced

The companion character on the left of the duel scene was way too small — you could barely tell who it was. Bumped them up about 25%, which makes the boss-on-the-right composition feel like an actual face-off instead of a sidebar token next to a giant. Also normalized every character sprite so Regent, Defect, Silent, and Necrobinder all fill the frame consistently. No more "wait, why does my Regent look tiny."

Privacy lockdown on the public feed

Anyone visiting app.spirevault.app as a guest can still see the live count of who's around, but Steam IDs, persona names, avatars, and Discord handles are stripped before the data leaves the server. Only signed-in users get the full roster. If you weren't comfortable with strangers being able to harvest your handle off the homepage, that's no longer a concern.

Cross-device run history that actually syncs

Your run history is keyed to your Steam ID and synced to the cloud. Sign in on your laptop, import your saves once, then open the app on your phone — everything's already there. There's a small "Synced N runs · last sync 2 min ago" pill in the toolbar so you can see at a glance whether your latest run made it up.

What I'm working on next

Honest order of operations — some of these are days, some are weeks. None of them are guaranteed. Roadmap, not promises.

  1. Community Highlights. A simple opt-in: any run you're proud of, hit a "share to the community" button on the run detail and it appears on a public highlights feed. Per-run, never automatic, always yours to unshare. Card-pack layout with the actual deck and relics — the same Share-Run card you'd post to Reddit, just visible inside the app. Designed to celebrate runs, not surveil people.
  2. A real Windows app. The browser version works fine on Windows today, but a downloadable SpireVault.exe would be a much cleaner experience for people who don't want to think about which browser tab their stats live in. Targeting a Tauri build — same backend, same UI, native window.
  3. iOS Companion sync. The Ascension Companion app on the App Store still uses an older data shape than the web. Bringing them into alignment so a run uploaded from web shows up in the iOS app immediately.
  4. "What changed since last week" digest. An optional weekly email summarizing your wins, your best run, your character mix, and any new community highlights from people you've co-oped with. Off by default. Probably the smallest possible footprint — one email a week, plain text, an unsubscribe link.

A small ask

If something feels broken, weird, or just unfinished — please tell me. File an issue on GitHub, or hit me up on the co-op feed (you can see when I'm online, my Steam handle's the same as yours: I sign in with mine and use the app like you do). I read every issue. Most of the fixes above started as one-line bug reports from one of you.

And if Spire Vault has saved you a Discord scroll, helped you find a co-op partner, or just been nice to look at while reviewing a long run — that's the whole point. Thanks for being here.

— Corey

Update Bug fixes Roadmap
Report an issue → Full changelog →

Run Companion Overlay

Decision support while you play - local-first, optional, and built around trust.

Settings

Save data, preferences, account.

↑

Drop your STS2 save folder here

Or any .run files. Everything stays on your device — nothing uploads.

Invite to play

Pick a preset message. They can accept or decline.

Run details

Compare runs

0 runs selected Pick 2 or 3 to compare side by side · Esc cancels

Share run

Drop the image straight into Discord, Reddit, or X.

Share to community

Drop this run on the Highlights feed so other players can react and comment. You can delete it any time.

View feed

The Vault · Web

Built by Corey Crooks. Free, open source, fan-made. Not affiliated with Mega Crit Games.

Marketing site GitHub iOS · Ascension Companion coreycrooks.com