Note
This is a BETA build. Features and UI are subject to change. I'm hoping to submit this to Decky shortly after I've had time to polish it to the fullest.
You can install the plugin manually via the ZIP file:
- Download the optideck-deckdeals-v1.1.1-beta.zip (or fork the repo and zip it yourself).
- Fork/build guide:
.github/FORK_AND_BUILD_ZIP.md
- Fork/build guide:
- On your Steam Deck, go to Decky Options.
- Enable Developer Mode (via the General tab).
- Go to the Developer Tab.
- Select Install Plugin from ZIP File and choose the downloaded file.
- Store Page Integration: Price information is injected directly into the Steam store page.
- Price Comparison: Displays current prices from Steam and ~30 supported alternative providers.
- Price History: Tracks historical lows and includes price trend graphs.
- Next Sale Prediction: Estimates upcoming sales using 5 years of historical price data (regardless of the displayed period).
- Currency Normalization: Uses daily exchange rates for price comparison across different store currencies.
- Regional Support: Compatible with all major Steam regions and localized currencies.
- Quick Links: Buttons for SteamDB and IsThereAnyDeal pages.
To provide accurate and up-to-date information, Deckdeals interacts with the following services:
| Service | Purpose | Data Sent |
|---|---|---|
Optideck API (api.optideck.gg) |
Fetches managed API keys for price and currency services. | Custom X-App-ID header for authentication |
IsThereAnyDeal (isthereanydeal.com) |
Retrieves current prices, historic lows, and graph data. | AppID, Country Code, Store IDs |
ExchangeRate-API (exchangerate-api.com) |
Fetches daily exchange rates for accurate price normalization. | Target Currency |
All requests are made locally from your Steam Deck using Decky's secure network layer. Your Steam account data, inventory, and personal information are never accessed or shared.
For security reviewers and advanced users, start with:
This document includes:
- File-by-file responsibilities.
- Settings persistence and privacy scope.
- Operational logging policy.
- External API response hardening and fail-closed behavior.
- Support for more store data providers.
- Additional languages and localizations.
- Wishlist page compatibility.
- Ability to customize and move the info box to different locations on the store page.
Contributions of translations and new additions are very welcome!
- Copy
src/l10n/template.ts→src/l10n/<lang>.ts(e.g.de.ts). - Fill in all translated strings in the template.
- Import your file in
src/l10n/index.tsand add it to thelocalesmap. - Submit a pull request.
Managed by Optideck & Draftdev (Author)
Special thanks to the ITAD API, ExchangeRate-API, and the original IsThereAnyDeal Decky Plugin by JtdeGraaf
