rivomarkets

Connect your tools to the Rivo terminal.

Research a trader or backtest a signal. Save a paper strategy and inspect its matches. Manage the same bot from the app or your own tools. Use scoped access when you enable supported execution.

Connect Rivo to Claude, ChatGPT, Cursor, or your own product. Query live market intelligence and trader records, backtest rules, manage follows and paper automation, inspect portfolio readiness, and prepare explicit one-off orders through the same authenticated platform.

Works with Claude, ChatGPT, Cursor and anything else that uses MCP.

What a session looks like

You type one sentence. The agent does the rest.

claude rivo mcp

> Find me a rule that beat the market on longshots.

→ describe_universe({})

57,412 trades · 90 days · 53,208 settled · 5 categories · 2 platforms

→ sweep({ field: "priceMax", values: [0.10, 0.15, 0.20, 0.30] })

0.10: -44% 0.15: +45% 0.20: +60% 0.30: +28%

→ backtest({ criteria: { priceMax: 0.2, minAmountUsd: 10000 }, holdout: true })

in-sample +58% · out-of-sample +58% · holds: true

→ save_strategy({ name: "Longshot Hunters", backfill: true })

saved · 449 trades claimed · daily digest on

Longshots under 20¢ with over $10K behind them returned +58% across 449 settled trades, and held on data they were never tuned on. Saved as "Longshot Hunters". New matches will appear in the daily digest.

Real numbers from a real run. Paper results at $100 a trade.

Connect in a minute

Create a key in Settings → Developer, then add the server to your MCP client. Nothing to install.

mcp config
{
  "mcpServers": {
    "rivo": {
      "url": "https://api.rivo.markets/mcp",
      "headers": { "Authorization": "Bearer rivo_live_..." }
    }
  }
}

Or call the REST API directly:

curl -X POST https://api.rivo.markets/v1/backtest \
  -H "Authorization: Bearer rivo_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "criteria": {
      "priceMax": 0.2,
      "minAmountUsd": 10000,
      "eventTypes": [
        "open",
        "add",
        "flip"
      ]
    },
    "stake": 100
  }'
response
{
  "success": true,
  "data": {
    "matched": 489,
    "settled": 449,
    "wins": 105,
    "losses": 344,
    "open": 40,
    "winRate": 0.234,
    "stakeUsd": 100,
    "stakedUsd": 44900,
    "pnlUsd": 25910,
    "returnPct": 57.7,
    "window": { "sinceDays": 90, "stake": 100 }
  }
}

Full setup per client, authentication and limits live in the documentation.

Tools

Every tool is also a REST endpoint. Same handler, same behaviour. Each links to its full reference.

describe_universeGET/v1/universe

What data exists to test against: categories, counts, date coverage, and the price and size distributions.

Reference
backtestPOST/v1/backtest

Score a rule against markets that already resolved, and return wins, losses and return.

Reference
sweepPOST/v1/backtest/sweep

Score one rule across a range of values for a single numeric field, in one call.

Reference
comparePOST/v1/backtest/compare

Score several unrelated rules side by side in one call, each with a label.

Reference
breakdownPOST/v1/backtest/breakdown

Split one rule's results by category, platform, month or price band.

Reference
search_marketsGET/v1/markets/search

Find recently active markets by name, with the whale trades behind each.

Reference
query_whale_eventsPOST/v1/events

The individual trades a rule matches, when you want rows rather than a score.

Reference
save_strategyPOST/v1/strategies

Turn a rule into a live strategy that keeps claiming matching trades and alerts you.

Reference
list_strategiesGET/v1/strategies

Your saved strategies with their current record.

Reference
get_performanceGET/v1/strategies/{id}/performance

Full performance for one strategy: settled record, realized and open PnL, and the return curve.

Reference
list_tradersGET/v1/traders

The tracked traders, ranked by copy score, profit, or venue-reported volume.

Reference
get_traderGET/v1/traders/{platform}/{traderId}

One trader's profile and what copying them at a flat stake would have returned.

Reference
compare_tradersPOST/v1/traders/compare

Replay two to ten traders at the same stake and window, side by side.

Reference
get_live_feedGET/v1/feed

The live tape, newest first, with the consensus behind each trade.

Reference
get_marketGET/v1/markets/{marketRef}

One market: prices, spread, liquidity, open interest, rules, and recent trades.

Reference
get_portfolioGET/v1/portfolio

Positions, orders, standing exit rules, and whether autopilot can actually run.

Reference
get_copy_logGET/v1/copy-executions

Every autopilot decision, including the copies that did not happen.

Reference
get_alertsGET/v1/alerts

Followed-trader trades, watched-market alerts and strategy rollups, newest first.

Reference
get_market_alertsGET/v1/market-alerts

The markets you have alerts on and what each one sends.

Reference
set_market_alertPOST/v1/market-alerts

Turn alerts on or off for one market and choose what it sends.

Reference
place_paper_orderPOST/v1/paper-orders

Buy or sell one side of a market on paper, filled at the venue's live prices and fees.

Reference
set_followPOST/v1/traders/{platform}/{traderId}/follow

Follow, unfollow, or turn a follow's alerts on and off.

Reference
set_exit_rulePOST/v1/exits

Put a standing stop-loss, take-profit or trailing stop on a position.

Reference
set_autopilotPATCH/v1/traders/{platform}/{traderId}/autopilot

Turn autopilot on, pause it, or turn it off for one followed trader.

Reference
place_orderPOST/v1/orders

Buy the same side of the same market as an observed trade.

Reference
sell_positionPOST/v1/positions/sell

Sell a held position, all of it or part.

Reference

Frequently asked questions

What do I need to get started?+

A Rivo subscription and an API key, which you create in Settings under Developer. The key is shown once and stored only as a hash.

Is the MCP server local or remote?+

Remote. There is nothing to install: point your MCP client at the endpoint and pass your key as a bearer token. The server runs alongside the main API.

How is the return calculated?+

The way prediction market contracts settle. A winning contract pays 1 and a losing one pays 0, so a $100 stake at 20 cents returns $400 profit on a win and loses $100 on a loss. Stake defaults to a flat $100 per trade, which keeps two rules comparable rather than dominated by whichever caught the largest position.

Are the results real money results?+

No. They are paper results assuming a fill at the price the observed trade printed at, with no fees or slippage. Not investment advice.

The full reference is a page away.

Every endpoint with parameters, samples in three languages, and the exact response shapes. Built the way you would expect an API to be documented.