Otto

Docs

Everything on this site is served by the open Otto Data API. Three ways in: REST, WebSocket, MCP. Free during beta, no API key.

1. REST

Base URL https://otto-data.onrender.com. Full interactive OpenAPI reference at /docs.

curl https://otto-data.onrender.com/v1/basis/snapshot
GET /v1/basis/snapshotLatest basis tick for all tokenized stocks
GET /v1/basis/{ticker}Minute-level basis history for one ticker
GET /v1/gaps/summaryOvernight + weekend gap statistics
GET /v1/gaps/liveLive off-hours session view
GET /v1/poolsTracked Uniswap pools: price, depth, deviation
GET /v1/risk/oracle-deviationChainlink vs pool deviation, ranked
GET /v1/risk/stablesStablecoin depeg monitor
GET /v1/eventsMachine-readable news events
GET /v1/social/signalsReddit alpha signals
GET /v1/social/hood-attentionReddit attention x basis join
GET /v1/scan/deploymentsContract deployments since genesis
GET /v1/feedsFeed + token contract registry

2. WebSocket

Basis snapshots are pushed as new ticks land (roughly once a minute).

wscat -c "wss://otto-data.onrender.com/v1/stream/basis?tickers=NVDA,TSLA"

3. MCP (for agents)

Hosted streamable-HTTP MCP server with 17 tools over the same data. Point any MCP client at:

https://otto-data.onrender.com/mcp

Setup snippets for Claude Code, Claude Desktop, Cursor and ChatGPT are on the Agents page.

Python example

import requests

snap = requests.get("https://otto-data.onrender.com/v1/basis/snapshot").json()
for t in snap["ticks"][:5]:
    print(t["ticker"], t["chainlink_px"], t["overnight_bps"], "bps")