Start free. Go real-time when you are ready.
Every plan gets the matched feed over REST, about two minutes behind, plus Free includes one live connection on the curated sample channel. Paid adds the full real-time stream and a higher request limit. Building this yourself means two venue integrations, a matching engine, and depth math — dino is one WebSocket.
For trying the matched feed and building on REST.
- →Matched feed across both venues
- →REST API, about two minutes behind
- →10,000 requests a month at 10 req/s
- →14-day price history
- →Free MCP access
- →1 real-time connection on the curated sample channel (the full market stream starts at Basic)
For bots that need prices the moment they move.
- →Everything in Free
- →Real-time WebSocket push
- →Subscribe by category or to the full feed
- →3 concurrent connections
- →1,000,000 requests a month at 10 req/s
For teams running the stream at scale.
- →Everything in Basic
- →10 concurrent connections
- →5,000,000 requests a month at 25 req/s
For desks running several bots on raw data.
- →Everything in Premium
- →Raw quote-level data
- →Early candidate signals
- →Priority support
Compare plans
| Features | Free $0 | Basic $30 / mo | Premium $100 / mo | Pro $200 / mo |
|---|---|---|---|---|
| Matched feed across both venues | Included | Included | Included | Included |
| REST API | About 2 min behind | About 2 min behind | About 2 min behind | About 2 min behind |
| Real-time WebSocket push | Sample channel only | Included | Included | Included |
| WebSocket channelsSubscribe to the market channels: markets:{sport}, markets:all, and the status channel for feed health. | sample, status | Included | Included | Included |
| Max concurrent connections | 1 | 3 | 10 | 10 |
| Raw quote-level dataThe raw order-book quotes behind each matched line, streamed on the quote:{sport} channels. | Not included | Not included | Not included | Included |
| Early candidate signalsProvisional matches on the candidates:* channels, before they are confirmed — see pairs while they are still being checked. Never fired as opportunities. | Not included | Not included | Not included | Included |
| 14-day price history | Included | Included | Included | Included |
| MCP server (Claude, Cursor, any MCP client)Native MCP server over Streamable HTTP. Connects with Claude Desktop, Cursor, or any MCP client; all eight documented tools are available on every active tier. Free receives the curated sample and status WebSocket channels (REST is about 2 min behind). | Included | Included | Included | Included |
| Support | Community | Community | Community | Priority |
What a connection is
A connection is one open WebSocket stream from your code to the live feed. One bot holding one stream counts as one connection. Your plan sets how many you can hold at the same time: 1 on Free for the sample channel, 3 on Basic, 10 on Premium and Pro. The cap is what scales with the plan.
Why you would want more than one
Each connection runs on its own, so teams use the cap to keep several bots live at once. Common reasons:
- →Run a separate stream per strategy so one slow consumer never backs up another.
- →Keep a warm standby connection for failover during a deploy or a network blip.
- →Point staging and production bots at the live feed without sharing a stream.
On uptime
We run in a single region at launch, so there is no contractual uptime SLA yet. A real multi-region SLA comes with v2. Pro support means faster help when you need it, and it is not an uptime promise. Live feed health shows in the dashboard and on the status channel as live, degraded, or stale, so your bot can read the state and react.