TradeOnyx caps the Free tier at 500 stored trades. Pro and Pro Plus run up to 100 000 — effectively unlimited for retail use. The cap is enforced server-side at every write path: CSV upload, broker auto-sync, manual single-trade insert. Hitting the wall returns a friendly 422 with the numbers, but a 422 mid-import is a worse moment to learn about a paywall than a quiet warning a few weeks earlier.
The trade-limit chip is that earlier warning. It polls usage every 60 s and renders only when it has a story to tell:
- < 80 % used — hidden. No nag.
- 80–95 % — amber pill, copy `412 / 500 trades · go Pro for unlimited →`.
- 95–100 % — red pill, copy `490 / 500 trades — Pro removes the cap →`.
- ≥ 100 % (defensive) — red pill, `Trade limit reached. Upgrade to Pro →`. The backend gate fires first in practice; the chip degrades gracefully if anything ever sneaks past.
Click → `/upgrade?from=trade-limit`. Pro / Pro Plus traders almost never see the chip (their cap is 100 000).
- Two thresholds, no progress bar — early UX experiments showed a continuous gauge invites "how much room is left?" doom-scrolling. A chip that appears at 80 % and changes color at 95 % is louder when it matters and silent when it doesn't.
- Demo-trades count toward the cap. If you loaded the sample portfolio (Academy → Demo data), those rows occupy slots. Click the *Clear demo* button on the persistent banner before importing your real history if you're tight on space.
- One-time imports vs. ongoing sync. A 480-trade history snapshot from a CSV pushes you into the red zone in one click. A daily auto-sync slowly walks you toward 80 % over weeks — that's the case the chip is built for. Either way, the chip is reachable in one click from anywhere on the dashboard.
- Why a paywall on storage volume? Compute and pattern-detector caches scale with row count. Free has to be sustainable; the cap is the line where your usage costs us less than the brand value of having you on the platform. Pro is where serious traders live and where storage stops being the gating constraint.
Two scenarios:
1. "I'm two months in, the chip just turned amber." That's the chip doing its job. You've been auto-syncing fills for weeks and crossed 400 trades. You have a few weeks of headroom before the red threshold; either upgrade now while it's not urgent or plan to evaluate Pro before your next big sync.
2. "I'm about to do a 600-trade CSV import." Better to know now: a Free-tier account doesn't have room. The Pro upgrade is the cleanest path; if you'd rather stay on Free for now, the alternative is to split the CSV by date and only import the last ~500 (oldest trades stay out of TradeOnyx — your broker still has them).
What the chip is *not*: it's not a hard error. The actual import-blocking error message lives in the import dialog with the exact numbers and a one-click upgrade CTA. The chip is the soft heads-up so the import-dialog 422 is never the moment you first hear about the cap.