TweetStream measures detection time from the timestamp X gives a post to the moment a TweetStream server first receives it. Each post counts once. The speed report publishes p25, p50, and p95 over rolling 24-hour and seven-day windows and refreshes hourly. The figure leaves out your network, your own code, and order execution.
detection time = first TweetStream server receipt - X post timestamp
What TweetStream's detection time measures
The clock starts at X's own timestamp, so the figure includes X's processing time as well as ours. Compare it only with figures that start at the same point.
What the detection figure leaves out
The figure stops at the first TweetStream server receipt, so it leaves out:
- The WebSocket hop from TweetStream to your host
- Your own parsing, classification, and strategy time
- Exchange acknowledgement and fill time
- Context that arrives in a later update to the same post, such as OCR text, token detection, and prices
Which X posts are counted
The all-account figures count X posts only. Truth Social posts are not included.
They cover every account in a TweetStream customer watchlist and count each post once, at its earliest valid receipt. Detection times above 10 minutes, or below zero, are left out.
Rolling windows and percentiles
The report covers the last 24 hours and the last seven days, both ending when the report was generated, and it refreshes hourly. The seven-day p50 is the headline median on the report.
p25, p50, and p95 are the times by which 25%, 50%, and 95% of posts were detected. Lower is faster. The p95 shows the slow tail that a median hides.
All-account percentiles are withheld when a window has fewer than 20 posts. When the latest data is more than 2 hours old, the report shows as unavailable and no stored figure replaces it.
How the ten-account table is chosen
The table lists up to ten accounts. @elonmusk is always shown when he posted at least 20 times in the last seven days. The rest are the accounts our customers watch most that had at least 20 posts in seven days and a median under 170 ms over both the last seven days and the last 24 hours.
Because the table keeps only accounts under that cutoff, its rows are not typical of every account. The all-account cards at the top of the report give the overall figure.
How the 30-day speed tables on topic pages work
Some topic pages show a 30-day speed table for a fixed list of accounts. The first is on the Polymarket and Kalshi alerts page.
- TweetStream picks the list for the topic. On the prediction markets page it is @Polymarket, @Kalshi, @DeItaone, @WhiteHouse, and @realDonaldTrump. The list is not chosen by speed or by customer demand.
- Each account is matched by its X user ID. Truth Social posts are never counted, including posts from a Truth Social account with the same handle.
- The window is the 30 days before the snapshot, in UTC. The snapshot refreshes daily and the table shows its dates.
- An account appears only when it has at least 50 posts in the window.
- The table shows each account's median detection time and the share of its posts detected in under 250 ms, with its post count under its name.
- The clock is the same as on the speed report. If the snapshot is missing or more than 48 hours old, the table is hidden.
Ultra Speed's lead is not in these figures
The detection figures stop when a TweetStream server first receives a post. From there, Ultra Speed sends eligible X posts from your selected accounts up to 50 ms ahead of standard delivery. That lead is not part of the detection percentiles.
Download the raw speed data
The same report is available as JSON and CSV. Each row carries its window, sample count, percentiles, and the measurement boundary, so you can check the figures or chart them yourself.
How to test the same watchlist
Measure on your own accounts and host to get the figure your strategy will see.
- Start a trial with your watchlistUse the accounts you trade on. The trial covers 3 days, 5 tracked accounts, and 1 WebSocket.
- Connect from your own hostRun the client on the machine where your strategy will run, so the network path matches production.
- Log arrival timesRecord when each post reaches your client next to the post's X timestamp.
- Compare percentilesAfter a few days, work out your own p50 and p95 and set them beside the report for the same accounts. Then add your parsing, decision, and order times to see the full path from post to trade.
Measure receipt time in your client · Twitter-to-trade latency guide
Comparing detection speed across vendors
Vendors start and stop the clock at different points. Some stop it when their own server receives a post; others stop it when the alert reaches a client. Two numbers are comparable only when they cover the same span, and a single best result can't be compared with a median.