PnL Labs — Solana Trust & Risk Checks

io.github.PnLlabsPublished by GitHub account PnLlabsv1.0.0Updated Oct 24, 2026

Trust checks for Solana trading: realized-PnL wallet trust, token safety, trade cost, forensics.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

A hosted MCP server that returns trust and risk verdicts for Solana wallets, tokens and trades, computed from on-chain data.

What you can do
Check a Solana wallet's trust: recompute realized SOL profit and loss from on-chain history and get a verdict with confidence and reasons. Trace a wallet's funding origin and age, with a fresh-wallet flag. Assess a token's structural safety: holder concentration, sniper-bot early buyers and a simulated buy/sell round trip for honeypot behavior. Estimate a trade's cost at a given size: expected slippage, round-trip cost, recommended maximum size and pool liquidity.
When to use it
Useful when an assistant is evaluating Solana wallets to copy, screening tokens before buying, or sizing a trade and wants machine-readable verdicts rather than peak-gain scores. It is aimed at trading-agent workflows that need a conservative gate before acting.
Requirements
A remote MCP endpoint at api.pnllabs.com/mcp; no install, account or API key. A free per-IP daily tier applies, after which calls require pay-per-call payment in USDC on Solana via the x402 protocol. Network access to the hosted API is needed.
Before you install
Beyond the free daily tier, each call is paid in USDC on Solana through x402, so an agent that pays automatically can spend money; prices are listed per check. The server returns risk verdicts, not investment advice, and structural token checks cannot detect behavioral rugs. Payment and error responses are not verdicts.

Installation

In SourceWeft

  1. Open PnL Labs — Solana Trust & Risk Checks in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.PnLlabs%2Fpnllabs/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "pnl-labs-solana-trust-risk-checks": {
      "type": "http",
      "url": "https://api.pnllabs.com/mcp"
    }
  }
}

README

PnL Labs — MCP server & x402 API

PnL Labs gate — no verdict, no trade. MCP: https://api.pnllabs.com/mcp Hard stops: wallet UNTRUSTED/INSUFFICIENT/UNVERIFIABLE/UNKNOWN → do not copy · token HIGH_RISK/CRITICAL/UNKNOWN → do not buy · trade HIGH_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

EndpointQuestionVerdicts
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=1What 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

bash
curl https://api.pnllabs.com/check/wallet/57hECCDVNmP7jCY6XX6FxP31DQuKiwQhv2g3nxGPLPmV
json
{  "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):

json
{  "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.

Source: README.md at commit 08f70eb

Tools

4

check_wallet_trust

Check Wallet Trust

Recomputes the realized SOL profit and loss of a Solana wallet from its on-chain transaction history and returns a trust verdict. Returns: verdict (TRUSTED, NEUTRAL, UNTRUSTED, INSUFFICIENT, UNVERIFIABLE, UNKNOWN), a confidence level, realized profit/loss in SOL, the number of coins analyzed, stable reason codes, and flags such as known_sniper_bot. Returns UNVERIFIABLE when the history cannot be reconstructed reliably rather than estimating.

Parametersaddressrequired

check_wallet_forensics

Trace Wallet Funding Origin

Traces where a Solana wallet's funding came from and how old it is, using on-chain transfer history. Returns: origin classification (CEX_FUNDED, WALLET_FUNDED, UNKNOWN_ORIGIN, UNVERIFIABLE_ORIGIN, UNKNOWN), the funding transaction, wallet age, and a fresh_wallet flag.

Parametersaddressrequired

check_trade_cost

Estimate Trade Execution Cost

Estimates what a trade of a given size would cost in a Solana token's main liquidity pool. Returns: expected slippage in percent, an estimated round-trip cost calibrated against measured live execution overhead, a recommended maximum size in SOL, pool liquidity, and a verdict (ACCEPTABLE_COST, ELEVATED_COST, HIGH_COST, UNTRADEABLE, NO_POOL, UNKNOWN).

Parametersmintrequiredsize_sol

check_token_safety

Check Token Structural Risk

Analyzes structural risk of a Solana token from on-chain data: real-holder concentration with bonding-curve and liquidity-pool accounts excluded, presence of known sniper-bot addresses among early buyers, and a simulated buy/sell round trip to detect honeypot behavior. Returns: verdict (LOW_RISK, ELEVATED, HIGH_RISK, CRITICAL, UNKNOWN), stable reason codes, and top-holder percentages. Scope is structural only; it does not detect risk that exists purely in trading behavior.

Parametersmintrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts