Weekly Margin Log #5 - Polymarket Fee Transparency, Market Search, and Transaction History
This week: fee breakdowns before you open a position, market search with infinite scroll, full breakdown of transaction history, and early auto-close notification infrastructure. Plus what broke with tweet source activation on new markets.
The theme this week: making what's already live more accurate, more transparent, and less dependent on manual intervention to stay running.
What Shipped
Fee breakdown before you open

The position preview now shows the full cost breakdown before you commit: Polymarket execution fee, Ultramarkets platform fee, and estimated performance fee on profits - plus total open cost as a single number. This matters more for leveraged positions where fees compound against a larger notional. You should know what you're paying before the order hits the book, not after you close.

Weekly rewards made viewable in portfolio
Rewards are now displayed in USDC in the portfolio view, starting with weekly rewards that we distribute based on polymarket builder rewards. Transaction history also expanded to cover more event types - deposits, rewards, fee settlements - so the full ledger is visible in one place without cross-referencing different systems and dashboards.
Market search
Search modal is live in the app. Type part of a market name, get results with infinite scroll. Built to handle the navigation problem that emerged as we crossed 20 active markets simultaneously - scrolling through the home feed to find a specific bracket wasn't working. The backend search endpoint supports substring matching on market names and event slugs, and surfaces results for Genesis Points tracking.
Dynamic range bracket accuracy
We also made a fix that materially tighten how tweet counts work. Tweets now require a 5-minute maturity window before being counted toward a bracket. This prevents a newly-posted tweet from inflating a count if it's deleted within seconds - something that was measurable in the Elon markets over the past two weeks.
We also enforced 4PM UTC as the daily reset boundary and patched a double-counting edge case at that boundary. If you've been trading the bracket markets, counts are cleaner than they were last week. For context on how we decide what accuracy bar a market needs to clear before it's listable with leverage, the market listing framework article is worth reading.
Early auto-close notifications
Warning infrastructure is built. Traders will receive advance notice before a market enters auto-close, delivered in batches rather than individual pings per position.
What Broke
Tweet source activation on new dynamic markets
Markets created after a backend deploy in the second week of this window were not having their Twitter tracking rules activated correctly. The activation payload was malformed - correct market ID, wrong field structure. Result: live tweet count showed 0 for new dynamic markets until ops triggered the rule manually. This has now been fixed and affected markets had their sources reactivated and counts reconciled from ingestion logs.
What's Next
Coming Soon - Limit order support to make your trading experience better on Ultramarkets.
Comments ()