The policy
Per-order and daily caps, an allow/deny universe, permitted sides and order types, rate limits, a daily-loss stop, and a human-approval threshold. Enforced before the order is sent, not observed after.
commits 3,735
live tests 486
crates 50
committed 0e9b873
up —
Brokerages are opening to AI agents. Robinhood now lets any MCP agent read a portfolio and place real orders, and its safety model is a funded sub-account, a notification feed, and a disconnect button. There is no per-trade cap, no symbol allowlist, no daily-loss stop, and no audit a third party can check. The only limit on a looping agent is the account balance.
Grant is the layer that governs the order before it leaves. A policy the operator writes is enforced ahead of the venue, every decision, placed or refused, becomes a signed receipt anchored onchain, and the receipt history compounds into a track record an agent can prove to anyone.
Per-order and daily caps, an allow/deny universe, permitted sides and order types, rate limits, a daily-loss stop, and a human-approval threshold. Enforced before the order is sent, not observed after.
Every decision is signed ed25519 over a canonical hash and anchored onchain, refusals included. Change one field and verification fails. An activity feed inside a broker app can't do that.
Receipts roll up into mandate adherence and activity: how often the gate had to refuse the agent, and what it actually did. A track record that travels between venues and can't be self-asserted.
The policy an operator writes
{
"venue": "robinhood-crypto",
"mode": "dry_run",
"caps": { "per_order_usd": 500, "daily_notional_usd": 2000 },
"risk": { "daily_loss_stop_usd": 300 },
"universe": { "allow": ["BTC-USD", "ETH-USD"], "sides": ["buy"] },
"order_types": ["market"],
"rate": { "max_orders_per_min": 10 },
"approvals": { "require_human_over_usd": 400 }
}Live decisions, anchored on Robinhood Chain
The same agent asked for four trades under the policy above. One executed, three were refused, and all four decisions are anchored as verifiable records on Robinhood Chain, written by the Grant attestation authority. The venue leg runs dry-run, no brokerage account attached; the policy, the signatures, and the anchors are real.
Buy $60 of BTC, within policy
inside every cap, allowed universe
Buy $1,200 of BTC
per-order cap exceeded (1200.00 > 500.00)
Buy 1,000 DOGE
symbol DOGE-USD is not on the allow list
Buy $450 of BTC, over the approval line
approval required and not granted
The whole gate runs locally in dry-run with zero credentials, from the open-source crate:
git clone https://github.com/grant/grant -b feat/robinhood cd grant/agent-os cargo run -p grant-robinhood --example governed_demo
Live execution attaches your own API key on your own account, held in a signing sidecar the daemon never reads. Grant is infrastructure you run, not a broker, adviser, or custodian, and it never holds funds.
We're extending the same gate to Robinhood's hosted agentic MCP, and that beta is US-only. If you're trading with an agent on it, we're looking for five testers to run the proxy and help pin down the connect flow. Write contact@grant.org or DM @grant.
Grant is not affiliated with, endorsed by, or sponsored by Robinhood Markets, Inc. Nothing here is investment advice. Agentic trading involves significant risk.