recently shipped.
We ship constantly. This page is the receipt — every meaningful change in plain language, newest first. If you want the raw engineering log, that lives in git.
- featureSocial-share preview cards for every page
When someone shares a tellmarket.app link on Twitter / Slack / iMessage, the preview now renders a branded card with the page's headline — not the bare URL.
- page/security — public security disclosure page
What we use Stripe / Supabase / HTTPS / signed webhooks for. What we don't have yet (SOC 2, bug bounty). How to report a vulnerability. The kind of page investors and security-curious customers actually want to see.
- page/.well-known/security.txt + /humans.txt
RFC 9116 vulnerability-disclosure pointer plus the humansTXT credits file. Tiny signals that a real team works here.
- opsIngestion memory bumped 512 MB → 1 GB
The bot was OOM-killed twice overnight after yesterday's matcher upgrades added headroom pressure. Doubled the budget; ~$2/month more on Fly. No more kernel kills, snapshots flowing continuously.
- featureDaily-digest email
If any arbs cleared the gates in the previous 24h, every confirmed subscriber gets a single digest email at 8am ET. One per day per subscriber, deduped at the database. Doesn't fire when there's nothing to report.
- featureMatcher now runs TWO independent LLM passes
A 0.92+ similarity match used to activate as soon as gpt-4o-mini said "same." Now it gets a second opinion from gpt-5-mini and both verdicts are stored for audit. Until we trust the agreement rate, every new pair still queues for human review.
- fixSelf-heal for transient network blips
Cloudflare HTTP/2 stream terminations used to stall the ingestion loop indefinitely — required a manual restart. The loop now detects connection-class errors and rebuilds the database client inline.
- page/learn/the-math — fee derivation page
Exact Kalshi + Polymarket fee formulas with a worked numerical example. Matches the constants the scanner actually uses. Linked from /faq and the /learn hub.
- featurePro hero tile on /arbs
When a live arb exists, Pro users now see the best-current opportunity in a prominent featured card above the row list — with both exchange CTAs and a stake-size slippage estimator inline.
- featureColor-graded size badge on /arbs rows
Green ≥ $500 capturable, amber ≥ $50, gray below. Glanceable signal for which arbs are worth a real position vs a token one.
- featureSlippage estimator on the market detail card
Enter a stake; see the profit that survives at that size. Capped honestly at the depth resting at best quotes (we don't pretend the edge scales infinitely past the visible book).
- fixWeb users can finally delete their account
The /account delete endpoint used to accept only an iOS-style Bearer token; web sessions are cookie-based, so web users couldn't trigger the delete. Now accepts either. GDPR/CCPA matter regardless of platform.
- fixDNS-resolved SSRF guard on Pro webhooks
When a Pro user configures a Slack/Discord webhook URL, we now resolve its hostname and refuse to call it if it points at a private/loopback/cloud-metadata address. Closes a class of attack common against new SaaS.
- fixStripe webhook hardening
Webhook processing is now insert-first (one delivery wins the race, others see duplicate). The billing-portal session URL is bucketed every 15 minutes so re-opening the portal hours later doesn't hand the user a stale link.
- fixThe Polymarket parse bug — fixed
We'd been treating Polymarket's best bid/ask as the FIRST entry in their CLOB book; it's actually the LAST. Every Polymarket leg looked like a 98¢-spread illiquid book and our liquidity gate rejected everything. Fixing this surfaced the first real cross-exchange arb the scanner has ever caught.
- fixAccount deletion cancels the Stripe subscription first
Used to delete the account row and orphan the subscription — card kept getting billed with nothing left to reconcile. Now we cancel first; abort the delete if Stripe errors so we never strand a paying customer.
- pagetellmarket.app launched
Web-only launch. Stripe live at $29/month or $199/year. Email alerts via Resend. iOS app paused until we hit $1k MRR.