An AI trading agent proposes orders for a managed account, whether a person asked in chat or a scheduled Loop runs them. The validator checks the orders against the account's mandate and limits before anything reaches the broker, and computes the figures the agent only claims. Designed for Robinhood's agent trading, and usable by any brokerage, exchange or firm that runs trading agents: Loops, optional trade approvals and state crypto rules reflect features of Robinhood Agents. Kestrel Capital is a fictional company, and these are not Robinhood's rules.
It covers buy and sell orders for stocks, ETFs and crypto that an AI agent proposes for a managed brokerage account, from chat or from a scheduled Loop run, in plans of up to three orders. It handles any order involving those instruments, not only the scenarios shown below. It was designed around Robinhood's agent trading, and the same checks apply to any company running trading agents, whether the agents are its own or its customers'. It does not cover options, margin, short selling or futures, and it does not place orders itself: it returns allow, needs approval or block with every finding.
Counts reported by the validator for this request. They are not checked against the statement.
| Failure mode | What an unconstrained agent tends to do | What this validator does instead |
|---|---|---|
| Limit prices | Types or copies a limit price far from the market and sends it. | Compares the limit with the reference price and blocks anything more than 3 percent away. |
| Concentration | Keeps adding to one holding until it dominates the account. | Computes the position after the order from the current holding and blocks above 25 percent of the account. |
| Stated figures | Reports a position, a cash balance or an order total from memory or a rough estimate. | Computes all three and blocks when the agent's figures differ. |
| Quantity slips | Enters a quantity with an extra digit or a decimal slip and describes the order as it meant it. | Prices the order itself, blocks it above the single-order limit, and blocks when the stated total differs from the computed value. |
| Loops | Runs on a schedule with only its own rule of thumb, so each run looks fine alone. | Keeps the day's running total against a daily budget across runs. |
| Mandate | Picks an instrument because it fits the idea, not because the account may hold it. | Checks the instrument's class against what the account is allowed to hold. |
| Approvals | Treats a human check as something it can skip when it is confident. | Holds orders above the sign-off line, and crypto orders where a state requires approval, for a person. |
Every check runs on every order in a plan, and all findings are reported in one pass.
| Group | Case | Verdict | On this page |
|---|---|---|---|
| Fat-finger limit price | Routine buy: 1,050 HLX, limit 80.50, 18.5 percent of the account after | Allow | shown |
| Fat-finger limit price | Fat-finger limit: 1,050 HLX with a limit of 90.00 against a reference of 80.00 | Block | shown |
| Concentration | Concentration: 8,000 PNR takes the position to 30.8 percent and the order is $340,000 | Block | |
| Concentration | Smaller order: 3,400 PNR, 22.7 percent after, $144,500 needs sign-off | Needs approval | |
| Mandate | Mandate: 1,000 LVX3, a leveraged ETF, in an account that does not allow leveraged products | Block | shown |
| Mandate | Index ETF instead: 540 SPRX, allowed instrument | Allow | |
| State crypto rule | NY account, crypto: 20,000 VLT ($96,000) needs approval under the state rule | Needs approval | |
| State crypto rule | TX account, same 20,000 VLT order: no state rule | Allow | |
| Loop budget | Loop run: 400 SPRX ($48,000) after $95,000 already spent today against a $120,000 daily budget | Block | |
| Loop budget | Loop run, smaller: 200 SPRX ($24,000), $119,000 for the day | Allow | |
| Cash | Not enough cash: 1,100 HLX ($88,000) with $60,000 on hand | Block | |
| Stated figures | Claim mismatch on cash: the agent states $200,000 left, the validator computes $316,000 | Block | |
| Velocity | Order velocity: 4 orders already in the last 10 minutes, one more would be the fifth | Block | |
| Multi-step plan | Clean rebalance: sell 1,000 PNR, buy 400 SPRX, both within policy | Allow | |
| Multi-step plan | Everything wrong at once: Loop run, 8,000 LVX3 at limit 90.00, little cash, 4 orders in the window | Block | |
| Boundaries | Boundary: every limit exactly at its edge (25.0 percent, $100,000, 3.0 percent, 4th order) | Allow | |
| Rebalancing basket | Sale-funded rebalance: sell 2,300 PNR, buy 1,250 HLX and 800 SPRX with $150,000 of cash | Block | shown |
| Rebalancing basket | Rebalance resized: sell 2,300 PNR, buy 900 HLX and 600 SPRX within cash on hand | Allow | shown |
| Loop basket, New York | NY Loop basket: 15,000 VLT, 300 AXN at limit 322.00, 700 SPRX, with 2 orders already in the window | Block | shown |
| Loop basket, New York | NY Loop basket, trimmed: 10,000 VLT and 160 AXN at limit 311.00, two orders in the window | Needs approval | shown |
| Inspired by real incidents | Inspired by a reported AI crypto agent error: 62,000 VLT ($297,600) instead of 62 VLT, with the agent stating about $300 | Block | shown |
| Inspired by real incidents | Inspired by a reported fat-finger rebalance: three sells each entered with an extra digit, $2.13 million instead of $213,000 | Block | shown |
22 cases were run on the live validator on October 4, 2026; 9 are shown. Each verdict and finding matched an independent calculation, and the findings on this page are the validator's own messages, with amounts reformatted for reading. The validator has 10 block checks and 2 approval checks. The limits are illustrative: they are not any broker's or customer's rules, no broker system was connected, and the symbols and prices are invented. Simulated run: the requests are test inputs for a fictional company.