Capability brief · Independent · Not affiliated with Robinhood

An AI-native chain, read by no agents: Robinhood's public surface, measured.

Six findings. Every one reproducible by anyone with curl: exact command, exact HTTP status, exact observation. Baseline credited first; the ask is at the end, and it is small.

Method. Passive recon only: plain HTTP GETs of public pages and standard well-known paths (llms.txt, ai.txt, robots.txt, /.well-known/*), with a nonsense-path control to tell true 404/absence from a soft response. No auth, no fuzzing, no endpoint enumeration, no wall routed around. Captured 2026-07-14, re-verified 2026-08-10 (all six findings still hold; security.txt now 28 days expired, up from 2). Marketing facts cite public URLs; reported figures are labeled as reported.

Baseline, credited first

Robinhood's public surface is clean and its ambition is real. robots.txt is open and honest (200, a small Disallow set, sitemap declared). security.txt exists and points to a managed HackerOne program, and most consumer brands ship nothing. And Robinhood Chain is genuinely forward: its own page frames it as "a permissionless, AI-native Layer 2 blockchain built for financial services and real-world assets," where "AI agents can trade, swap, lend, and transact with tokenized real-world assets onchain" (robinhood.com/us/en/chain/). The findings below are not "Robinhood is behind": they are "the AI-native chain you shipped has no AI-legible front door yet, and one file it does ship is stale."

The bottom line, in plain English

No jargon. Robinhood's surface is clean and Robinhood Chain's ambition is real; these fixes are about making the AI-native chain actually legible to the agents it's built for. Here's what each is worth.

A real agent manifest at the well-known path → agents get JSON they can act on, not an HTML page.

Your .well-known/agent-card.json returns a 200 with the web app shell, telling an agent "here's your answer" then handing it something it can't parse, worse than a clean 404, on the exact door an AI-native chain invites agents to knock on.

An llms.txt (and ai.txt) → AI assistants answer "how do I trade on Robinhood" from your words, not third parties'.

Both files are confirmed absent today, so the narrative an assistant gives a customer about trading on Robinhood is written by whoever else wrote about you.

A fresh security.txt → your trust artifact reads current to the diligence agents that check it.

Your security.txt is real but expired two days before capture, and RFC 9116 says an expired file "should not be used": a one-line rotation keeps a regulated broker's disclosure signal live.

A machine index of what agents can do on the chain → the "AI-native" promise becomes true, not just prose.

Your chain page tells agents they can trade, swap, and lend, but no llms.txt, agent card, or tool schema tells them which assets or how: the invitation is written, the RSVP address is missing.

Finding 1 · the headline

The agent well-knowns return 200, but HTML, not a manifest

Whererobinhood.com/.well-known/agent-card.json, /.well-known/ai-plugin.json, /.well-known/x402
StatusHTTP 200 · content-type: text/html · content-length: 8084 (all three identical) · server: envoy
# each returns the same 8,084-byte SPA app shell, not JSON curl -sI https://robinhood.com/.well-known/agent-card.json | grep -i 'content-type\|content-length' curl -s https://robinhood.com/.well-known/agent-card.json | head -c 120
content-type: text/html; charset=utf-8 content-length: 8084 <!DOCTYPE html> <!-- 📦 2026.29.536+4237695e7cbe in production ... -->

An AI agent that requests agent-card.json to learn what Robinhood offers receives a 200 OK with an HTML page, the same web app shell served for any unknown path in that namespace. It is not a real A2A agent card (a file that lets other AI agents discover and call you); there is no ai-plugin.json; there is no x402 manifest (the standard AI agents use to discover how to pay per call).

Why it matters to Robinhood: a soft-200 is worse than a clean 404. A 404 tells an agent "not here, move on." A 200-with-HTML tells it "here is your answer," and hands it a web page it cannot parse. For a chain whose own marketing says agents will transact with your assets, the front door they knock on answers in the wrong language and pretends it didn't.

Finding 2

No llms.txt and no ai.txt: confirmed absent, not merely blocked

Whererobinhood.com/llms.txt · /ai.txt
StatusHTTP 403 · application/xml · <Error><Code>AccessDenied</Code></Error> · server: AmazonS3
# control: a nonsense .txt returns the SAME 403 AccessDenied curl -s -o /dev/null -w '%{http_code}\n' https://robinhood.com/llms.txt curl -s -o /dev/null -w '%{http_code}\n' https://robinhood.com/this-is-a-nonsense-control-xyz123.txt
403 (llms.txt) 403 (nonsense control, identical AccessDenied)

The 403 AccessDenied is Amazon S3's response for a key that does not exist behind a bucket with listing denied, proven by the nonsense-control path returning the identical body. By contrast robots.txt and security.txt return real 200s because those objects do exist. So this is a confirmed absence, not a WAF block: Robinhood publishes no llms.txt and no ai.txt for the AI assistants already summarizing "how do I trade tokenized stocks on Robinhood."

Why it matters: when an assistant answers a customer's question about Robinhood, it reads whatever structured index the site offers. Right now that index is empty: the narrative is written by third parties, not by Robinhood.

Finding 3

The security.txt is real, and expired two days before capture

Whererobinhood.com/.well-known/security.txt
StatusHTTP 200 · text/plain · 267 B · Expires: 2026-07-12T11:59:00.000Z
curl -s https://robinhood.com/.well-known/security.txt
Contact: https://hackerone.com/robinhood Expires: 2026-07-12T11:59:00.000Z <-- past (captured 2026-07-14) Acknowledgments: https://hackerone.com/robinhood/thanks Canonical: https://robinhood.com/.well-known/security.txt Policy: https://hackerone.com/robinhood

The file is well-formed and points at a managed program, genuinely good practice. But RFC 9116 §2.5.5 says an Expires in the past means the file "should not be used" by researchers. As captured, Robinhood's is two days stale. A one-line rotation fixes it; the point is it is a self-documenting freshness signal that has lapsed.

Why it matters: for a regulated broker, the security disclosure file is a trust artifact automated scanners and researchers check. An expired date is the machine-readable equivalent of a lobby sign with last week's date: small, but exactly the kind of thing an AI diligence agent flags.

Finding 4

The look-alike domain is a parked listing, not Robinhood, named so nobody confuses them

Whererobinhoodchain.com (a separate domain from robinhood.com)
StatusHTTP 200, but every path redirects to /lander; its llms.txt is a GoDaddy for-sale notice
curl -s https://robinhoodchain.com/llms.txt | head -c 140
# robinhoodchain.com > robinhoodchain.com is a domain name currently listed for sale on GoDaddy's aftermarket. It is available via Buy-It-Now, Make-an-Offer...

We checked whether Robinhood Chain had its own agent-legible docs domain. robinhoodchain.com resolves and even serves an llms.txt, but it is a parked domain for sale on GoDaddy, not Robinhood's. Robinhood Chain's real surface lives under robinhood.com/us/en/chain/, which has no llms.txt (404). We name this only to be precise and to avoid an overclaim.

Why it matters: a for-sale look-alike carrying an AI-readable llms.txt is a brand-legibility gap. When Robinhood publishes its own canonical agent index, the authoritative source is unambiguous and the parked look-alike loses its only content advantage.

Finding 5

The AI-native chain markets to agents but exposes no machine index of what they can do

Whererobinhood.com/us/en/chain/ (rendered page) vs. its machine surface
ObservedProse says agents "trade, swap, lend, and transact"; no llms.txt, no agent card, no tool schema exposes those capabilities in a callable form

The chain page is explicit: "AI agents can trade, swap, lend, and transact with tokenized real-world assets onchain." That is a capability promise addressed to agents. But there is no structured artifact: no llms.txt, no A2A card that returns JSON, no MCP (the protocol that lets an AI assistant call your tools) tool list, that tells an agent which assets, which actions, and how to reach them. The invitation is in human prose; the RSVP address is missing.

Why it matters: "AI-native" is a machine-legibility claim. The fastest, lowest-risk way to make it true is the same pattern Coinbase already ships for its own developer docs (a real llms.txt + a JSON agent card): Robinhood's Arbitrum-Orbit peer stack makes this a config change, not a rebuild.

Finding 6 · the opportunity

Tokenized stock exists. Tokenized work does not, and it's the better-documented RWA

Robinhood's Stock Tokens give economic exposure to NVIDIA/Apple/Google without conferring legal ownership: a synthetic wrapper around an off-chain reference price. A proof-verified work packet is the opposite shape: the underlying event happens in the physical world and writes its own provenance on-chain. Scope + funding escrow → claim → photo + GPS + method-signed proof → approval → settlement → (where ecological) a tCO2e retirement receipt. Nothing references an external ticker; the asset is its own audit trail.

EcoWealth runs this today directly on Robinhood Chain itself, not just an adjacent L2: EWP contract 0x5cB9ae…1a9F on Robinhood mainnet (source-verified, unpaused, first packet settled 2026-07-15), plus the original on Base mainnet 0x76c17C…A14B (source-verified; first settled packet workId 14), a live board of 39,718 postings / ~$7.02M posted value as of 2026-08-10 (vealth.net/labor/stats), and standard x402 endpoints at vealth.net/.well-known/x402.

Why it matters to Robinhood: your brand promise is democratizing access to owning the market. The adjacent, unclaimed asset class is democratizing access to doing the work, and it is a cleaner RWA than a synthetic equity because it is self-documenting. An AI-native, RWA-first chain is the natural home for it.

The ask

Proof first, then one small step tied to Robinhood Chain's own stated purpose. Pocket change at your scale; the deliverable is an on-chain receipt you verify yourself.

Fund one packet. Back a single Restore packet in a Robinhood-community geography ~$10 → receive the on-chain settlement receipt, the first tokenized real-world work asset next to your Stock Tokens.
Make one machine payment. Point one AI agent at our live endpoint for a single standard x402 call $0.10 USDC on Base → read the machine-signed proof it returns.
Index one live loop. List EcoWealth's real-world-work loop as a reference AI-native RWA builder in Robinhood Chain's ecosystem, no changes to Robinhood systems to point at it.
← Back to the cover
Provisioned by EcoWealth · Digital Provisioning Protocol · provenance‑sealed