The obvious question after watching an AI place a day’s worth of trades from a file is whether TradeDM is trading your account.
It is not, and the interesting part is how it is not. The answer is not a policy or a checkbox in your settings. It is an endpoint that does not exist.
The line
TradeDM is a publication. We write down what our models call, before the market opens, for everyone at once, and then we score it in public. That is a different legal animal from a firm that manages your money, and the difference is not cosmetic — publications get to publish precisely because they are not advising you personally, sizing your positions, or touching your account.
The temptation, once you have built signals people like, is to help a little more. Place the order for them. Size it for them. Just this once, for the ones who ask nicely. Every step down that road is a step out of being a publication and into being something that requires a very different kind of license.
So we drew the line in the only place it stays drawn: in the code.
What that looks like
The Client API — the read-only interface your own AI assistant uses — has six
endpoints. They tell you who you are, what today’s board says, how your groupings are
arranged, how past calls scored, and how models have performed. Every one of them rejects
anything that is not a GET.
There is no order endpoint. Not disabled, not permission-gated, not hidden behind a flag we could flip on a Friday afternoon. Absent. There is nothing in that API to place a trade with, which means there is nothing to misconfigure, nothing to leak, and nothing for a future version of me to quietly re-enable because a customer asked.
The same instinct shows up in the embargo. Signals publish at 9:25 AM ET, and you can ask the API for any date you like. You cannot get an unreleased one — not because a check runs and refuses you, but because the query that fetches signals requires a release timestamp to exist at all. An early poller sees an empty board. Never a partial one, never a pre-release one. The rule is not enforced; it is structural.
That distinction matters more than it sounds. A rule can be forgotten, mis-scoped, or removed by whoever edits the file next year. A capability that was never built cannot be any of those things.
The published skill draws the same line
The agent skill we put on GitHub is read-only and touches no broker. Its own description says so, in the part the AI reads before it does anything: TradeDM publishes signals; it never places, sizes, or times orders.
That sentence is not there for you. It is there for your assistant — so that when you ask it to do something we do not do, it already knows.
What this costs, honestly
It means we cannot do the convenient thing. We cannot place a trade for you when you are travelling. We cannot fix an order your agent got wrong. We cannot see your positions, so we cannot warn you about them. If your assistant misreads a board and buys something strange, that happened between you, your agent and your broker, and we will not even know.
Some of that is genuinely worse for you, and pretending otherwise would be silly.
What you get in exchange is that the thing you are reading is a publication rather than a sales channel for a brokerage. Nobody here earns anything from your trading volume. There is no order flow. The only thing we are optimizing is whether the calls hold up, because the scoreboard is the entire product and it is public.
So: your keys, your broker, your instruction
When an assistant trades a card, it is using your broker credentials, on your instruction, in your session. We are one of the read-only sources it consulted along the way — the same role a price feed plays, with the same distance from your account.
That is the whole arrangement, and it is the reason the previous post could exist at all.