MCP server that gives coding agents typed 0xArchive market data tools across Hyperliquid (perps, HIP-3, HIP-4, spot) and Lighter.xyz
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_paused flag.
ArgumentsA call is made on an account: it counts against an allowance and the publisher sees it, which is why this one asks who you are first.
What it does
Live Robinhood Chain tokenized-stock data: basis vs NASDAQ, gaps, pools, whale flows.
Quickstart
# 1 — install (mcprush login holds a key from your dashboard)
npx mcprush@latest add otto-data-robinhood-chain-mcp
# 2 — ask your agent something
> Live Robinhood Chain tokenized-stock data: basis vs NASDAQ, gaps, pools, whale flows.
Otto Data — Robinhood Chain is free: there is no plan to choose, no cap to set and nothing that can bill you.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine — this server runs on the publisher’s own infrastructure behind our gateway, and what you install is the connection to it.
This is a public server: you run it yourself and this marketplace is not in the path. Claude Code registers it in one command.
claude mcp add --transport http otto-data-robinhood-chain-mcp https://api.ottodata.app/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing at the gateway. The server itself runs on the publisher’s own infrastructure, so nothing from this listing executes on your machine.
39 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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_paused flag.
Takes no parameters.
Minute-level basis history for one ticker (newest first). Example tickers: NVDA, TSLA, SPY. limit max 5000.
Takes no parameters.
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.
Takes no parameters.
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.
Takes no parameters.
Session-by-session gap history for one ticker (each overnight/weekend session is a separate row).
Takes no parameters.
Registry of all tokenized stock and crypto feeds tracked on Robinhood Chain (Chainlink proxy + token contract addresses).
Takes no parameters.
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).
Takes no parameters.
Current market regime inferred from Reddit chatter (e.g. mag7_only_rally, risk_on_call_chase) + confidence + flags to watch.
Takes no parameters.
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.
Takes no parameters.
Tracked Uniswap (Hood) pools: pool price per token, liquidity (USD) and deviation vs the Chainlink oracle price (dev_bps). Refreshed every 5 min.
Takes no parameters.
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.
Takes no parameters.
Deviation of USDG and other stablecoins from $1 parity (depeg risk, bps).
Takes no parameters.
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.
Takes no parameters.
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).
Takes no parameters.
Whale-flow summary per ticker: transfer count, total USD volume, mint/burn USD (supply change) and the largest transfer.
Takes no parameters.
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, valuation_label: expensive|fair|discount|n_a), competitors (peers + positioning) and news_summary ([+]/[=]/[-] tagged). The api_data field ca
Takes no parameters.
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.
Takes no parameters.
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 while NASDAQ is closed make the token gap — watch small days_to_earnings for off-hours risk management. tickers: CSV filter (empty = full Hood u
Takes no parameters.
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|neutral|outflow_leaning|outflow), flow trend, theme matches + live basis. Answers where money is rotating and whether your token's sector is
Takes no parameters.
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.
Takes no parameters.
Robinhood Chain deployment statistics: daily deploy/token counts, top deployers, total contract/verified counts (Ottoscan analytics).
Takes no parameters.
New contract deployments on Robinhood Chain (Ottoscan; full history since genesis). tokens_only=True returns only new token contracts.
Takes no parameters.
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 direction (hit_rate_14d) and risk flags (oracle_paused, stale, low_liquidity, earnings_within_48h). Signals are NOT orders — sizing and approval be
Takes no parameters.
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/overnight funding is the price of that mismatch.
Takes no parameters.
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. Fields are null for markets without a Hood spot.
Takes no parameters.
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, short the perp, collect positive funding), carry_short_spot_long_perp (inverse) or no_carry — plus the standard risk flags. min_abs_bps fi
Takes no parameters.
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 info), live Chainlink price, basis and risk flags. The `reason` field is the Reddit summary — carry it into status reports and the chart as
Takes no parameters.
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 and fill pricing instead of pulling the full 32-ticker snapshot.
Takes no parameters.
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 tagged news. Replaces 6-7 separate tool calls when an agent researches one ticker. Missing upstream sources fail-soft: the field is null.
Takes no parameters.
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 rebuilding the book from raw agent events. agent: gap-trader | narrative-trader. mode: '' (all) | paper | live | onchain — filter positions
Takes no parameters.
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 | narrative-trader. mode: '' (all) | paper | live | onchain — filter trades by execution mode.
Takes no parameters.
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-trader | narrative-trader. key: the operator's OTTO_AGENT_KEY value (wrong keys are rejected). Call at every runbook step; keep message sho
Takes no parameters.
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 enforces hard guardrails independently of the caller: USDG<->allowlisted-token pairs only, per-trade and daily USD caps, and a slippage cap. On
Takes no parameters.
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 when the wallet joined at ottodata.app/competition. side: buy | sell. qty: token quantity (shares). Include a short `reason` — it shows up in
Takes no parameters.
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 the entry's strategy prefs. Check this before sizing a new competition_paper_trade.
Takes no parameters.
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-priced from Chainlink, so rankings cannot be gamed with self-reported prices.
Takes no parameters.
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 anything on your behalf. api_key: the otto_pn_ key Otto's admin issued you directly. sell_token/buy_token: Hood token contract addresses (0x...).
Takes no parameters.
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. tx_hash: the transaction hash from your own broadcast.
Takes no parameters.
Recent fills you've reported with partner_report_fill, most recent first.
Takes no parameters.
- Every tool, no call limit
- No card, no account needed
- Source published under a licence you can read
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because nothing bills
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable. Otto Data — Robinhood Chain costs nothing to install and nothing to call, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is a hosted endpoint: the publisher runs it and we connect to it. The scanner reads packages and source, and neither exists to read here, so there is no grade — not a withheld one, an unmeasured one. What can be checked instead is on Installation: what it asks to reach and what it writes.
Release history
Pinned to 1.29.0 — the install command below asks for that release. A pin is part of an install, so it is kept for this visit and written down when you install.
No release note was published with this version.
Only accounts with at least 50 real tool calls against this server in the last 90 days can post. Ratings are weighted by how much the reviewer actually uses it, and publishers can reply once per review.
Writing one takes an account with at least 50 real tool calls against Otto Data — Robinhood Chain in the last 90 days. That is the whole gate — there is no other way to post, which is why the counts beside each review are worth reading.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes an account with 50 real tool calls against it.