
Your agent can read every post about an asset. It still cannot see who publicly took a position in it, at what price, with the post attached.

Centaur · Research
September 3, 2026 · 9 min read

You are building a trading agent. It can already pull prices, read the news, watch wallets onchain and score sentiment on any token you name. So can everyone else's, and the venues have made the rest straightforward: OKX open-sourced an MCP trading toolkit in March and Binance shipped an Agent OS and MCP server on 20 August, so an authorised agent can place orders on the largest venue in crypto.
Data is priced for machines too, with CoinMarketCap selling its MCP tools at a hundredth of a dollar per call. Execution is close to solved. What your agent knows before it acts is the part that still separates one from another.
Here is something it probably cannot see today. What a named trader with a public track record is holding right now, in every market they trade, with the post that announced it attached.
A post carries a view whether or not the author acted on it. Most of the time they did not, or at least did not say so. Over the ninety days to 2 September, 1,510,937 messages from the accounts we track produced 21,587 trade events. One in seventy. The other sixty-nine are chart commentary, replies, market takes and jokes, and a sentiment model reads all of them as input, because a view is all it is looking for.
A trade event is narrower and heavier. It carries a direction, the price at the moment the post went out, a timestamp, and what the trader did next. Across that window, adds and trims trace back to the trader's own message 100% of the time and opens 78.9% of the time, so when the record says someone increased a position, they said so in public.
That is the distinction worth paying for. Not bullish or bearish, but whether anyone put anything behind it.
Ask an agent why it acted and it will give you a reason. Research on chain-of-thought explanations found they can systematically misrepresent what actually drove a prediction, with models rationalising answers they were steered toward and never mentioning the steer. A plausible explanation raises trust without earning it, and that becomes your problem the moment a user can see the output.
So take an actual post. At 04:28 UTC on 1 September, @dannycheng2022, an X account with 88,000 followers, published a monthly chart of $IWM, the Russell 2000 tracker, with one line under it: "The long term uptrend remains intact." One call returns that as a long opened on the Russell 2000 at 293.93, timestamped to the minute, with the handle, the post text and the link to the original in the same response.
Your agent does not have to be taken on faith. It can show its work, and the reader can click through and disagree with the reading.
Each event also declares whether the action was read from the trader's own words or inferred from how the position moved, so an agent can filter before it speaks instead of presenting both with the same confidence.
Everyone building in this category scraped the same timeline. Three things about this record are not on that shelf.
It has no price. A thousand X followers with a seven-day refill guarantee sells for $2.29, and the panels selling them price the decay openly. There is no rate card for a multi-year record of public calls scored against the price at the minute each one was made, because the only way to have one is to have been watching at the time.
Nobody signed up. These traders have no relationship with us. They did not register, they are not ranked in exchange for anything, and their behaviour is not shaped by being measured.
That also decides which markets you get, since positions opened by tracked X accounts run 73.5% non-crypto. The record follows a person into equities, indices and commodities rather than stopping at one venue's instrument list.
It does not survive being collected late. Posts get deleted, and the ones that disappear skew toward the calls that went wrong. Captured at the time, they stay in the record, which is the gap this whole product exists to close. None of it can be done retroactively.
On 2 September the tracked book held 1,249 open positions across 385 assets. Bitcoin carried 84 traders, 64 long against 20 short. The S&P 500 carried 23, split 15 long against 8 short. PUMP carried 18, every one of them long.
Those are three different states, and a single sentiment score renders them identically. An agent holding the book can also see behaviour that no price feed and no sentiment score reports at all.
Between 4 and 9 August, five tracked traders posted seven adds on Nebius, the later ones at prices roughly 17% below the first two. Two of them said what they were doing in plain words. @ren_stocks, adding at 195: "I am shopping here. I will add more if we go lower."
@MilkRoadAI, adding at 189.91: "Market was bleeding, but Milk Road PRO was buying." Adds are the most reliable class in the record, traceable to the trader's own message 100% of the time. Whether they were right is a separate question, and the record answers that too, at whatever horizon you choose.
Access is one URL. The server is MCP-native with thirteen read-only tools, OAuth handles the connection, API keys are self-serve, and the full specification is public before you commit to anything.
Past returns will not pick your traders for you. We ran the obvious test on our own data. Rank every trader with at least eight scored positions in the first half of the window, then look at the same traders in the second half. The selection period separated the top and bottom halves by more than two and a half points of median return.
Almost none of it carried: the rank correlation between the two periods is 0.074 across a hundred traders, and selecting on win rate instead gives the same answer.
That is consistent with the published work on exchange leaderboards, and it is why the product refuses predictive reads rather than shipping a ranking you have to trust. What the record gives you is the instrument to run that test yourself, on your own cohort and your own horizon.
The clock is faster than most products assume. Among closes traceable to a trader's own post, the median position lasted 14.9 hours, a quarter closed inside the first hour, and 59.1% inside a day. An agent polling on a four-hour cycle misses most of the event it is polling for.
There are no position sizes. Direction, entry price and timing are there. Notional, weight and allocation are not, and cannot be inferred. The positions endpoints serve a rolling ninety days, and best or worst trades without a defined sample, and who to fade, are refused as well.
And if you already read these channels, this adds less. If your pipeline already ingests the same public announcement accounts and already treats an announcement as a signal, the new-signal discovery here is small. A sophisticated team tested exactly that and found a handful of net-new signals across eight weeks.
What they were shopping for was not what this is. What it is, is the structure: a per-trader history you can score, attribute and query in one call.
This is a record of what people posted and how it scored against market prices. It describes behaviour and recommends nothing.
Nothing here needs a sales call. The read surface is self-serve.
https://partners.centaur.io/mcp. Sign in when the browser prompts you and approve the read scopes. Your client registers itself, so there is no config file to edit and no key to paste. If you would rather use REST, API keys are self-serve in the app under Settings.list_feed with a limit of five and summarise what comes back. If you get handles, assets, directions and links to the original posts, you are connected.Everything is read-only, so there is nothing to authorise that could place a trade. The endpoint documentation covers REST and MCP with setup guides per client, there is a public skill if you want the guided version, and What's Actually in the Centaur API walks the endpoints one by one.
An agent reading posts is working from what people said. An agent reading positions is working from what they did, with the post attached as proof. Start at partners.centaur.io/docs, or talk to us about volume terms if you are building at scale.