Documentation
How StockFlow works.
A self-custodial terminal for the 25 canonical Robinhood Chain Stock Tokens. You trade from your own wallet; every fill is checked against a live Chainlink oracle before you sign. This is the short manual — the concepts, the setup, and fixes for the snags you might hit.
How trading works
Find a ticker
Search by ticker, company, or sector — press ⌘K (or /) anywhere. Only the 25 canonical Robinhood Chain listings resolve; a matching ticker at any other address is a counterfeit and is refused.
Size the order
Buy in USD (paid in ETH or USDG) or in shares; sell in shares. Orders are exact-in — you set exactly what goes in, and the venue quotes what comes out. MAX uses your raw on-chain balance, gas-reserved.
Read the receipt
The route, the estimated fill price, the live oracle price, and the signed deviation are all shown before you commit. The verification card stamps the fill pass or refused.
Sign once
Only a guarded, firm quote reaches your wallet. Selling a token (or buying with USDG) needs a one-time router approval first. Confirmation is read back from the chain itself, never an explorer.
The oracle guard
The guard is the whole point of StockFlow. Before any fill reaches your wallet, its implied price is compared to the token’s live Chainlink oracle, and the signed deviation is shown — pass or fail. It runs twice: on the live preview, and again on the firm calldata right before you sign.
deviation = (effective fill price − Chainlink price) ÷ Chainlink price. A buy is refused only when the fill is more than +3% above the oracle — i.e. overpaying. A buy that fills below the oracle passes: you’re getting a good price, not a bad one. A sell is refused only when the fill is more than 3% below the oracle. USDG is assumed to be $1.00 — the chain has no USDG/USD feed, and that assumption is stated on every order slip.
The guard fails closed: no live oracle, or a feed stale beyond four days, means no trade at all. It reduces execution risk; it cannot eliminate it. The full model is on the security page.
Paying in ETH vs USDG
It matters more than you’d expect. On Robinhood Chain, stock tokens have deep pools against USDG, but not against ETH — so how you pay decides which route your order takes.
Buys the token directly — usually a single hop through Uniswap v4, priced within about 1% of the oracle, and it fills reliably at any size. If you plan to trade, hold a little USDG.
There’s no direct ETH→token pool, so the order routes ETH→USDG→token. That ETH↔USDG leg is thin right now and can misprice or fail to fill — especially on small orders, which is when you’ll see “cannot estimate.” Great for gas; less reliable for buying.
Rule of thumb: keep ETH for gas, and hold USDG for buying. If you only have ETH, convert a larger chunk to USDG once (small ETH→USDG swaps are the least reliable), then trade from USDG.
Troubleshooting
Not enough ETH- What you see
- Your wallet shows plenty of ETH, but the buy button says there isn’t enough.
- Why
- StockFlow reads your balance on Robinhood Chain specifically — not your wallet’s combined “all networks” total. ETH sitting on Ethereum, Arbitrum, or anywhere else can’t be spent here.
- Fix
- Move some ETH onto Robinhood Chain (chain 4663). The trade also keeps a small ETH reserve (~0.002) back for gas, so keep a little headroom above the order size.
cannot estimate- What you see
- The quote previews fine, but clicking buy fails with “cannot estimate.”
- Why
- That’s the venue’s own words: it built the real swap, simulated it on-chain, and the transaction reverted — the route can’t actually fill. It’s almost always thin liquidity on the ETH→token path, worst on small orders, not a problem with your wallet.
- Fix
- Pay in USDG instead of ETH — it takes a shorter, deeper route (see below). Failing that, try a larger size or a higher slippage tolerance. The guard re-checks the firm quote before you sign, so retrying is safe.
Refused · guard- What you see
- The verification card is red and the trade is blocked before signing.
- Why
- The fill priced more than 3% away from the Chainlink oracle in the unsafe direction — overpaying on a buy, or underselling on a sell. Five listed tokens (COIN, CRCL, CRWV, BABA, USAR) trade in dust pools that quote 6–11× the oracle; the guard is why they can stay listed.
- Fix
- Nothing to fix — this is the guard doing its job. Wait for the venue price to converge back toward the oracle, or trade a deeper-liquidity listing.
Market closed- What you see
- Prices are labelled “last close” and refusals are more frequent.
- Why
- Chainlink’s equity feeds follow market hours (24/5) and freeze over weekends and holidays, while the on-chain pools keep trading — which is exactly when fills drift from the frozen oracle.
- Fix
- The guard stays enforced through the close, so expect more refusals until the market reopens. Feeds quiet for more than four days pause trading on that listing entirely.
Feed pending- What you see
- A listing (currently BE, CUSO) shows a price of “—” and can’t be traded.
- Why
- No live Chainlink feed exists for it yet. No oracle means no guard, and no guard means no trade — by design.
- Fix
- Nothing to do; it becomes tradable automatically once its feed goes live.
Add the chain to your wallet
Robinhood Wallet and MetaMask both work through the injected provider. Connect and StockFlow offers to add the network for you; to add it by hand, use these exact values.
Gas is paid in ETH. The explorer is for inspection only — StockFlow never reads balances or confirmations from it, always from the chain’s own RPC.
Execution venues
Robinhood Chain is full of counterfeit tokens and fake routers. StockFlow executes only through venues verified on-chain, and names the rest honestly.
Primary — in-app swaps for every listed token. Exact-in only.
Fallback for ETH↔USDG only (0x legally gates the RWA tokens).
Real, but spot is an off-chain RFQ book — StockFlow deep-links out to it.
Not verifiable on-chain at build time — honestly not integrated.
How agents work
An agent is a strategy you describe in plain English that StockFlow compiles into a deterministic rule set, then runs against the live oracle for you. It’s agentic where it matters — it watches and decides on its own, around the clock — and deliberately conservative where it counts: it can’t move a cent without your signature. Here’s the exact pipeline.
- 01
You describe it
Write the strategy in plain English — a recurring buy, a price trigger, or a target allocation. Templates get you started; nothing here needs code.
- 02
It compiles to fixed rules
A deterministic grammar — not a language model — turns your sentence into an exact rule set. The same words always compile to the same agent, and you see the compiled rules before you deploy. No black box, no sampling, no surprises.
- 03
It watches, around the clock
Once deployed, the agent re-evaluates on every Chainlink oracle update — against live prices and your live wallet balances — and decides whether its condition is met.
- 04
It proposes — never acts alone
When a condition fires, the agent raises a proposal and runs four hard checks: within your per-trade cap, within your daily budget, market open, and the oracle fresh. Fail any one and it’s blocked — logged, never executed.
- 05
You approve; the guard re-checks
Nothing moves until you sign. At execution the oracle guard re-runs on the firm quote — at the agent’s own guard %, which can only be tighter than ±3% — so a bad fill is refused even after you’ve approved.
- 06
Everything is logged
Every proposal, execution, refusal, and block lands in an audit trail in your browser — exportable as JSON, and never sent to a server.
Three kinds of agent
Buy a fixed amount on a schedule — “$100 of SPY every day.” Steady, unattended accumulation.
Act when the oracle crosses your line — “buy $200 of NVDA if it drops below $180.”
Hold target weights and rebalance on drift — “60% NVDA / 40% SPY, rebalance past 5%.”
Deterministic — the same sentence always compiles the same rules, so it’s auditable and there’s no model in the money path. Self-custodial — propose-then-sign; it never holds your keys. Local-first — your agents and their audit log live in your browser, never on a server. And funded in USDG by default — the route that reliably fills on this chain.
$SFLOW
$SFLOW exists to do one job well: unlock and capture value from the agentic layer. It is never required to trade — core self-custodial trading stays permissionless — and it’s designed so its value tracks real platform usage (fees and agent activity), not emissions or promises.
Pinned byte-exact and verified on-chain (symbol SFLOW). Any SFLOW at another address is a counterfeit — always confirm this contract before you interact.
Manual trading and browser-run agents stay free. Staking $SFLOW unlocks the agentic tier — always-on hosted agents that keep working with your tab closed, more agents at once, higher per-trade and daily limits, and advanced strategies. More stake, more capacity.
StockFlow takes a small execution fee on agent-routed trades. A fixed share of net fees continuously buys $SFLOW back and rewards stakers — so it’s backed by real usage, not inflation. Pay fees in $SFLOW for a discount.
Because agents are deterministic and auditable, you can publish one and others subscribe — paid in $SFLOW, creators earning a share, the protocol’s cut feeding the buyback. Provable strategies become tradeable products.
Holders vote on the parameters that define the product: oracle-guard defaults, fee and buyback rates, which canonical listings to support, and treasury use.
Items marked roadmap — hosted always-on execution (a StockFlow server running agents with session-key delegation, in build) and the strategy marketplace — aren’t live yet; today’s agents run in your browser. A fee-linked token can carry regulatory weight depending on your jurisdiction; $SFLOW is a utility and access token, not an investment, and nothing here is financial advice.
Stock Tokens provide economic exposure only — not legal or beneficial ownership — and are subject to jurisdictional restrictions, including unavailability in the United States. StockFlow is an interface, not a broker or custodian. Quotes come from third-party venues and can fail or move. Verify the canonical registry yourself at docs.robinhood.com. Nothing here is investment advice.