A paper-money exchange: read live order books, place practice trades, test a bot. No sign-up.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Cancels your resting orders, on one market or side if you name it.
Your rz_ API key, if this server has no bearer token set.
up or down
A market id
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http exchange https://rizon.markets/mcp
Cancels your resting orders, on one market or side if you name it.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| side | string | up or down |
| market | string | A market id |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"side": {
"type": "string",
"description": "up or down"
},
"market": {
"type": "string",
"description": "A market id"
}
}
}A new paper account with $1,000 and its API key, shown once. Pass the key to the tools below, or set it as this server’s bearer token.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
}
}
}Your balance, what’s in orders and positions, realised PnL and rank.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
}
}
}One market’s order book: up to 30 levels a side, and its midpoint, the market’s forecast of the number. No key needed.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| market* | string | A market id, like BTC-15s |
{
"type": "object",
"required": [
"market"
],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"market": {
"type": "string",
"description": "A market id, like BTC-15s"
}
}
}Every account that has traded, ranked by realised PnL, people and bots alike. No key needed.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| limit | number | 1 to 100, default 20 |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"limit": {
"type": "number",
"description": "1 to 100, default 20"
}
}
}Your orders. Open ones by default.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| market | string | A market id |
| status | string | open or all |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"market": {
"type": "string",
"description": "A market id"
},
"status": {
"type": "string",
"description": "open or all"
}
}
}Your positions. Open ones by default.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| market | string | A market id |
| status | string | open, settled or all |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"market": {
"type": "string",
"description": "A market id"
},
"status": {
"type": "string",
"description": "open, settled or all"
}
}
}An underlying’s price history as [time, price] pairs. No key needed.
| Argument | Type | Description |
|---|---|---|
| to | number | End, ms since the epoch |
| key | string | Your rz_ API key, if this server has no bearer token set. |
| from | number | Start, ms since the epoch |
| step | number | Bucket size, ms |
| underlying* | string | An underlying id, like BTC-USD |
{
"type": "object",
"required": [
"underlying"
],
"properties": {
"to": {
"type": "number",
"description": "End, ms since the epoch"
},
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"from": {
"type": "number",
"description": "Start, ms since the epoch"
},
"step": {
"type": "number",
"description": "Bucket size, ms"
},
"underlying": {
"type": "string",
"description": "An underlying id, like BTC-USD"
}
}
}Every market: its number, spot, best bid and ask (strikes), one-sigma move, rules and status. No key needed.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
{
"type": "object",
"required": [],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
}
}
}Places an order with paper money. side up buys Higher: it wins if the number finishes above the strike. side down sells: it holds Lower. A win pays 2× size. Leave out strike for a market order.
| Argument | Type | Description |
|---|---|---|
| key | string | Your rz_ API key, if this server has no bearer token set. |
| tif | string | gtc (rests), ioc (takes what it can) or post (only ever rests) |
| side* | string | up or down |
| size* | number | Paper dollars, 1 to 100,000 |
| market* | string | A market id, like BTC-15s |
| strike | number | Makes it a limit order, on the market’s strike grid |
{
"type": "object",
"required": [
"market",
"side",
"size"
],
"properties": {
"key": {
"type": "string",
"description": "Your rz_ API key, if this server has no bearer token set."
},
"tif": {
"type": "string",
"description": "gtc (rests), ioc (takes what it can) or post (only ever rests)"
},
"side": {
"type": "string",
"description": "up or down"
},
"size": {
"type": "number",
"description": "Paper dollars, 1 to 100,000"
},
"market": {
"type": "string",
"description": "A market id, like BTC-15s"
},
"strike": {
"type": "number",
"description": "Makes it a limit order, on the market’s strike grid"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.