About / How it works
Deterministic legality. Honest judgment. Nothing blended.
What the engine does
You describe a trade in plain English. The engine compiles it against the 2023 CBA — salary matching bands, the aprons and their restriction matrix, hard-cap triggers, roster limits, pick rules, recently-signed waiting periods, minimum-salary mechanics — and returns a verdict with the exact rule that decided it. When a trade fails, it proposes fixes and lets you apply them. Every rule it implements is written down in a public rulebook with the CBA article it comes from; if a rule can't be evaluated from the data on file, the verdict says cannot evaluate instead of guessing.
Free vs. the GM
- Legality checks and suggested fixes are always free, with no daily limit, signed in or not. So are the rosters and cap sheets for all 30 teams, your tray, share links and the printable memo.
- Talking to the GM — the front-office read on a trade, what a fix costs a team — spends one of your daily chats (5 a day signed out, 5 signed in). The GM is an AI; its opinions are labeled judgment and never change a verdict. The legality answer always comes from the engine.
Where the data comes from
- Contracts: a paid league-data feed pulled daily, plus a bootstrap salary set from public cap sites, all pinned by date so every verdict can say which pull it used.
- Cross-checks: two independent roster sources are compared against the ledger every day. They can flag a disagreement; they are never allowed to write to the ledger on their own.
- Corrections: when the feed is wrong — a stale row, a player on the wrong team, a contract the feed hasn't caught up on, the wrong person's name on a contract — a human rules on it, and the ruling is written into a correction file with its sources, the exact row it changes, and the date. Those files are the correction record: nothing in the data changes silently, and every change can be traced back to who decided it and why.
How much to trust a number
Every fact carries a tier, and the app shows it rather than hiding it:
- Verified, official — from the league or a team's own release.
- Verified by a person — someone checked it against at least one primary source and put their name on it. Machines can't mint this tier.
- Verified by multiple sources — two or more independent reports agree (a machine can land this tier only inside strict rails).
- Reported — a credible report, not yet confirmed. Shown as such.
- Disputed / stale / unknown — sources disagree, the number is old, or we simply don't have it. The verdict says so.
Trust is per field: a source can be right about a player's team and wrong about his money, so each fact is judged on its own.
Who builds it
Trade Engine is built by one person, a fan, with an AI pair-programmer — not a media company, not a team. The rules, the data decisions and the mistakes are all on the record. If you spot a wrong row, every roster and verdict has a small flag to report it; it goes straight to the review queue and never costs a chat.
Check a trade
Terms in the verdicts you don't know? The glossary has each one in a sentence.