Polymarketのリーダーボードやリアルタイムの取引実行データにアクセスすることで、AIクライアントがスマートマネートレーダーを追跡できるようにします。
別名 polymarketwallets/pmwallets-node, pmwallets-node
- スター
- 0
- ツール
- —
- ダウンロード数(30日間)
- 655
- 最新バージョン
- 0.6.6
- 最終コミット
- 2026年11月6日
- ライセンス
- MIT
PMWallets MCPとは
PMWalletsはMCPサーバーです。 Polymarketのリーダーボードやリアルタイムの取引実行データにアクセスすることで、AIクライアントがスマートマネートレーダーを追跡できるようにします。.
プロジェクトのREADMEから生成された概要
PMWallets MCP server について
PMWalletsは、Polygonブロックチェーンのデータを分析することで、Polymarketにおける収益性の高いトレーダーを監視するための専用インターフェースを提供します。このMCP serverを使用すると、開発者やAIエージェントはスマートマネーのリーダーボードにアクセスし、リアルタイムの取引実行データを受け取ることができます。特定のウォレットのアクティビティを追跡したり、政治、スポーツ、仮想通貨などのカテゴリからパフォーマンスの高いトレーダーを見つけ出したりしたいユーザー向けに設計されています。
このサーバーを使用するには、PMWalletsのウェブサイトから取得したPMW_API_KEYを提供する必要があります。MCPの実装により、Claude Desktop、Cursor、WindsurfなどのAIクライアントがプラットフォームと直接やり取りできるようになります。ユーザーは、特定の勝率のしきい値を指定してリーダーボードを照会したり、個別のウォレットエンティティを購読したり、ライブの取引データをストリーミングしたりできます。システムは、欠落した取引実行のリプレイや、再起動時のデータギャップを防ぐための永続化されたカーソルの使用により、信頼性を確保しています。
できること
- 1収益性の高いトレーダーの特定AIエージェントがリーダーボードをスキャンし、特定のカテゴリで一定以上の勝率を持つトレーダーを特定できます。
- 2特定のウォレットのアクティビティ監視AIに対して特定のトレーダーをフォローするよう指示し、そのトレーダーが取引を実行した際に通知を受け取ることができます。
- 3リアルタイムの取引実行のストリーミング開発者は市場の取引実行のライブフィードを設定し、自動応答や分析をトリガーさせることができます。
- 4過去の取引データの書き出し圧縮されたCSVファイルを通じて、包括的な取引履歴を取得できます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
PMWallets MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにPMWallets MCPをインストール
$ claude mcp add --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' pmwallets-node -- npx -y pmwalletsCursorにPMWallets MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}VS CodeにPMWallets MCPをインストール
.vscode/mcp.json
{
"servers": {
"pmwallets-node": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}VS Code CLIにPMWallets MCPをインストール
$ code --add-mcp '{"name":"pmwallets-node","type":"stdio","command":"npx","args":["-y","pmwallets"],"env":{"PMW_API_KEY":"<YOUR_PMW_API_KEY>"}}'Claude DesktopにPMWallets MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}CodexにPMWallets MCPをインストール
$ codex mcp add pmwallets-node --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' -- npx -y pmwalletsCodex config.tomlにPMWallets MCPをインストール
~/.codex/config.toml
[mcp_servers.pmwallets-node] command = "npx" args = ["-y", "pmwallets"] [mcp_servers.pmwallets-node.env] PMW_API_KEY = "<YOUR_PMW_API_KEY>"
Gemini CLIにPMWallets MCPをインストール
$ gemini mcp add -s user -e 'PMW_API_KEY=<YOUR_PMW_API_KEY>' -e 'PMW_API_KEY=<YOUR_PMW_API_KEY>' pmwallets-node npx -- -y pmwalletsGemini settings.jsonにPMWallets MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}設定
PMW_API_KEY必須シークレットPMWallets API key (pmw_...), from https://pmwallets.com/keys
PMW_API_KEY必須シークレットPMWallets API key (pmw_...), from https://pmwallets.com/keys
| 名前 | 説明 | 種類 |
|---|---|---|
| PMW_API_KEY | PMWallets API key (pmw_...), from https://pmwallets.com/keys | 必須シークレット |
| PMW_API_KEY | PMWallets API key (pmw_...), from https://pmwallets.com/keys | 必須シークレット |
自動チェック
実行日 2026年11月14日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み · 点数を上げるための改善点
- ソースリポジトリがリンクされており、アクセス可能polymarketwallets/pmwallets-node is public and reachablegithub.com/polymarketwallets/pmwallets-node ↗合格
- パッケージがこのリポジトリをソースとして指定pmwallets names https://github.com/polymarketwallets/pmwallets-python/issues as its sourcepypi.org/project/pmwallets/ ↗検出事項
- ビルドの来歴 (Sigstore 証明)No build attestation published for this release未チェック
- オープンソースライセンス (OSI)MITspdx.org/licenses/MIT.html ↗合格
- 過去1年以内にコミットまたはリリースありLast commit or release 2026-11-06github.com/polymarketwallets/pmwallets-node ↗合格
- OpenSSF Scorecard未チェック
- パッケージ名が有名なパッケージに酷似していないNo popular package one edit away from pmwallets, pmwallets合格
- パッケージおよびその依存関係に重大な勧告なし7 resolved dependencies checked; no critical advisoryosv.dev ↗合格
- モデルへの隠れた指示がない0 tool descriptions and the README read; no override phrases, credential paths or hidden characters合格
- 破壊的なツールがラベル付けされている未チェック
- リモートエンドポイントが MCP ハンドシェイクに応答HTTPS endpoint answered 401 (sign-in required)合格
README
GitHubで見るpmwallets — Node.js SDK for PMWallets
Official Node.js / TypeScript client for PMWallets: the Polymarket smart-money leaderboard computed from the Polygon chain, and the real-time fills of the Polymarket wallets you follow — delivered in order, exactly once, with every gap replayed.
中文说明 · Python SDK: pmwallets-python · Ready-to-run copy-trading bot built on it: polymarket-copy-trading-bot
Install
npm install pmwallets # Node.js ≥ 20
Create an API key on pmwallets.com/keys.
Signals and radar (Pro and Max)
const { entries } = await pmw.signals({ category: 'sports' });
const big = await pmw.radar({ minUsd: 25000, smart: true });
await pmw.saveSignalRule('signal', { enabled: true, scope: 'official', minWallets: 3, windowMin: 30, minUsd: 5000, channels: ['ws', 'webhook'] });
For live alerts use new SignalStream({ client: pmw, onAlert: (a) => … }).start(), or pmwallets alerts on the command line. Amounts keep two significant figures, times the minute, and traders are named by handle.
Usage
import { PmwClient, FillStream, FileStateStore, verifyWebhook } from 'pmwallets';
const pmw = new PmwClient({ apiKey: process.env.PMW_API_KEY! });
// who is making money on Polymarket, and how
const board = await pmw.leaderboard({ minWinLo: 0.55, minEligible: 30, style: 'taker', status: 'active', limit: 50 });
// only wallets whose address unlocks for free or for the $1 band (0 = free … 5; the ladder is board.pricing.bands)
const cheap = await pmw.leaderboard({ bands: [0, 1], minWinLo: 0.55 });
// follow one (billed per entity per hour; 402 = balance too low, 409 = dormant)
await pmw.subscribe({ entityId: board.rows[0].entityId, channels: ['ws'] });
// every fill of every entity you follow
const stream = new FillStream({
client: pmw,
store: new FileStateStore('./stream.json'), // a restart resumes exactly where it stopped
onFill: async (fill, { source }) => console.log(source, fill.side, fill.price, fill.tokenId),
onEvent: (e) => e.type === 'fatal' && console.error(e.error.message), // e.g. another bot already holds the stream
// takeover: true, // replace whichever API client holds this account's stream (it stops with `replaced`)
});
await stream.start();
What is in it
PmwClient |
leaderboard, entities, address unlocks (balance or plan), your unlocked addresses (myAddresses), plans (quote, buyPlan from the balance) and balance, invites, subscriptions, webhook status and deliveries, fills replay (fills, fillsSince), trade-history exports |
FillStream |
WebSocket with reconnect and keep-alive; detects missed frames by session/seq and replays them from the last fill delivered; de-duplicates by eventId; anchors behind the chain head on first start; persisted cursor |
verifyWebhook(rawBody, signature, secret) |
checks x-pmw-signature (HMAC-SHA256 of the raw body) |
One stream per account:
- An API-key connection takes priority over the pmwallets.com feed page (the page never takes the stream from it).
- Between two API connections the first one keeps the stream. A second one — another key of the same account, or the same bot started twice — is refused:
blocked, thenfatal, and the stream stops. Passtakeover: trueto replace the holder instead; the holder getsreplaced, thenfatal, and stops (it does not fight back). - A
FillStreamidentifies itself with a randomclientId, so its own reconnects after a network drop replace its own dead connection without needingtakeover. - When the server restarts it closes the socket with
1012; the stream reconnects at once (eventrestarting) and replays anything it missed.HTTPS_PROXY: passwsOptions: { agent }for the WebSocket and set a global fetch dispatcher.
PMWallets' servers are in the United Kingdom. A consumer that also trades on Polymarket should run from Ireland (AWS eu-west-1): Polymarket does not accept API orders from the UK, the US and several EU countries.
AI agents: command line and MCP
The package installs a pmwallets command that prints JSON — for scripts, and for AI agents (Claude Code, Codex,
Gemini CLI, Cursor, WorkBuddy, …) that act on the fills of the traders you follow.
export PMW_API_KEY=pmw_…
npx pmwallets leaderboard --minWinLo 0.55 --category politics --limit 20
npx pmwallets subscribe <handle> # billed per hour
npx pmwallets new-fills # fills since the previous call, each once (poll it)
npx pmwallets watch # live: one JSON line per fill, with its market and decimal amounts
npx pmwallets watch --batch-sec 30 --exec 'claude -p "Fills from traders I follow are on stdin. …"'
npx pmwallets mcp # the same as MCP tools
npx pmwallets skill # the guide to give your agent (SKILL.md)
watch --execruns the command once per batch, the fills on its stdin as JSON lines (and in$PMW_BATCH_FILE); fills that arrive while it runs make the next batch. A batch is handed over at most once: one whose command fails, times out or is interrupted is kept inpmw-watch/failed/and never re-run — the agent may already have placed an order. Restarts resume from where the stream stopped.- To trade, give the agent pmwallets-copytrade:
order buy <tokenId> --usdc 5 --key <eventId>(the same key never orders twice),market,balance,positions. - Platforms without a shell (Dify, Coze, n8n, GPT Actions): import openapi.json.
HTTPS_PROXY/NO_PROXYare honoured by the command line.
MCP config (Claude Desktop, Cursor, Windsurf, WorkBuddy, …):
{
"mcpServers": {
"pmwallets": {
"command": "npx",
"args": ["-y", "pmwallets", "mcp"],
"env": { "PMW_API_KEY": "pmw_..." }
}
}
}
Trade-history exports
A purchase is access to files: one zstd-compressed CSV per wallet per UTC day, downloadable at once and again later.
const order = await client.createExport({ entityIds: ['0x…'], from: '2026-09-01', to: '2026-09-30' });
const { files } = await client.exportFiles(String(order.id));
for (const f of files) {
const bytes = await client.downloadExportFile(f.wallet, f.day); // .csv.zst
}
exportFileUrl(wallet, day) returns the short-lived link instead; the API key is never sent to the storage host.
Resources
- Polymarket smart-money leaderboard — profitable Polymarket traders scored from the Polygon chain, with win-rate confidence intervals
- Polymarket copy trading guide — which wallets are worth following and how to get their fills in time
- How to learn from Polymarket smart money — reading a trader's record: confidence intervals, maker vs taker, market specialism
- PMWallets API documentation — WebSocket and webhook fill push, fills replay, trade-history exports
- Measured fill-push latency — block-to-push p50 / p95, published live
- Ways to follow Polymarket wallets, compared — official leaderboard, free trackers, SQL dashboards
- FAQ · 中文站
Guides
- PMWallets SDKs — Node.js and Python clients, side by side
- How to get a Polymarket wallet's trades in real time — polling the Data API, reading OrderFilled events on Polygon, or a pushed fill stream with replay
- Polymarket WebSocket API — what the market and user channels give you, and what they don't
- Polymarket trade alerts by webhook — verify the HMAC-SHA256 signature, answer fast, deduplicate on eventId
- How to export a Polymarket wallet's full trade history — past the Data API's 10,000-trade cap: every fill from the chain, one CSV per wallet per day
- Polymarket token IDs, condition IDs and slugs — how they connect
- How to calculate a Polymarket wallet's PnL — and why sites disagree
- Polymarket leaderboards by category — sports, crypto, politics, esports and more, ranked from on-chain PnL
- Busiest Polymarket markets — the 1,000 most-traded markets of the last 30 days and how their traders did
- All guides · llms.txt
License
MIT
PMWallets MCPのよくある質問
PMWallets MCPをClaude Codeに追加するには
ターミナルでclaude mcp add --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' pmwallets-node -- npx -y pmwalletsを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
PMWallets MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
リアルタイムの取引アップデートを取得できますか?
はい、FillStreamがWebSocket接続を提供し、リアルタイムの取引実行を配信します。また、切断中にデータが欠落しないよう、リプレイメカニズムも備えています。
Polymarketのスマートマネー・リーダーボードにはどのようにアクセスしますか?
PmwClientを通じてリーダーボードにアクセスできます。オンチェーンのPnLに基づいてトレーダーをランク付けしたり、スポーツや政治などのカテゴリでフィルタリングしたりすることが可能です。