Free · Windows · Self-installing .exe
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.
You'll need a free MyDeckStats account to download - log in or sign up first.
MyDeckStats MTGO Client
Site URL
https://mydeckstats.com
Client Token
••••••••••••••••••
MTGO Username
YourMtgoHandle
Sync now
Auto-detect paths
✓ Syncing 3 match files…
→ Modern League · Round 3 · Win 2-1
→ Modern League · Round 4 · Loss 0-2
✓ All matches sent. 2 new, 1 skipped.
Last sync: just now
Run into a bug, a match that didn't sync right, or anything else off?
Let us know
- it helps a lot.
How it works
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.
Coverage
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.
Security
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.
Setup
Up and running in minutes
You need Windows 10 or 11. PowerShell is built in - no software to install.
Windows 10 / 11
Just double-click, nothing to install first
Magic Online installed
Free mydeckstats.com account
1
Download and run
Click Download Client above and save
MyDeckStats.MtgoClient.exe
anywhere - your Desktop or Downloads works fine. Double-click it. That's it -
no installer, no PowerShell, nothing to unzip.
2
If Windows shows a blue "protected your PC" screen
This is normal for a new app that isn't (yet) signed with a paid code-signing certificate - it's
Windows SmartScreen being cautious about a file it hasn't seen many downloads of, not a sign of
anything wrong. Click More info, then Run anyway. You'll only see
this on the very first launch.
On first run the app quietly installs itself to your user profile, adds a Start Menu shortcut, and
launches - no console window, no admin prompt.
3
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_.
4
Configure and sync
Fill in:
Site URL
https://mydeckstats.com
Client token
The token from step 3
MTGO username
Your exact Magic Online handle
Then click Auto-detect paths → Save → Sync now.
Enable Watch for new matches and use Hide to tray to keep it running while you play.
FAQ
Common questions
Yes. Enable Watch for new matches and click Hide to tray. The client sits in the system tray and syncs each match automatically 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 Sync now to import all matches in your log folder within the configured sync window. MTGO keeps logs locally for a while, so you can typically recover several recent weeks. 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.
The .exe isn't signed with a paid code-signing certificate, so both SmartScreen and some antivirus engines are more cautious about it purely because it's a new, low-download-count file - not because of anything it actually does.
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.