PnL Labs — Solana Trust & Risk Checks
RemoteAbout PnL Labs — Solana Trust & Risk Checks
PnL Labs is an MCP server and API for AI trading agents evaluating Solana wallet trust, funding origins, token risk, and trade costs. Its machine-readable verdicts use realized PnL and return an unverifiable result when reliable reconstruction is not possible.
Key features
- 01Realized-PnL wallet trust checks
- 02Wallet funding-origin forensics
- 03Structural token-risk checks
- 04Trade cost and slippage estimates
- 05Machine-readable verdicts and reasons
Use cases
- 01Assess a wallet before copying its trades
- 02Inspect funding sources and wallet links
- 03Screen a token for structural risks
- 04Estimate trade costs at a chosen size
MCP support
The MCP server exposes four tools for wallet trust, wallet forensics, token safety, and trade cost. It calls the hosted API; the hosted endpoint is also available for MCP clients.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.pnllabs.com/mcpclaude mcp add --transport http pnllabs-pnllabs https://api.pnllabs.com/mcp{"mcpServers":{"pnllabs-pnllabs":{"type":"http","url":"https://api.pnllabs.com/mcp"}}}Open in Cursor{"servers":{"pnllabs-pnllabs":{"type":"http","url":"https://api.pnllabs.com/mcp"}}}Open in VS Code{"mcpServers":{"pnllabs-pnllabs":{"type":"http","url":"https://api.pnllabs.com/mcp"}}}{"mcpServers":{"pnllabs-pnllabs":{"serverUrl":"https://api.pnllabs.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
4| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | Yes | Solana wallet address (base58, 32-44 chars) |
Details
From the project READMEPnL Labs — MCP server & x402 API
PnL Labs gate — no verdict, no trade. MCP:
https://api.pnllabs.com/mcpHard stops: walletUNTRUSTED/INSUFFICIENT/UNVERIFIABLE/UNKNOWN→ do not copy · tokenHIGH_RISK/CRITICAL/UNKNOWN→ do not buy · tradeHIGH_COST/UNTRADEABLE/NO_POOL/UNKNOWN→ not at that size · 402/errors are not verdicts. Table: GATE.md Rule file: SKILL.md · Measured examples: docs/VERDICTS.md
Trust & risk verdicts for AI trading agents on Solana. Proof of real PnL, not peak scores. Pay-per-call via x402 (USDC on Solana) — no signup, no API key, no account.
🌐 pnllabs.com · 🔌 https://api.pnllabs.com · 🐦 @pnllabs
Connect in 10 seconds (hosted MCP — no install)
The server is hosted. Add it to any MCP-capable assistant with one URL:
https://api.pnllabs.com/mcp
- Claude (all plans): Settings → Connectors → Add custom connector
- Grok: grok.com/connectors → Custom
- ChatGPT / Gemini: custom MCP connector → same URL
- Also listed in the official MCP Registry (
io.github.PnLlabs/pnllabs) and on Smithery.
Free tier per IP/day — when it runs out, the tools reply with structured x402 payment instructions (pay-per-call, USDC on Solana).
Why
Every "smart money" score you've seen ranks wallets by peak or paper gains. Peaks lie. A wallet can 100x on paper, dump into no liquidity, and walk away red — while its score still says genius.
PnL Labs recomputes what actually hit the wallet — realized SOL, in vs out — and
returns a conservative, machine-readable verdict. When the numbers can't be
reconstructed reliably, it says UNVERIFIABLE instead of guessing.
The four checks
| Endpoint | Question | Verdicts |
|---|---|---|
GET /check/wallet/{address} | Is this wallet worth copying? (real realized PnL) | TRUSTED · NEUTRAL · UNTRUSTED · INSUFFICIENT · UNVERIFIABLE |
GET /check/funder/{address} | Where did this wallet's money come from? (funding origin / cluster links) | CEX_FUNDED · WALLET_FUNDED · UNKNOWN_ORIGIN · UNVERIFIABLE_ORIGIN |
GET /check/token/{mint} | Is this token structurally safe? | LOW_RISK · ELEVATED · HIGH_RISK · CRITICAL · UNKNOWN |
GET /check/trade/{mint}?size_sol=1 | What will this trade really cost? (real slippage) | ACCEPTABLE_COST · ELEVATED_COST · HIGH_COST · UNTRADEABLE · NO_POOL |
Every response carries a stable verdict enum, machine-readable reasons (code +
message), confidence, flags, and schema_version. Built to be parsed by agents,
not read by humans. Interactive docs: https://api.pnllabs.com/docs.
Quick example
curl https://api.pnllabs.com/check/wallet/57hECCDVNmP7jCY6XX6FxP31DQuKiwQhv2g3nxGPLPmV
{
"schema_version": 1,
"verdict": "UNTRUSTED",
"confidence": "high",
"trust": 15,
"reasons": [
{ "code": "NEGATIVE_REALIZED_PNL", "message": "Genuinely NEGATIVE: -47.1 SOL net realized" },
{ "code": "LOW_WIN_RATE", "message": "Only 27% of coins were profitable" }
]
}
MCP server
This repo ships an MCP server exposing the four
checks as tools (check_wallet_trust, check_wallet_forensics, check_token_safety,
check_trade_cost). It calls the hosted API — no RPC keys or local setup needed.
Add to an MCP client (e.g. Claude Desktop / Claude Code):
{
"mcpServers": {
"pnllabs": {
"command": "python3",
"args": ["/path/to/pnllabs_mcp.py"]
}
}
}
Runs on the Python standard library — no dependencies for the free/beta tier.
Payment (x402)
Calls are priced per request and paid in USDC on Solana via the x402 protocol
(HTTP 402). Your agent pays a few cents, gets an on-chain receipt — no accounts,
no keys stored anywhere. Prices: wallet 0.10, funder 0.05, token/trade 0.02 USDC.
Any x402-capable client (or the official x402 SDKs) can pay automatically.
Honest scope
- Wallet trust & forensics are the core edge — realized-PnL truth and funding origin, which peak-based scores and EVM-only tools don't provide on Solana.
- Token safety flags structural red flags with zero noise. Behavioral rugs (an operator selling into his own hype) are invisible to all structural checkers — for those, check the wallets involved.
- We sell risk/trust verdicts, not alpha. Never "when to buy."
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.