TradeFrame is a desktop-first analytics tool for Warframe Prime collectors. It helps you understand what you own, what you are missing, what you can safely trade, and which parts you explicitly choose to publish. It can also generate Warframe chat-ready copy chunks so you can quickly share the parts you want to buy or sell without manually formatting long lists.
TradeFrame is an independent fan-made tool and is not affiliated with Digital Extremes, Warframe, Overwolf, or AlecaFrame.
TradeFrame is read-only toward AlecaFrame. It reads AlecaFrame's local data cache and stores its own analytics data in a local SQLite database.
TradeFrame v2.0 is a local Windows app that runs from the source folder. A packaged installer is planned later.
Before installing TradeFrame, install:
- Git
- Python 3.12 or newer
- Node.js LTS with npm
- AlecaFrame, with at least one successful Warframe data sync
Clone TradeFrame:
cd %USERPROFILE%\Desktop
git clone https://github.com/YBahjatt/TradeFrame.git
cd TradeFrameInstall backend dependencies:
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
deactivate
cd ..Install frontend dependencies:
cd frontend
npm.cmd install
cd ..Then start TradeFrame:
.\Start TradeFrame.batNo MySQL setup is required. TradeFrame creates its local SQLite database automatically.
Use the launcher:
.\Start TradeFrame.batThe launcher starts the backend and frontend on stable local ports, preferring:
- Backend:
http://127.0.0.1:8000 - Frontend:
http://127.0.0.1:5173
If either port is already busy, the launcher chooses the next available port and prints the actual TradeFrame URL.
TradeFrame stores local app data in data/tradeframe.sqlite3. This file contains personal inventory and trade data and is intentionally ignored by Git.
On first run, TradeFrame tries to detect AlecaFrame's data directory automatically. This is not the folder where AlecaFrame is installed. It is the user data folder that contains AlecaFrame's local files, including lastData.dat.
The Settings page shows whether the configured AlecaFrame data directory contains the data TradeFrame needs.
backend/: FastAPI, SQLAlchemy, SQLite, Aleca adapter, services, repositories, tests.frontend/: React, TypeScript, Vite, TailwindCSS, TanStack Table, Plotly.database/: legacy/import database notes and SQL assets.docs/: design notes and future roadmap.
Data flow:
AlecaFrame user data
lastData.dat + cached data
-> read-only Aleca adapter
-> TradeFrame SQLite cache
-> FastAPI service layer
-> React UI
Backend:
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000 --reloadFrontend:
cd frontend
npm.cmd install
npm.cmd run devOpen http://127.0.0.1:5173.
- WF chat-ready copy chunks for quickly sharing buy or sell part lists. TradeFrame splits long lists into chat-safe messages so you can move from analysis to actual Warframe trading without manually formatting every part.
- Dashboard with collection status, trading position, and portfolio history.
- Prime inventory, missing, tradable, published, market matches, strategic assets, and trade history views.
- Read-only Warframe Market lead matching that finds users who sell parts you need and buy parts you can spare, with cached background scanning and chat-ready trade messages.
- Published List controls for explicitly choosing which tradable parts may be shared later.
- Settings for pricing display, value calculations, copy-message limits, and AlecaFrame data location.
- Read-only AlecaFrame adapter boundary.
Version 2.0 adds the Market Matches workflow. TradeFrame can now read public Warframe Market orders, look for users who are selling parts you currently need, check whether those same users have buy orders for parts you can safely spare, and show those mutual leads in a dedicated Market Matches tab.
Market Matches is read-only. TradeFrame does not post orders to Warframe Market, does not automate messages, and does not send your missing list anywhere. It uses your local missing/tradable calculations, caches discovered public leads locally, refreshes data in the background, and generates short Warframe chat whisper text that you can copy manually.
Version 2.0 also improves nested Prime build handling for items such as Akbronco, Aklex, and Akmagnus, so child Prime parts are reserved when they are needed for an unbuilt nested requirement instead of being treated as freely tradable.
- P2P Published List exchange.
- Optional clan catalogue.
- Packaged desktop executable.
These modules can attach at the service layer without changing the Aleca adapter or UI contracts.