Why this exists

Traders review their performance from memory. The memory is unreliable, and it is unreliable in a flattering direction. The losses were bad luck, the wins were skill, and the pattern in between stays invisible.

The pattern is in the data. It has been there the whole time, sitting in on-chain history that is public, complete, and almost unreadable.

How it works

Connect an Injective wallet. OrderFlow pulls recent trades from Injective's live indexer, covering both spot and derivatives, then computes behavioural statistics across them. Size relative to plan. Performance by time of day. What happens after a loss. Limit orders against market orders. Which markets carry the edge.

Those statistics go to a language model, which writes a structured report pointing at specific findings with the numbers attached. Every row in the trade list links to Injective Explorer, so any claim in the report can be checked against the chain rather than taken on trust.

Why one chain

This started as a general idea and became an Injective product for reasons that are technical rather than sentimental. Injective's exchange module exposes spot and derivatives trading through a single unified indexer. On Ethereum the same analysis would mean reconciling trades across dozens of venues with no shared data layer. Injective's order book is fully on-chain, so limit orders, market orders, and fills are all indexed and verifiable, which is what makes a statement like your limit orders outperform your market orders a claim about real behaviour rather than an impression.

Comparative analysis needs comparable data. Three hundred trades from one chain where every order is visible is worth more than a thin slice from five.

The decision that shaped the product

Sending the model statistics instead of trades.

The straightforward build hands raw trade data to the model and asks for insight. The output is fluent, plausible, and generic, because the model is doing arithmetic in its head over data it cannot reliably count.

Pre-computing the statistics in code and passing those along changes what the model is for. It stops calculating and starts interpreting, and the finding it reports is one that code already established. A win rate on limit orders against market entries is a computed number, not a generated impression.

What it does not do

It reviews the past. It does not predict, signal, or recommend a trade, and it makes no claim about future performance. Coverage is Injective only. This is a founder-built project rather than a trading service, and nothing it produces is financial advice.

People will read a report like this as an instruction anyway. That is worth saying out loud rather than discovering later.

What to take from this

If you are putting AI in front of data, decide whether the model's job is to count or to interpret, and make it do only one. Models are good at the second and unreliable at the first. Every number in an AI feature should come from code that can be checked.