Trust verdicts for AI trading agents.
Built on realized PnL, not peak scores.

Before your agent copies a wallet or buys a token, ask us. We recompute real on-chain profit and loss — the number peak-based scores routinely get wrong — and return a conservative, machine-readable verdict in about a second.

Check a wallet now API docs

Try it live — 3 free checks, no signup

Paste any Solana wallet address and see what it really made or lost on-chain. Runs against the same API your agent would call — first 3 checks a day are on us, then pay 0.10 USDC per check straight from your wallet.

REFUEL

Give your agent range.

Top up once with your wallet. Every check draws from the tank — no account, no card, no subscription.

Phantom, Solflare or Backpack · you pay the network fee (~$0.001)
Stuck, or paid but no key? Write us — pnllabs@gmx.de. Send your transaction signature and we sort it out, always.
50%of tracked "smart money" wallets we audited are genuinely losing money on-chain
1.00precision flagging risky tokens in our hardest benchmark — zero false alarms
~1smedian verdict latency, cached repeats in 0 ms
UNVERIFIABLEwhat we answer when numbers can't be trusted — we never guess

Four questions, answered before money moves

GET /check/wallet

Is this wallet worth copying?

Proof of real PnL: realized SOL profit recomputed from on-chain history with ensemble cross-checks. Flags known sniper bots whose profits copying can't replicate. Verdicts: TRUSTED · NEUTRAL · UNTRUSTED · INSUFFICIENT · UNVERIFIABLE.

0.10 USDC / call
GET /check/token

Is this token structurally safe?

Real-holder concentration (bonding curve & LP correctly excluded), known sniper bots among early buyers, honeypot round-trip. Conservative by design: structural red flags with zero noise.

0.02 USDC / call
GET /check/trade

What will this trade really cost?

Expected slippage for your size in the token's main pool and a recommended max size — calibrated with measured real-world execution overhead, because execution is where trading agents actually lose money.

0.02 USDC / call
GET /check/funder

Where did this wallet come from?

Traces a wallet's funding origin: CEX-funded (real user), wallet-funded (possible cluster/Sybil link), or freshly created (elevated insider risk). The forensic layer that pairs with the trust check — is this trader real, and is their money?

0.05 USDC / call

Built for agents, not humans

$ curl https://api.pnllabs.com/check/wallet/57hECC…LPmV

{
  "verdict": "UNTRUSTED",
  "confidence": "high",
  "trust": 15,
  "flags": [],
  "reasons": [
    { "code": "NEGATIVE_REALIZED_PNL", "message": "Genuinely NEGATIVE: -37.8 SOL net realized" },
    { "code": "LOW_WIN_RATE",          "message": "Only 29% of coins were profitable" }
  ],
  "schema_version": 1
}

Stable verdict enums and reason codes, schema_version on every response, OpenAPI at /openapi.json, MCP server available. Free to try — your first checks each day are on us, no signup. Then payment via x402 (HTTP 402, USDC on Solana): no accounts, no API keys, your agent pays per call and gets an on-chain receipt.

Use it inside Claude

One click installs all four checks as Claude Desktop tools. No config file, no server URL to paste. The free daily allowance works immediately — a prepaid key is optional and can be added later in the extension settings.

Download for Claude Desktop pnl-labs.mcpb · 71 KB · open it and Claude installs it
Other clients (Cursor, Cline, custom agents)

Point any MCP client at our Streamable HTTP endpoint — nothing to install:

{
  "mcpServers": {
    "pnllabs": { "url": "https://api.pnllabs.com/mcp" }
  }
}
Window, not lifetime. The live demo above reads a wallet's most recent activity — fast enough to answer in under a second, and the response says so (scope: recent_window plus the exact coin and day count). The −37.8 SOL figure below is that same wallet's full 259-coin history. Different windows, same method — and every response tells you which one you got.
The honest fine print. This wallet — registry score 100, labeled a top trader — is genuinely down 37.8 SOL across its full 259-coin history. That gap between peak scores and realized truth is why we built this. And when we can't reconstruct the numbers reliably, we say UNVERIFIABLE instead of pretending. An API your agent can trust has to earn it.
A human reads this. Questions, a payment that did not go through, or an integration you are stuck on — write to pnllabs@gmx.de or @pnllabs. If you paid and something broke, send the transaction signature — your funds stay claimable and we will make it right.