03Stack
Six layers. No proprietary middle.
Every layer is something you could already be running. Anaconda Hood is the wiring between them, and the rule that risk is checked before anything leaves the machine.
| # | Layer | Tool | Note |
|---|---|---|---|
| 01 | Research | Anaconda / conda, JupyterLab, pandas | The pinned env file is the unit of reproducibility. |
| 02 | Agents | Claude, Cursor, or custom Python via MCP | Any MCP-capable client. The agent is swappable. |
| 03 | Listed stocks | Robinhood agentic trading (official MCP) | Dedicated sub-account. Market hours. |
| 04 | On-chain stocks and crypto | Robinhood Chain (Arbitrum Orbit L2) | Stock Tokens, ERC-20s, swaps, lending. ETH gas. |
| 05 | Data | Your market data; public on-chain oracles | Bring your own feed. Nothing is resold. |
| 06 | Security | Env isolation, sub-account, spending limits | Separate keys per rail. Limits versioned with the strategy. |
Hard rule
No unofficial Robinhood password scrapers. Ever.
Libraries that log into a brokerage with a username, a password and an MFA code you hand over are not an integration. They violate terms of service, they break without warning, and they put full account credentials inside a process an LLM can reach.
Official MCP and official chain only. If an operation is not exposed through a supported interface, the agent does not do that operation.
07Boundaries
What the agent is never given.
- a
Your brokerage password
The broker rail authenticates through the official surface. Credentials are never present in the environment the agent runs in.
- b
A seed phrase prompt
There is no connect-your-seed-phrase flow. Use the official Robinhood Wallet or your own EVM wallet with an external signer.
- c
Your primary account
Broker activity is confined to a sub-account funded on purpose, with a balance you are willing to see go to zero.
- d
An unbounded budget
Per-order notional, daily loss and approval thresholds are set before the agent runs and enforced before anything routes.