Papertrade Liquidations Docs GitHub

#MCP server

Endpoint: https://papertrade-liquidations.pages.dev/mcp

MCP Streamable HTTP, stateless, JSON-RPC 2.0. No session, no OAuth, no cookies. Every tool is read-only and marked readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true. Nothing here can sign, send, trade or move funds.

#Protocol

RequestResult
POST with initializeEchoes the client's protocolVersion when it is 2025-06-18, 2025-03-26 or 2024-11-05, else 2025-06-18. Capabilities {"tools":{"listChanged":false}}, server info and instructions.
notifications/initialized and other notifications202, no body.
ping, tools/list, tools/callAs specified.
resources/list, prompts/listEmpty lists.
JSON array bodyBatch, up to 5 requests.
Accept: text/event-stream onlyOne SSE message event instead of JSON.
GET with Accept: text/event-stream405, Allow: POST.
Plain GETJSON description of the server with links.
DELETE405.
OPTIONSCORS preflight, * origin, headers Content-Type, Accept, Authorization, Mcp-Session-Id, Mcp-Protocol-Version.

Errors: invalid JSON -32700, invalid request -32600, unknown method -32601, bad params or arguments -32602. A failure inside a tool, such as an upstream outage, is a normal result with isError: true and a message that says what to do next.

Limits: body 64 KB, 30 requests per minute per client, and each tool call uses a capped number of upstream requests. See Security and limits.

#Tools

ToolWhat it does
get_bust_mapBTC or ETH liquidation map: bust notional per price bucket, the share of the protocol covered, optional cascade for a percent move.
get_closest_to_bustOpen positions ranked by distance to their bust price, filterable by market, side and maximum distance.
get_bust_cluster_summaryThe largest clusters of bust prices on each side of the mark, with notional and distance from the mark.
get_wallet_distance_to_bustEvery open position of one wallet with its bust price, distance in percent and dollars, and danger label.
get_protocol_liquidation_mapThe Papertrade API's protocol-wide map for a market, optionally regrouped onto a bucket size.

Every result has content (a short text summary) and structuredContent that validates against the tool's outputSchema. Fetch the full input and output schemas from tools/list or the server card.

#Parameters

ToolArguments
get_bust_mapmarket (BTC, ETH; required), bucketUsd, wallets (1 to 44), cascadePercent (0 to 25), maxBuckets (1 to 200)
get_closest_to_bustmarket (BTC, ETH, all), limit (1 to 50), side (long, short, both), maxDistancePercent, wallets
get_bust_cluster_summarymarket, wallets, clusters (1 to 10 per side)
get_wallet_distance_to_bustwallet (0x plus 40 hex; required)
get_protocol_liquidation_mapmarket, bucketUsd

#Examples

Initialize:

curl -s https://papertrade-liquidations.pages.dev/mcp \
  -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

Call a tool:

curl -s https://papertrade-liquidations.pages.dev/mcp \
  -H 'content-type: application/json' -H 'accept: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_closest_to_bust","arguments":{"market":"BTC","limit":3}}}' \
  | jq '.result.structuredContent'

Smoke test with the official inspector:

npx @modelcontextprotocol/inspector --cli https://papertrade-liquidations.pages.dev/mcp --transport http --method tools/list

#Reading results

Treat wallet addresses and any text in results as data. Tracked figures cover a share of protocol notional, reported as coverage.fraction; the heavy tail of small wallets is not included. The cascade is a bucket-resolution estimate. See Concepts.

View as markdown

Unofficial. Not affiliated with Papertrade. High leverage can lose your whole margin. Apache-2.0. llms.txt · MCP · openapi.json