polymarket_orderbook
Pack: polymarket · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/polymarket_orderbook for the schema, then POST the same URL with its arguments for the data.
The live bid and ask ladder for one Polymarket market, with the size available at each price.
Tool description as the model sees it
REAL-TIME CLOB orderbook for one Polymarket market — bid/ask ladder on both YES and NO sides with size at each price level. Use to check actual tradable depth before quoting a size estimate; the liquidity field on polymarket_market is a rolled-up summary, this is the actual ladder. Returns yes_bids[], yes_asks[], no_bids[], no_asks[] each as [price, size] pairs sorted from inside the book outward. Necessary input before any “you could buy $X at price Y” answer — without depth that’s a guess.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slug_or_id | string | yes | Market slug or numeric id |
Example call
Arguments
{
"slug_or_id": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
}
curl
curl -X POST https://gateway.pipeworx.io/polymarket/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"polymarket_orderbook","arguments":{"slug_or_id":"will-kristi-noem-win-the-2028-republican-presidential-nomination"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('polymarket_orderbook', {
"slug_or_id": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
});
Response shape
Full JSON Schema
{
"oneOf": [
{
"type": "object",
"properties": {
"error": {
"type": "string",
"enum": [
"not_found"
],
"description": "Error code"
},
"message": {
"type": "string",
"description": "Error message"
}
},
"required": [
"error",
"message"
]
},
{
"type": "object",
"properties": {
"error": {
"type": "string",
"enum": [
"no_token"
],
"description": "Error code"
},
"message": {
"type": "string",
"description": "Error message"
}
},
"required": [
"error",
"message"
]
},
{
"type": "object",
"properties": {
"market_id": {
"type": "string",
"description": "Market ID"
},
"market_slug": {
"type": "string",
"description": "Market slug"
},
"question": {
"type": "string",
"description": "Market question"
},
"yes_token": {
"type": "string",
"description": "Yes token ID"
},
"no_token": {
"type": "string",
"description": "No token ID"
},
"yes_bids": {
"type": "array",
"description": "Yes side bids [price, size]",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Bid price"
},
"size": {
"type": "number",
"description": "Bid size"
}
}
}
},
"yes_asks": {
"type": "array",
"description": "Yes side asks [price, size]",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Ask price"
},
"size": {
"type": "number",
"description": "Ask size"
}
}
}
},
"no_bids": {
"type": "array",
"description": "No side bids [price, size]",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Bid price"
},
"size": {
"type": "number",
"description": "Bid size"
}
}
}
},
"no_asks": {
"type": "array",
"description": "No side asks [price, size]",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number",
"description": "Ask price"
},
"size": {
"type": "number",
"description": "Ask size"
}
}
}
},
"depth_summary_usd": {
"type": "object",
"description": "Rollup of dollars available at each side",
"properties": {
"yes_bid_total": {
"type": "number",
"description": "Total USD available for Yes bids"
},
"yes_ask_total": {
"type": "number",
"description": "Total USD available for Yes asks"
},
"no_bid_total": {
"type": "number",
"description": "Total USD available for No bids"
},
"no_ask_total": {
"type": "number",
"description": "Total USD available for No asks"
}
},
"required": [
"yes_bid_total",
"yes_ask_total",
"no_bid_total",
"no_ask_total"
]
},
"builder_signed": {
"type": "boolean",
"description": "Whether request was authenticated with Builder API key"
}
},
"required": [
"market_id",
"market_slug",
"question",
"yes_token",
"no_token",
"yes_bids",
"yes_asks",
"no_bids",
"no_asks",
"depth_summary_usd",
"builder_signed"
]
}
]
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the polymarket pack
{
"mcpServers": {
"polymarket": {
"url": "https://gateway.pipeworx.io/polymarket/mcp"
}
}
}
See Getting Started for client-specific install steps.