How we count what traders do
TechMalak watches one exchange, Hyperliquid, through its public trade feed. This page explains exactly what we collect, how we turn it into the numbers on /news, and what we will not claim. When our method changes, the change goes in the changelog at the bottom with its date.
What we collect
- Every public trade on every Hyperliquid perpetual market, as it happens: the coin, the time, the price, the size, which side the taker was on, and the two wallet addresses involved.
- From this we keep counts and totals only: trades, buy and sell volume per coin per hour, and how many different wallets traded.
- Wallet addresses are kept for 35 days, so we can count distinct wallets, and are then deleted. Addresses never appear on any public page. The hourly counts are kept for good: they hold no addresses.
- We do not see who a wallet belongs to, whether a trade opened or closed a position, or anything about TechMalak users. This data is public market data only, and it is never mixed with your own account.
The numbers on /news, and what each one means
- Taker buy share.
- Of all the trading in a period, the share where the person who started the trade was buying at the asking price. It describes order flow. It does not say who is long or short.
- Buy vs sell pressure, hour by hour.
- Taker buys and taker sells per UTC hour, by number of trades or by dollar volume, and the difference between them.
- Chase flow.
- Taker volume that went the same way as a price move of 1 % or more over the 30 minutes before the trade: buying after a rise, or selling after a fall. The price 30 minutes earlier is the last trade price in the 5-minute window that contains that moment, reaching back at most 30 more minutes if that window had no trade. A trade can open or close a position, so chase flow describes order flow, not motives, and it is not advice.
- Active wallets.
- Different addresses that traded in the last 24 hours. One person can hold several addresses, so we say “wallets”, never “traders” or “people”.
- “Tracking N wallets since …”
- Different addresses seen since we started collecting, up to the last 30 days. Until we have 30 days of data, we say the real start date instead.
The rules we hold ourselves to
- Twenty wallets or nothing.
- A figure is shown only when at least 20 different wallets made it up. A coin or an hour with fewer, or with an unknown number, is shown as “not shown”, never as zero.
- We never round up.
- “73,000+” means at least 73,000.
- We say the real window.
- A “last 24 hours” figure is only called that when all 24 hours are counted. Otherwise we say how many hours it covers.
- Missing is not zero.
- An hour we did not count is drawn as “not shown”. The current hour is left out until it is complete.
- Descriptions, not predictions.
- Nothing on these pages is a forecast or trading advice.
How complete our data is
- Every hour records how long our connection to Hyperliquid was actually open and receiving, and whether any of that hour’s data failed to save.
- Every time our collector loses its connection or restarts, we record when, for how long, and how much we recovered. After a short drop, Hyperliquid re-sends its most recent trades for each coin; we keep the ones we had not seen and never count a trade twice (each has a unique id).
- Once a day we check ourselves against Hyperliquid’s own count of trades for the 30 most active coins, and record the share we captured. If it falls below 99 %, or if we ever count more trades than Hyperliquid reports, it is flagged on our internal monitoring.
What we will not claim
- That these numbers describe all crypto traders. They describe Hyperliquid only.
- That a wallet is a person, or that a buy opened a position.
- Any figure from fewer than 20 wallets.
- Anything about TechMalak users. Your own data is never part of these numbers.
Changelog
Dates are UTC. Method labels in brackets are the ones stored with the data, so a change is never applied silently.
- Collection begins: every public Hyperliquid trade, counted per wallet and per day.[bench-1.0.0]
- Hourly series begins (02:00 UTC): buy and sell flow per coin per hour.[bench-1.0.0]
- Chase flow is computed for every trade as it happens. Hours that started under the earlier method carry both labels.[crowd-1.1.0]
- Hourly counts are kept permanently (they were going to be deleted after 35 days). Addresses still are.
- “Last 24 hours” trade counts now say how many hours they actually cover.
- From 20:20 UTC: completeness recorded for every hour and day; connection gaps logged; short gaps recovered from Hyperliquid’s re-sent trades; daily capture check against Hyperliquid’s own trade counts.[capture-1.0.0]
- An hour is marked “partly measured” only when a restart or a connection gap may have cut off the earlier price a trade needed (we could not show that nothing was missed). Before, every reconnect marked the next 65 minutes, even when the reconnect gave back everything. Hours that started under the earlier rule carry both labels.[crowd-1.2.0]
