Permite que um cliente de IA acompanhe traders de smart-money na Polymarket acessando leaderboards e execuções de trades em tempo real.
Também conhecido como polymarketwallets/pmwallets-node, pmwallets-node
- Stars
- 0
- Ferramentas
- —
- Downloads, 30 dias
- 655
- Versão mais recente
- 0.6.6
- Último commit
- 6 de nov. de 2026
- Licença
- MIT
O que é o MCP PMWallets?
PMWallets é um MCP server. Permite que um cliente de IA acompanhe traders de smart-money na Polymarket acessando leaderboards e execuções de trades em tempo real.
Resumo gerado a partir do README do projeto
Sobre o MCP server de PMWallets
O PMWallets oferece uma interface especializada para monitorar traders lucrativos na Polymarket através da análise de dados da blockchain Polygon. Este MCP server permite que desenvolvedores e agentes de IA acessem leaderboards de smart-money e recebam execuções de trades em tempo real. Ele foi projetado para usuários que desejam rastrear atividades de carteiras específicas ou descobrir traders de alto desempenho em categorias como política, esportes e cripto.
Para usar este servidor, você deve fornecer uma PMW_API_KEY obtida no site do PMWallets. A implementação do MCP permite que clientes de IA como Claude Desktop, Cursor ou Windsurf interajam diretamente com a plataforma. Os usuários podem consultar leaderboards com limites específicos de taxa de vitória, assinar entidades de carteiras individuais e transmitir dados de trades ao vivo. O sistema garante confiabilidade ao reproduzir execuções perdidas e usar um cursor persistente para evitar lacunas de dados durante reinicializações.
O que você pode fazer com ele
- 1Identificar traders lucrativosUm agente de IA pode escanear o leaderboard em busca de traders com uma taxa de vitória mínima em categorias específicas.
- 2Monitorar atividade de carteiras específicasVocê pode instruir uma IA a seguir um trader específico e alertá-lo quando ele executar um trade.
- 3Transmitir execuções de trades em tempo realDesenvolvedores podem configurar um feed ao vivo de execuções de mercado para disparar respostas automatizadas ou análises.
- 4Exportar dados históricos de tradesO serviço permite a recuperação de históricos de trades abrangentes via arquivos CSV compactados.
Escrito a partir do README do projeto. Cada caso de uso é verificado com uma citação dele.
Como instalar o MCP PMWallets
Formatos verificados em 10 nov 2026Adicionar ao CursorAdicionar ao GooseInstalar o MCP PMWallets no Claude Code
$ claude mcp add --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' pmwallets-node -- npx -y pmwalletsInstalar o MCP PMWallets no Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}Instalar o MCP PMWallets no VS Code
.vscode/mcp.json
{
"servers": {
"pmwallets-node": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}Instalar o MCP PMWallets no VS Code CLI
$ code --add-mcp '{"name":"pmwallets-node","type":"stdio","command":"npx","args":["-y","pmwallets"],"env":{"PMW_API_KEY":"<YOUR_PMW_API_KEY>"}}'Instalar o MCP PMWallets no Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}Instalar o MCP PMWallets no Codex
$ codex mcp add pmwallets-node --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' -- npx -y pmwalletsInstalar o MCP PMWallets no Codex config.toml
~/.codex/config.toml
[mcp_servers.pmwallets-node] command = "npx" args = ["-y", "pmwallets"] [mcp_servers.pmwallets-node.env] PMW_API_KEY = "<YOUR_PMW_API_KEY>"
Instalar o MCP PMWallets no Gemini CLI
$ 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 pmwalletsInstalar o MCP PMWallets no Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"pmwallets-node": {
"command": "npx",
"args": [
"-y",
"pmwallets"
],
"env": {
"PMW_API_KEY": "<YOUR_PMW_API_KEY>"
}
}
}
}Configuração
PMW_API_KEYObrigatórioSecretoPMWallets API key (pmw_...), from https://pmwallets.com/keys
PMW_API_KEYObrigatórioSecretoPMWallets API key (pmw_...), from https://pmwallets.com/keys
| Nome | Descrição | Tipo |
|---|---|---|
| PMW_API_KEY | PMWallets API key (pmw_...), from https://pmwallets.com/keys | ObrigatórioSecreto |
| PMW_API_KEY | PMWallets API key (pmw_...), from https://pmwallets.com/keys | ObrigatórioSecreto |
Verificações automatizadas
Executado em 14 de nov. de 2026Relatório completo →Passou em nossas verificações automatizadas. Isso não é uma auditoria de segurança: leia o código e dê ao servidor o acesso mais restrito de que ele precisa. Como as verificações funcionam · O que corrigir para ganhar mais pontos
- Repositório de origem vinculado e acessívelpolymarketwallets/pmwallets-node is public and reachablegithub.com/polymarketwallets/pmwallets-node ↗Passou
- O pacote indica este repositório como sua origempmwallets names https://github.com/polymarketwallets/pmwallets-python/issues as its sourcepypi.org/project/pmwallets/ ↗Problema encontrado
- Proveniência da build (atestação Sigstore)No build attestation published for this releaseNão verificado
- Licença de código aberto (OSI)MITspdx.org/licenses/MIT.html ↗Passou
- Commit ou release no último anoLast commit or release 2026-11-06github.com/polymarketwallets/pmwallets-node ↗Passou
- OpenSSF ScorecardNão verificado
- Nome do pacote não é próximo a um pacote popularNo popular package one edit away from pmwallets, pmwalletsPassou
- Nenhum aviso crítico no pacote ou em suas dependências7 resolved dependencies checked; no critical advisoryosv.dev ↗Passou
- Sem instruções ocultas para o modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPassou
- Ferramentas destrutivas estão rotuladasNão verificado
- O endpoint remoto responde ao handshake do MCPHTTPS endpoint answered 401 (sign-in required)Passou
README
Ver no GitHubpmwallets — 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
Perguntas sobre o MCP PMWallets
Como adiciono o MCP PMWallets ao Claude Code?
Execute claude mcp add --env 'PMW_API_KEY=<YOUR_PMW_API_KEY>' pmwallets-node -- npx -y pmwallets no seu terminal. Adicione --scope user para torná-lo disponível em todos os projetos.
Como adiciono o MCP PMWallets ao Cursor?
Abra ~/.cursor/mcp.json e adicione o servidor em mcpServers, usando a configuração do Cursor mostrada na seção de instalação acima.
Posso receber atualizações de trades em tempo real?
Sim, o FillStream fornece uma conexão WebSocket que entrega execuções em tempo real e inclui um mecanismo de replay para garantir que nenhum dado seja perdido durante desconexões.
Como acesso o leaderboard de smart-money da Polymarket?
Você pode acessar o leaderboard através do PmwClient para ranquear traders por PnL on-chain e filtrar por categorias como esportes ou política.