Otto Data — Robinhood Chain is an MCP server with 39 tools an agent can call, among them agent_performance, agent_position_book, chain_deployments. It answers at https://api.ottodata.app/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.
Live Robinhood Chain tokenized-stock data: basis vs NASDAQ, gaps, pools, whale flows.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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 the last 20 closed trades. agent: gap-trader | Inputs: agent, days, mode |
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 price for unrealized P&L (bps and USD). Replaces Inputs: agent, mode |
chain_deployments | New contract deployments on Robinhood Chain (Ottoscan; full history since genesis). tokens_only=True returns only new token contracts. Inputs: limit, verified_only, tokens_only |
chain_stats | Robinhood Chain deployment statistics: daily deploy/token counts, top deployers, total contract/verified counts (Ottoscan analytics). Inputs: days |
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 activity. No key required. Fills are server-pric Inputs: limit |
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 agent or Otto's hosted gap/narrative engine) and Inputs: api_key |
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 price). api_key: the personal otto_pk_ key issued w Inputs: api_key, ticker, side, qty, reason |
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 sells `qty` tokens back to USDG. The server enfo Inputs: key, ticker, side, usd_amount, qty, reason |
flow_summary | Whale-flow summary per ticker: transfer count, total USD volume, mint/burn USD (supply change) and the largest transfer. Inputs: hours |
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 label — carry_long_spot_short_perp (hold Hood spot Inputs: min_abs_bps |
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 hit rate of pre-open gap direction vs open directi Inputs: min_abs_bps, days |
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 tickers) is deduplicated. Inputs: min_alpha |
hood_basis_history | Minute-level basis history for one ticker (newest first). Example tickers: NVDA, TSLA, SPY. limit max 5000. Inputs: ticker, limit |
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), overnight_bps (move vs last close) and the oracle_p |
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 status + live basis join. Earnings released whil Inputs: tickers, days_ahead |
hood_feeds | Registry of all tokenized stock and crypto feeds tracked on Robinhood Chain (Chainlink proxy + token contract addresses). |
hood_gap_sessions | Session-by-session gap history for one ticker (each overnight/weekend session is a separate row). Inputs: ticker, days |
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. |
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. Inputs: days |
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. |
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. |
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 and oracle_paused/stale flags. Use for sizing a Inputs: ticker |
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 — sector score (0-100), label (inflow|interest|n Inputs: tickers |
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 dates), financials (PE ttm/fwd, growth, margins, v Inputs: ticker |
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 attention signal, 24h whale-flow summary and recent tag Inputs: ticker |
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. importance 0-100. Inputs: symbols, event_type, min_importance, limit |
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 | avoid_or_fade = crowded trade | context = regime Inputs: min_alpha, hours |
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 liquidity_usd. Inputs: min_abs_bps |
partner_my_trades | Recent fills you've reported with partner_report_fill, most recent first. Inputs: api_key, limit |
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 partner it already approved. side: buy | sell. t Inputs: api_key, ticker, side, tx_hash, qty, price |
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 sees or holds your key and never submits anythi Inputs: api_key, sell_token, buy_token, sell_amount, taker, slippage_bps |
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 while the stock market does not — weekend/overnigh Inputs: ticker, venue, limit |
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 cross-venue opportunity or a stale-oracle signal. Inputs: min_abs_bps |
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 comma-separated (NVDA,TSLA). Inputs: tickers, signal_type, min_alpha, limit |
reddit_market_regime | Current market regime inferred from Reddit chatter (e.g. mag7_only_rally, risk_on_call_chase) + confidence + flags to watch. |
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 | position_closed | run_summary | error. agent: gap Inputs: key, kind, message, ticker, run_id, agent |
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: ok|degraded|down. |
stable_risk | Deviation of USDG and other stablecoins from $1 parity (depeg risk, bps). |
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/redemption). Inputs: ticker, min_usd, direction, hours, limit |
Every block below points at https://api.ottodata.app/mcp. Pick your client and copy.
claude mcp add --transport http otto-data-robinhood-chain https://api.ottodata.app/mcp
{
"mcpServers": {
"otto-data-robinhood-chain": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.ottodata.app/mcp"]
}
}
}{
"mcpServers": {
"otto-data-robinhood-chain": {
"url": "https://api.ottodata.app/mcp"
}
}
}{
"servers": {
"otto-data-robinhood-chain": {
"type": "http",
"url": "https://api.ottodata.app/mcp"
}
}
}{
"context_servers": {
"otto-data-robinhood-chain": {
"url": "https://api.ottodata.app/mcp"
}
}
}{
"mcpServers": {
"otto-data-robinhood-chain": {
"serverUrl": "https://api.ottodata.app/mcp"
}
}
}{
"mcpServers": {
"otto-data-robinhood-chain": {
"url": "https://api.ottodata.app/mcp"
}
}
}name: Otto Data — Robinhood Chain
version: 0.0.1
schema: v1
mcpServers:
- name: Otto Data — Robinhood Chain
type: streamable-http
url: https://api.ottodata.app/mcp{
"mcpServers": {
"otto-data-robinhood-chain": {
"httpUrl": "https://api.ottodata.app/mcp"
}
}
}{
"mcpServers": {
"otto-data-robinhood-chain": {
"type": "http",
"url": "https://api.ottodata.app/mcp"
}
}
}{
"mcpServers": {
"otto-data-robinhood-chain": {
"url": "https://api.ottodata.app/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapi.ottodata.app%2Fmcp&type=streamable_http&id=otto-data-robinhood-chain&name=Otto%20Data%20%E2%80%94%20Robinhood%20Chain
It answered our last check on 17 October 2026 in 643 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by ottodata.app and served from api.ottodata.app, the vendor's own domain: https://api.ottodata.app/mcp.
39, as returned by the server's own tools/list on 9 September 2026: agent_performance, agent_position_book, chain_deployments, chain_stats, competition_leaderboard, competition_my_portfolio, competition_paper_trade, execute_onchain_swap, and 31 more.
It answered our last check on 17 October 2026 in 643 ms. Over 10 checks since 4 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.ottodata.app/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: app.ottodata. Endpoint host: api.ottodata.app. ARD identifier: urn:air:app.ottodata:mcp:otto.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.