mcpField
P
PMWallets

PMWallets

リモート
pmwallets.com金融データ02 週間前に更新
リポジトリ公式サイト

PMWallets について

PMWallets は、Polymarket のトレーダーデータを扱う Node.js・TypeScript クライアントとコマンドラインツールです。オンチェーンランキング検索に加え、再生と重複排除に対応した順序付きの約定ストリームを AI エージェントやスクリプトに提供します。

主な機能

  1. 01トレーダーランキングの検索と絞り込み
  2. 02フォロー中ウォレットの約定取得
  3. 03停止中に失われた約定の再生
  4. 04ストリームイベントの重複排除
  5. 05取引履歴のエクスポート
  6. 06Webhook 署名の検証

活用シーン

  1. 01成績による Polymarket トレーダーの順位付け
  2. 02フォロー中ウォレットの約定監視
  3. 03停止後の約定処理の再開
  4. 04ウォレット取引履歴のエクスポート

MCP 対応

`pmwallets mcp` コマンドは、パッケージの機能を MCP ツールとして公開します。PMWallets API キーで接続します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.pmwallets.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmpmwallets0.6.5
pypipmwallets0.6.5

ツール

詳細

pmwallets — PMWallets 向け Node.js SDK

npm License: MIT Discord

PMWallets の公式 Node.js / TypeScript クライアントです。Polygon チェーンから算出した Polymarket のスマートマネーランキングと、フォローしている Polymarket ウォレットのリアルタイム約定を提供します。順序どおりに、重複なく配信し、抜けがあればすべて再生します。

中文说明 · Python SDK: pmwallets-python · これを基に構築された、すぐに実行できるコピートレーディングボット: polymarket-copy-trading-bot

インストール

npm install pmwallets     # Node.js ≥ 20

pmwallets.com/keys で API キーを作成してください。

使い方

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();

内容

PmwClientランキング、エンティティ、アドレスのロック解除(残高またはプラン)、ロック解除済みのアドレス(myAddresses)、プランと残高、サブスクリプション、Webhook のステータスと配信、約定の再生(fills、fillsSince)、取引履歴のエクスポート
FillStream再接続とキープアライブに対応する WebSocket。session/seq でフレームの欠落を検知し、最後に配信した約定から再生します。eventId で重複を排除し、初回起動時にはチェーンの先頭より後ろから開始し、カーソルを永続化します
verifyWebhook(rawBody, signature, secret)x-pmw-signature(生の本文の HMAC-SHA256)を検証します

1 アカウントにつき 1 つのストリームです。

  • API キーによる接続は pmwallets.com のフィードページより優先されます(ページがストリームを奪うことはありません)。
  • 2 つの API 接続の間では、最初の接続がストリームを保持します。同じアカウントの別のキー、または同じボットの二重起動など、2 つ目の接続は拒否され、blocked の後に fatal が発生してストリームが停止します。代わりに takeover: true を渡すと、保持者を置き換えられます。その場合、保持者には replaced の後に fatal が通知され、停止します(接続を奪い返そうとはしません)。
  • FillStream はランダムな clientId で自身を識別するため、ネットワーク切断後の再接続では、takeover を指定しなくても、自身の停止した接続を置き換えます。
  • サーバーの再起動時は、ソケットが 1012 で閉じられます。ストリームは直ちに再接続し(イベント restarting)、見逃したデータを再生します。 HTTPS_PROXY を使用する場合は、WebSocket に wsOptions: { agent } を渡し、グローバルな fetch ディスパッチャーを設定してください。

PMWallets のサーバーは英国にあります。Polymarket でも取引する利用者は、アイルランド(AWS eu-west-1)から実行してください。Polymarket は英国、米国、および複数の EU 諸国からの API 注文を受け付けません。

AI エージェント:コマンドラインと MCP

このパッケージをインストールすると、JSON を出力する pmwallets コマンドが利用できます。スクリプトや、フォローしているトレーダーの約定を扱う AI エージェント(Claude Code、Codex、 Gemini CLI、Cursor、WorkBuddy など)向けです。

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 --exec はバッチごとにコマンドを 1 回実行し、約定を JSON 行として標準入力に渡します(また、$PMW_BATCH_FILE にも格納します)。実行中に届いた約定は次のバッチになります。バッチは最大 1 回だけ引き渡されます。コマンドが失敗、タイムアウト、または中断した場合、そのバッチは pmw-watch/failed/ に保存され、再実行されません。エージェントがすでに注文を出している可能性があるためです。再起動すると、ストリームが停止した位置から再開します。
  • 取引するには、エージェントに pmwallets-copytrade を渡してください。 order buy <tokenId> --usdc 5 --key <eventId>(同じキーでは 2 回注文されません)、market、balance、positions。
  • シェルを使えないプラットフォーム(Dify、Coze、n8n、GPT Actions)では、openapi.json をインポートしてください。
  • コマンドラインでは HTTPS_PROXY/NO_PROXY が反映されます。

MCP の設定(Claude Desktop、Cursor、Windsurf、WorkBuddy など):

{
  "mcpServers": {
    "pmwallets": {
      "command": "npx",
      "args": ["-y", "pmwallets", "mcp"],
      "env": { "PMW_API_KEY": "pmw_..." }
    }
  }
}

取引履歴のエクスポート

購入するとファイルにアクセスできます。ウォレットごと、UTC の日ごとに zstd 圧縮された CSV が 1 つあり、まとめてダウンロードできるほか、後から再ダウンロードすることもできます。

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) は代わりに有効期間の短いリンクを返します。API キーがストレージホストに送信されることはありません。

リソース

ガイド

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。