Skip to main content

policy · receipts · track record

Governed agentic trading

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.

Covenant 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.

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.

The receipt

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.

The record

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 solana mainnet

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 Solana mainnet, written by the Covenant 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

executed

inside every cap, allowed universe

tx 5jQ1Pt33…Tm93cR · record J1hxSfgU…dixXaX

Buy $1,200 of BTC

blocked

per-order cap exceeded (1200.00 > 500.00)

tx nTkBuP1t…gqLhPP · record 9W55tEUh…GWYBHU

Buy 1,000 DOGE

blocked

symbol DOGE-USD is not on the allow list

tx 5Cuy7pNy…BGLn4U · record 3MnEVtpb…uW7MsV

Buy $450 of BTC, over the approval line

blocked

approval required and not granted

tx 44DGtp58…B71fgw · record HF9ybagk…jLy6XC

run it · no keys, no account

The whole gate runs locally in dry-run with zero credentials, from the open-source crate:

git clone https://github.com/open-covenant/covenant -b feat/robinhood cd covenant/agent-os cargo run -p covenant-robinhood --example governed_demo

Live execution attaches your own API key on your own account, held in a signing sidecar the daemon never reads. Covenant is infrastructure you run, not a broker, adviser, or custodian, and it never holds funds.

us beta testers wanted

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@opencovenant.org or DM @OpenCovenant.

Covenant is not affiliated with, endorsed by, or sponsored by Robinhood Markets, Inc. Nothing here is investment advice. Agentic trading involves significant risk.