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.

The basics

How trading works

01

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.

02

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.

03

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.

04

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 safety net

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.

It is direction-aware

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.

Choosing your input

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.

recommendedPay in USDG

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.

can be thinPay in ETH

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.

When something won’t go through

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.
One-time setup

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.

Network nameRobinhood Chain
RPC URLhttps://rpc.mainnet.chain.robinhood.com
Chain ID4663 (hex 0x1237)
Currency symbolETH
Block explorerhttps://robinhoodchain.blockscout.com

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.

Where fills come from

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.

1inch

Primary — in-app swaps for every listed token. Exact-in only.

0x

Fallback for ETH↔USDG only (0x legally gates the RWA tokens).

Arcus

Real, but spot is an off-chain RFQ book — StockFlow deep-links out to it.

Lighter · Rialto · Morpho · VEX

Not verifiable on-chain at build time — honestly not integrated.

Agentic — hands-off, on your terms

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.

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

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

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

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

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

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

DCA

Buy a fixed amount on a schedule — “$100 of SPY every day.” Steady, unattended accumulation.

Trigger

Act when the oracle crosses your line — “buy $200 of NVDA if it drops below $180.”

Allocation

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.

Open Agents
Powering the agentic layer

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

$SFLOW contract · Robinhood Chain · chain 4663
0xd7240df2c5C60Fa62277328F44b00125f485DA02
View on explorer ↗

Pinned byte-exact and verified on-chain (symbol SFLOW). Any SFLOW at another address is a counterfeit — always confirm this contract before you interact.

Run autonomous agentsaccess

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.

Fees fund buybacksvalue

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.

A market for strategiesroadmap

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.

Govern the guardgovernance

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.

Stock Tokens provide economic exposure only — not legal or beneficial ownership. Subject to jurisdictional restrictions. High risk. Nothing here is investment advice.