Free · Windows · Microsoft Store

Your MTGO matches,
tracked automatically

Reads your Magic Online game logs, identifies leagues and challenges, and syncs every match to mydeckstats.com in seconds - without you lifting a finger.

Token encrypted with Windows DPAPI TLS 1.2+ enforced Verified & installed via Microsoft Store
MyDeckStats MTGO Client
Client Token
••••••••••••••••••
MTGO Username
YourMtgoHandle
Save settings
Resync now
Ready — watching for matches.
Run into a bug, a match that didn't sync right, or anything else off? Let us know - it helps a lot.

Three steps, zero effort

Reads your MTGO logs
Watches the game log folder MTGO writes to. No MTGO modifications, no injection - pure file reads.
Parses match data
Identifies opponent, result, format, league or challenge token, deck, mulligans, and sideboard moves.
Syncs to mydeckstats
Sends each match over HTTPS with your encrypted token. Duplicates are skipped automatically.

Everything that matters, captured

The client extracts all the context MTGO writes to disk - grouped by league or challenge, not just individual matches.

Leagues & Challenges
Matches are automatically grouped into their league or challenge - no manual tournament setup needed.
Opponent
Opponent username extracted from the game log for every match.
Result
Win/loss with exact game score (2-1, 1-2…) and who went first.
Format
Modern, Legacy, Pioneer, Pauper, Draft, Sealed, and more.
Your deck
Full decklist parsed from your .dek file - maindeck and sideboard.
Mulligans
Opening hand size kept per game, tracked separately for each game.
Sideboard moves
Cards sided in and out per game reconstructed from play data.
Date & time
Match timestamp taken directly from the game log for accurate history.
Opponent cards seen
Cards your opponent revealed - used to identify their archetype.

Built with privacy in mind

Your token grants access to your account. Here's exactly how it's protected - on your machine and in transit.

Token encrypted at rest (DPAPI)
Your API token is encrypted using Windows Data Protection API before being saved to %APPDATA%\MyDeckStats. Only your Windows user account can decrypt it - not other users on the same machine.
HTTPS always enforced
Even if you type http:// in the URL field, the client silently upgrades it to https:// before every request. Your token and match data never travel unencrypted.
TLS 1.2 / 1.3 forced
Older Windows installs may default to TLS 1.0. The client explicitly forces TLS 1.2 (and 1.3 where available) at startup, regardless of the OS default.
Token stored as SHA-256 hash
The server never stores your raw token - only its SHA-256 hash. Even a full database leak would not expose usable tokens.
Rate limiting on every endpoint
Failed authentication attempts are throttled per IP. Match report and event endpoints are separately rate-limited to prevent abuse.
Duplicate detection
Each match carries a unique token from the MTGO log. The client skips already-sent matches locally; the server enforces uniqueness in the database.

Up and running in minutes

You need Windows 10 or 11. The Microsoft Store installs and updates it automatically.

Windows 10 / 11
Install straight from the Microsoft Store
Magic Online installed
Free mydeckstats.com account
1
Install from the Microsoft Store
Click Get it from Microsoft Store above, or open it directly at apps.microsoft.com. The Store installs it, adds a Start Menu shortcut, and keeps it updated automatically - no SmartScreen warnings, no manual download.
2
Get your API token
Go to your profile page (log in first) and scroll to MTGO Client Token. Click Generate token, copy it - it starts with mds_mtgo_.
3
Configure and sync
Open the client and fill in:
Client token The token from step 2
MTGO username Your exact Magic Online handle
Click Save settings - the client finds your MTGO folders on its own, no path to type in. It's already watching for matches from that point on and syncs each one automatically in the background; Resync now is only there for troubleshooting or re-checking recent matches by hand. Use Hide to tray to keep it running out of the way while you play.

Common questions

Yes, automatically - there's no toggle to turn it on, the client always watches for new matches while it's running. Click Hide to tray and it sits in the system tray, syncing each match as soon as MTGO writes the log - usually within seconds of the match ending.
No. Each MTGO match has a unique token in the game log. The client tracks which tokens it has already sent (stored locally in queue.json), and the server enforces uniqueness in the database. Running a second sync is always safe.
No. The server checks the match token in both the oneshot and the tournament match tables. If the match was moved, the server recognises the token and skips re-importing it.
Yes - click Resync now to re-check every match in your log folder within the sync window (3 days by default, capped there so a resync stays fast even during a live match). League grouping works best for matches played while the client was running.
Yes. On your machine it is encrypted with Windows DPAPI before being saved to disk - only your Windows user can decrypt it. In transit it travels over TLS 1.2+. On the server only a SHA-256 hash is stored, so a database breach would not expose your real token.
No. Magic Online itself is Windows-only. The client uses Windows Forms for its UI and Windows DPAPI for token encryption, both of which are Windows-specific.