What it does
/trade_veto lets a commissioner kill a trade that's either still pending league vote OR that already auto-approved but hasn't been processed yet. Use it for clearly broken trades — collusion, cap-busting roster dumps, or anything else that needs to be unwound before it lands.
Administrator or commish role required.
How to use
/trade_veto trade:<trade #> [reason:<text>]
trade— the numeric trade ID from the trade embed (visible on every trade in the trade channel).reason— optional free-text note. Posted to the audit log and shown to the trade participants.
Examples
/trade_veto trade:147— veto trade #147 with no reason note./trade_veto trade:147 reason:Collusion — both teams under cap & both wanted to lose— veto with an audit-log reason.
Notes
- A vetoed trade is rolled back atomically: rosters go back to their pre-trade state, draft picks revert, any XP tied to the trade is refunded.
- The trade embed flips to a "VETOED" badge with the commish's name and reason.
- An entry is written to the commish audit log automatically.
- Cannot veto a trade that's already been processed in-game and confirmed via Madden export — at that point the rosters live on EA's side and the bot can't reverse them.
Common questions
Q: A trade I vetoed still shows in /trade pending.
A: Refresh the embed (use the dashboard's trade page) — the veto writes synchronously but the kiosk message updates on the next render. Usually within 10 seconds.
Q: Can I un-veto?
A: No. If a veto was a mistake, the participants must re-submit the trade fresh via /trade send.