Otto Data — Robinhood Chain
mcp remote · streamable-http · v0.2.0 · source: crawl
https://api.ottodata.app/mcp
https://github.com/Degergokalp/otto-data
Live Robinhood Chain tokenized-stock data: basis vs NASDAQ, gaps, pools, whale flows.
Works
95
Verified Oct 31, 2026 · p50 796 ms · p95 1208 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'otto-data' |
| tools_listed | 15 | pass | 39 tools |
| schema_complete | 15 | pass | 38 of 39 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 796 ms |
| latency_p95 | 5 | pass | p95 1208 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | fail | broad tools: execute_onchain_swap |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (39)
| Name | Description | Schema |
|---|---|---|
market_events | Machine-readable news events (crypto + stocks). symbols is comma-separated (NVDA,BTC), event_type: listing|hack|regulation|earnings| etf|partnership|macro|liquidation|stablecoin|general. impor | typed |
token_flows | Large on-chain token transfers (whale flows): 32 stock tokens + USDG above the USD threshold. direction: mint|burn|transfer. Mints/burns show the tokenized stock supply changing (issuance/rede | typed |
flow_summary | Whale-flow summary per ticker: transfer count, total USD volume, mint/burn USD (supply change) and the largest transfer. | typed |
hood_ticker_brief | One-call brief for a single Hood ticker: live quote (price, basis, pool, risk flags), research card (rating/score/thesis/catalysts), earnings risk, sector rotation context, best Reddit attenti | typed |
agent_position_book | Server-side derived open position book for a trading agent: every order_filled event without a later matching position_closed on the same ticker counts as open, joined with the live Chainlink | typed |
agent_performance | Realized trading performance for an agent, derived from position_closed events: trade count, win rate, total/average P&L (bps), total P&L (USD), average holding hours, per-ticker breakdown and | typed |
hood_basis_snapshot | Current basis (premium/discount) snapshot for all Robinhood Chain tokenized stocks. Per ticker: chainlink_px (on-chain price), ref_last (NASDAQ), basis_bps (+ = token trades at a premium), ove | typed |
hood_basis_history | Minute-level basis history for one ticker (newest first). Example tickers: NVDA, TSLA, SPY. limit max 5000. | typed |
hood_gaps_summary | Overnight and weekend premium/discount statistics for all tickers: average, min/max and latest value (bps). Tokens trade 24/5, so this measures the drift that builds up while NASDAQ is closed. | typed |
hood_gaps_live | Live view of the current off-hours session: which tickers trade at the largest premium/discount vs their last close. Returns 'regular' when the stock market is open. | typed |
hood_gap_sessions | Session-by-session gap history for one ticker (each overnight/weekend session is a separate row). | typed |
hood_feeds | Registry of all tokenized stock and crypto feeds tracked on Robinhood Chain (Chainlink proxy + token contract addresses). | typed |
reddit_alpha_signals | Ticker alpha signals extracted from Reddit (novelty, mention velocity and cross-sub spread components). signal_type: ticker_alpha|crowded_trade| event_mispricing|squeeze_watch. tickers is comm | typed |
reddit_market_regime | Current market regime inferred from Reddit chatter (e.g. mag7_only_rally, risk_on_call_chase) + confidence + flags to watch. | typed |
hood_attention | Reddit attention/alpha score joined with live basis for Hood tokenized stocks: which tokens have social interest AND an on-chain premium/discount at the same time. Fan-out (same post, many tic | typed |
hood_pools | Tracked Uniswap (Hood) pools: pool price per token, liquidity (USD) and deviation vs the Chainlink oracle price (dev_bps). Refreshed every 5 min. | typed |
oracle_deviation | Chainlink-vs-Uniswap pool price deviation (bps, sorted by absolute value). status: ok (<100), warning (100-500), alert (>500). Large deviations are normal in low-liquidity pools — check liquid | typed |
stable_risk | Deviation of USDG and other stablecoins from $1 parity (depeg risk, bps). | typed |
hood_stock_research | Daily deep-research report: score (0-100), rating (strong_buy|buy|hold| avoid) and 4 analysis columns per Hood tokenized stock: thesis, dated catalysts (off_hours-flagged, verified earnings da | typed |
hood_off_hours_catalysts | Dated catalysts that can move token prices while NASDAQ is closed (nights/weekends) — flattened from all research cards, sorted by date. For agents watching overnight gap and weekend risk. | typed |
hood_earnings_risk | Earnings risk for Hood tokenized stocks (weekly earnings radar): per ticker report_date/time, days_to_earnings, implied_move_pct (option-implied expected move), beat_probability (0-100), PEAD | typed |
hood_sector_rotation | Sector rotation context for Hood tokenized stocks (API-only tracker refreshed every 3h): market regime (risk_on|risk_off|mixed), an 11-SPDR sector score/label/flow board and a per-ticker join | typed |
service_status | Trust status of the Otto data layer: per-feed freshness (age_sec/stale), 24h tick coverage, NASDAQ reference availability and oracle-pause count. Call before making trading decisions — status: | typed |
chain_stats | Robinhood Chain deployment statistics: daily deploy/token counts, top deployers, total contract/verified counts (Ottoscan analytics). | typed |
chain_deployments | New contract deployments on Robinhood Chain (Ottoscan; full history since genesis). tokens_only=True returns only new token contracts. | typed |
gap_trade_signals | Deterministic signals for the gap-trader strategy: per Hood ticker the overnight gap it currently carries (bps), a signal (long_at_open | avoid_or_reduce | none), 14-day gap statistics, the hi | typed |
perp_funding | Hourly funding rates on tokenized-stock perps (Arcus + Lighter). Without params: latest value per venue+ticker pair (funding_apr_pct = annualized %). With ticker: history. Tokens trade 24/7 wh | typed |
perp_spot_basis | Perp mark price vs Hood on-chain spot (Chainlink per-share + pool), deviation in bps per ticker. A large |perp_vs_chainlink_bps| means the perp and spot price the same stock differently — a cr | typed |
funding_carry_signals | Deterministic funding-carry candidates joining perp funding (Arcus/Lighter) with perp-vs-spot basis. Per ticker: funding rate + annualized funding_apr_pct, perp-vs-Chainlink gap (bps) and a la | typed |
narrative_trade_signals | Deterministic candidates for the narrative-trader strategy: per Hood ticker the highest-alpha Reddit signal (alpha_score, evidence, themes), a signal bias (long_candidate = rising attention | | typed |
hood_quote | Minimal fast quote for one Hood ticker: Chainlink price (token + per-share), NASDAQ references (ref_last, ref_prev_close), basis/overnight bps, the most liquid pool's price/liquidity/deviation | typed |
report_agent_status | Status report from a trading agent — the live panel on ottodata.app/agents renders this stream. kind: run_started | signals | order_proposed | order_approved | order_filled | order_skipped | | incomplete |
execute_onchain_swap | Execute a REAL on-chain swap on Robinhood Chain via the Rialto router, signed by Otto's server-side trading wallet. side=buy spends `usd_amount` USDG to buy the ticker's Hood token; side=sell | typed |
competition_paper_trade | Place a PAPER fill in Otto's trading competition on behalf of the key's owner. No real funds move — the fill is priced server-side at the latest Chainlink price (callers can never supply a pri | typed |
competition_my_portfolio | The competition paper portfolio behind an otto_pk_ key: cash, equity, return %, realized/unrealized P&L, open positions with live prices, recent trades (each tagged with its source: your MCP a | typed |
competition_leaderboard | Public leaderboard of Otto's paper trading competition: every participant ranked by return % on the shared $10,000 starting budget, with equity, P&L, open position count, trade count and last | typed |
partner_swap_quote | Get an UNSIGNED Rialto swap quote for an approved partner. YOU sign and broadcast the returned transaction yourself, with your own wallet's private key, on your own infrastructure — Otto never | typed |
partner_report_fill | Report a fill you already signed and broadcast yourself (via partner_swap_quote) so it appears in Otto's records. Otto does NOT verify the transaction on-chain in this version — it trusts the | typed |
partner_my_trades | Recent fills you've reported with partner_report_fill, most recent first. | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/app-ottodata-otto)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.