gasrescue
Rescue USDC, USDT and USDG from wallets with no gas: send or swap them on EVM, Solana and Tron.
Description from the maker (original English)
Read-only Polymarket data tools for AI agents: profiles, PnL, market scans. No keys, no orders.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"polymarket-toolkit": {
"command": "npx",
"args": [
"-y",
"polymarket-toolkit-mcp"
]
}
}
}Run this in your terminal
claude mcp add polymarket-toolkit -- npx -y polymarket-toolkit-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"polymarket-toolkit": {
"command": "npx",
"args": [
"-y",
"polymarket-toolkit-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"polymarket-toolkit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"polymarket-toolkit-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account runesleo, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.7.1) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: gasrescue, xsolana, CashPan
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Rescue USDC, USDT and USDG from wallets with no gas: send or swap them on EVM, Solana and Tron.
Design, check, simulate and launch Solana game economies on loot, one shared program, no contract.
Give your AI an allowance: pay approved people within on-chain spending limits.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
For anyone who wants to research Polymarket on their own — run the CLI yourself, or install skills for Claude / Cursor / OpenClaw and let AI run the tools. Read-only public APIs. No API keys. No signing.
Nothing to install? probpocket.com/lookup answers the same first question in a browser: paste an address, see lifetime PnL, what the wallet actually makes its money on, and how its leaderboard days compare with its real settled total. Free, no signup. Same public APIs as this CLI.
中文说明
Machine-readable product facts: ai-info.json · llms.txt. Both are generated from content/ai-identity.json; npm run check:ai-discovery fails on tool, package-version, or output drift.
/plugin install polymarket-toolkit --marketplace runesleo/x-readercodex plugin marketplace add runesleo/x-reader, then codex plugin add polymarket-toolkit@runesleoThe runesleo marketplace also lists Leo's other tools; see runesleo/x-reader.
| I want to… | Start here |
|---|---|
| Research an address | pm profile · skills polymarket-profile / polymarket-pnl / polymarket-brier |
| See whether they actually cash out | pm cashflow — on-chain pUSD withdrawals, separated from trade settlement |
| Check execution quality | pm markout — markout vs market baseline (adverse selection) |
| Classify a trader | pm mix — passive market maker or aggressive taker |
| Scan markets & prices | pm markets · examples/01,09,11 · docs/cookbook.md |
| Wire my own data pipeline | src/index.ts · cookbook · examples/14 |
| Validation checklists | docs/templates/ — handoff · backtest · paper · live-gate · runbook |
| PnL cross-check (LB snapshot) | pm pnl-check · docs/fee-inclusive-pnl.md |
| Track leaderboard / redeem / activity | pm lb · pm redeem · pm activity · examples/05–08,15–20 |
| Give an AI agent tools | skills/ — copy into Claude / OpenClaw / Cursor |
Full index: docs/toolbox.md
git clone https://github.com/runesleo/polymarket-toolkit.git && cd polymarket-toolkit
./bin/pm profile 0x63ce342161250d705dc0b16df89036c8e5f9ba9a
What you get: LB PnL snapshot + first-page positions. For audit-grade PnL, use the polymarket-pnl skill.
V2 merge/split broken? → docs/v2-ctf-ops-faq.md + ./bin/pm v2-check 0x…
pm)Node 22+ (uses --experimental-strip-types). From repo root:
./bin/pm help
./bin/pm profile 0x63ce342161250d705dc0b16df89036c8e5f9ba9a ./bin/pm profile Theo4 --json ./bin/pm brier 0x63ce342161250d705dc0b16df89036c8e5f9ba9a ./bin/pm redeem 0x63ce342161250d705dc0b16df89036c8e5f9ba9a 25 ./bin/pm markets --limit 5 --active ./bin/pm activity 0x63ce342161250d705dc0b16df89036c8e5f9ba9a --type TRADE --max-pages 5
Prefer ./bin/pm from repo root (no install step). Or: npm run pm -- profile … · optional npm link for global pm.
| Command | What it does |
|---|---|
pm profile | LB PnL + open positions sample + Brier hint |
pm activity | Activity pagination + ~4000 row cap warnings |
pm scan | Top markets by 24h volume + spread |
pm updown | Crypto updown event fields / resolution source |
pm v2-check | V2 CTF split/merge checklist + activity sample |
pm lb | Leaderboard snapshot + day-over-day diff |
pm pnl-check | LB snapshot + hints — not audit-grade PnL |
pm limits | Official API rate limit pacing |
pm brier | Brier score from settled positions (sample) |
pm markout | Execution quality — markout vs market baseline |
pm mix | Execution style — maker/taker split, cross-checked against fees |
pm fees | Lifetime taker fees from /activity · pre-fee → net PnL |
pm redeem | Read-only redeem watchdog JSON |
pm markets | Quick Gamma market list |
Audit-grade PnL (Python): python3 skills/polymarket-pnl/compute_precise_pnl.py --address …
pm fees — why your number never matches the profile./bin/pm fees 0xYourProxy
**Polymarket's own PnL — profile,
lb-api, theuser-pnlcurve — is *pre-fee*.
A cashflow replay is *post-fee*.
gap ≈ lifetime taker fees − maker rebates.**
The fee is already in /activity: usdcSize is not size × price, and the residual is what you were charged. That means lifetime fees, per-fill taker proof, and the pre-fee → net conversion come from one REST call — no RPC, no receipt decoding, no credentials.
Verified by predicting the gap before comparing, on four wallets: a heavy-taker wallet landed at a $0.84 residual against a $1,308.87 prediction, and a pure maker matched the official number to $0.40.
⚠️ The taker test is one-directional. fee > 0 proves you were the taker — makers are never charged. fee == 0 means maker or fee-exempt category, so it is reported as an upper bound on passive share, never as a maker count.
⚠️ Fees are recent. The earliest on record here is late June 2026, rate stepping 0.03 → 0.05 → 0.07. Any reconciliation that passed before then proves nothing about today.
pm markout — is this address getting picked off?./bin/pm markout 0x9a18f10966262d9be5d662754256380583fabb54 --fills 200
Markout is where a fill stands some seconds later: (reference − fill) × direction, in cents per share. Negative means the price walked away from you — adverse selection.
Three things this command does that a hand-rolled version usually gets wrong:
/trades?user= behaves like takerOnly=true by default, so a market maker's entire passive side is missing unless you ask for it.Read the excess column and the coverage column together. In short-dated markets a large tau leaves most fills with nothing ahead of them to be priced against, and the mean then describes the surviving handful rather than the trader.
Why these three defaults exist. I ran 15 strategies on Polymarket over half a year, and the ones that cost the most failed at measurement, not at strategy: the same logic made +77% on paper and lost −74% live; 18.3% of my own trade records were quietly wrong, two thirds of those being false wins; market-making went 0 for 10 while the platform shipped three fee formulas in a single night. Each flag above is one of those mistakes turned into a default, so it isn't paid for twice.
The full write-up — 15 strategies, 5 deep pits, 14,000 words — is at leolabs.me/pm-quant ($49). It comes with monthly supplement notes; the current one measures a ~300ms server-side floor on taker orders that no colo or private line removes, against 56ms for maker.
Zero-dependency helpers in src/index.ts. Run demos with Node 22+:
npx tsx examples/01-fetch-gamma-markets.ts
node --experimental-strip-types examples/01-fetch-gamma-markets.ts
examples/ — one numbered script per API patterndocs/cookbook.md — bilingual recipes| Skill | What it does |
|---|---|
polymarket-profile | Deep profile — PnL, win rate, positions, categories, strategy detection |
polymarket-brier | Prediction accuracy scoring, calibration analysis |
polymarket-pnl | Audit-grade PnL via cashflow reconstruction (~0.2% MAPE vs. official) |
Install: copy the chosen skill into the skills directory configured by your agent client. polymarket-pnl also needs: pip install httpx
Skill details: skills/*/SKILL.md · long-form docs in sections below.
| Included | Not included |
|---|---|
| Read-only APIs, CLI, skills, docs, templates | Private keys, signing, or trade execution |
V2 FAQ + pm v2-check diagnostics | Runnable merge/split/redeem modules |
polymarket-pnl audit script | Custodial wallets or one-click trading |
| Builder attribution helper for future CLOB executors | Builder API credentials or reward guarantees |
Opt-in executor/ sub-package (isolated deps, dry-run default) | Custody, strategy logic, or one-click trading |
mcp/ MCP server — read-only tools for AI agents (docs/mcp.md) | MCP-exposed order placement |
The core (src/, CLI, skills) never holds keys or sends transactions. Order execution lives only in the opt-in executor/ sub-package, which signs with your env-provided key, defaults to dry-run, and is never imported by the core. For normal redemption, use the official Polymarket app.
New to Polymarket? Sign up via the link above (affiliate disclosure: the author may earn referral rewards; no extra cost to you).
Building your own order executor? Start from the opt-in executor/ sub-package (docs/executor.md) — CLOB V2 limit orders with dry-run default, notional cap, and default builder attribution via src/builder.ts (override / opt-out via env). See builder attribution for the disclosure and FAQ. Read-only CLI/skills still do not send orders.
pm_profile, pm_activity, pm_brier, pm_mix, pm_markout, pm_pnl_check, pm_scan, pm_updown, pm_leaderboard, pm_redeem_watchdog, pm_v2_check, pm_rate_limits) — docs/mcp.mdpm, so the server is exactly as read-only as the CLI; inputs are allowlist-validated before reaching argvEXECUTOR_LIVE=1 to post), notional cap EXECUTOR_MAX_USD (default $10), fail-closed credential validationsrc/builder.ts, full disclosure in docsdocs/v2-ctf-ops-faq.md (split/merge/convert · infra alignment)src/builder.ts + docs/builder-attribution.md for future CLOB executors, with default / override / opt-out pathsOnly the beginning is shown; read the rest in the repo