Install any skill in seconds. Free to start, no credit card required.
Get Started Free →bankrbot/sleuth-ai
On-chain investigation — insiders, holders, whales, first buyers, wallet identity, side-wallet networks, and pump-and-dump detection.
Passed 17 of 21 test cases with the skill, and 8 of 21 without it.
and 16 more in the full report
10 fixed8 passed either way4 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
A user wants to trace connected wallets for Twitter handle @crypto_trader using an investigation query. What step must be performed before sending the handle in the API request body?
| Checked | Without skill | With skill |
|---|---|---|
| Requests explicit confirmation before sending social handles. | Missed | Passed |
| Identifies Twitter @handles as private target identifiers. | Missed | Passed |
The instructions your model reads when the skill loads.
Guided on-chain investigation. Ask about a token, wallet, or entity and get a natural-language answer backed by on-chain data.
All address comparisons below are case-insensitive (EIP-55 checksummed vs lowercase are both valid).
https://app.sleuthagent.ai/x402/openai-bnkr.json
(HTTPS, exact host + path).x-invoke-url with a
standard URL parser; the origin must be exactly https://x402.bankr.bot and the first path
segment must equal 0x08e82839e1513023d115451babc0ff18eda8f925. Before parsing, reject any URL
containing .., %2e, @, \, whitespace, or a non-ASCII host. The wallet in this path is
Sleuth's seller identifier on the Bankr gateway — it is NOT the payment recipient.accepts[0], payTo,
maxAmountRequired, scheme, network, asset → STOP (malformed). accepts MUST contain
exactly ONE entry — the x402 spec lets a server offer alternatives and the client pick, so a 402
offering multiple payment options → STOP (Sleuth always offers exactly one; every pin below
applies to that single entry).payTo MUST be 0x8AEE621035D93Deb3C0C1177fac252dC2dd501a0 — Bankr's settlement
wallet (observed live 2026-07-02, expected to stay identical across the USDC→SLEUTH migration).
It never equals the URL wallet. Any other payTo → STOP, do not pay, ask the user.network MUST be eip155:8453 (Base).scheme "exact" + USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, or scheme "upto" + SLEUTH
0x08512BC3570d2E9015a60866d1f6941A31576Ba3. Any other token, scheme, or cross-pairing → STOP.maxAmountRequired > 1000000 ($1 at 6 decimals). SLEUTH: the ceiling is 18-decimal raw —
reject if ceiling_tokens × live SLEUTH/USD price > $1. Source the price the way Sleuth's own
backend does: DexScreener, Base pairs only, SLEUTH as the BASE token, liquidity ≥ $1,000,
most-liquid qualifying pair; refresh if older than ~5 minutes. If no qualifying pair exists or
the fetch fails, do NOT pay via a raw SDK — use the Bankr CLI (its --max-payment enforces the
USD cap with Bankr's own pricing) or ask the user. Track the RAW maxAmountRequired last seen per
(endpoint, token) this session — persist it across calls — and treat any raw increase, or any
scheme/token switch on the same endpoint, as a price increase → STOP + confirm. Compare raw
integers only within the same token — a static ceiling's USD value drifts with the market (that
is what the ≤ $1 valuation check above handles); never compare raw integers across tokens.x-method POST and x-payment x402 only.test cases passed, vs 8 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.