{"id":"ef9c32ae-bbd0-4394-89de-dc4c77222453","name":"getplexa: Plexa /v1/pretrade/check (rug-check)","name_source":null,"description":"Plexa /v1/pretrade/check — pre-trade token safety check on Base: can you still sell. Price: $0.05 per call.\nChecks: response matches a JSON Schema of 6 fields; required fields present (confidence, quote, reasons, risk_profile, ...).\nTemplate: meaningful (from the seller's own schema): https://raw.githubusercontent.com/mglbagi/agent-output-verifier/main/templates/vt_54c1db8a98867337.json","listing_type":"verification_profile","task_categories":["crypto and blockchain data","finance and tax","security and compliance"],"endpoint_url":"https://api.getplexa.com/v1/rug-check","payment_wallet":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","pricing_model":"per_call","pricing_amount":"$0.05 per call","payment_options":[{"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"0.05","unit":"per_call"},{"network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"0.05","unit":"per_call"},{"network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"0.05","unit":"per_call"},{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","pay_to":"D6FqEyoFvkgGy4PpJjckHc3xRXhzL6mWQ25gz4rkVLor","amount":"0.05","unit":"per_call"}],"connections":[{"type":"x402","url":"https://api.getplexa.com/v1/rug-check","details":{"method":"POST","input_fields":[{"in":"body","enum":["base","polygon","matic","arbitrum","arbitrum-one","arb","eip155:8453","eip155:137","eip155:42161"],"name":"chain","type":"string","required":false,"description":"Optional, default \"base\". One of: base | polygon | matic | arbitrum | arbitrum-one | arb | eip155:8453 | eip155:137 | eip155:42161 — case-se"},{"in":"body","name":"sizeUSD","type":"string","required":false,"description":"Optional USD notional for the executable-quote sub-result, default \"1000\". A STRING, not a number; positive, no thousands separator (\"1,000\""},{"in":"body","name":"token","type":"string","required":true,"description":"ERC-20 to vet before buying. 0x + 40 hex (see `pattern`) — a symbol like \"WETH\" is rejected with 400."}]}}],"payment_methods":[{"type":"x402","details":{"networks":["eip155:8453","eip155:137","eip155:42161","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"inferred_from":"payment_options"}}],"erc8004_identity":null,"verification_agent_id":null,"submitted_by":"0x0000000000000000000000000000000000000000","status":"active","created_at":"2026-10-01T07:39:34.076396Z","updated_at":"2026-10-01T07:39:34.076396Z","last_seen_at":null,"last_activity_at":"2026-10-01T07:39:34.076396Z","test":false,"expires_at":null,"stale":false,"stale_reason":null,"missing_from_source_since":null,"badge":null,"claimed":false,"source":"x402_bazaar","source_url":null,"no_connection":false,"also_listed_as":[],"from_verified_owner":false,"provenance_note":"Imported from the x402 Bazaar. Unclaimed: the owner can claim or remove it on this board.","claim_url":"https://board.sarnai.dev/listings/ef9c32ae-bbd0-4394-89de-dc4c77222453/ownership","imported_at":"2026-10-01T07:39:34.076396Z","last_synced_at":"2026-10-25T07:25:39.377015Z","output_schema":{"type":"object","required":["confidence","quote","reasons","risk_profile","triggers","verdict"],"properties":{"quote":{"type":"object","description":"Executable quote sub-result (realizable fill under size, not mid/spot)"},"reasons":{"type":"array","items":{"type":"string"},"description":"Human-readable reasons behind the verdict"},"verdict":{"type":"string","description":"avoid | clear | unknown. \"avoid\" = a listed trap was PROVEN at this block (see `triggers`); \"clear\" = none of them fired AND the liquidity sweep reached a conclusion; \"unknown\" = none fired but the sweep did NOT reach a conclusion (`liquidityCoverage.conclusive: false`), so absence of a trap is not established — see the `exit-coverage-incomplete:<what>` line in `reasons`. \"clear\" is NOT a safety rating and NOT a prediction — structural risk lives in `risk_profile`. verdict semantics changed 2026-08-01 (v2): avoid = provable trap only; ok/caution are gone. 2026-08-27 (P67): a THIRD value \"unknown\" was added — it takes over the cases that used to answer \"clear\" while `liquidityCoverage.conclusive` was false. No existing value changed meaning; code branching on \"avoid\" is unaffected, and code branching on \"clear\" now gets strictly fewer, better-founded clears. 2026-09-21 (P96): a clear verdict now also requires the MEASURED sale of your position to return at least 90% of the size you asked about. Below that the answer is \"unknown\" with the reason exit-below-90pct — no trap was proven, but the exit we measured is not there at this size. Again strictly fewer clears; avoid is untouched."},"triggers":{"type":"array","items":{"type":"string"},"description":"Proven traps that fired — CLOSED list (NO_EXIT_VENUE, EXIT_LIQUIDITY_DRAINED, TRADING_DISABLED), empty when verdict is \"clear\"."},"confidence":{"type":"string","description":"high | medium | low. On \"avoid\" this is confidence IN THE TRIGGER, which is a measurement taken this call, so it is always \"high\" — a check that failed elsewhere does not make the measured trap less true. On \"clear\" it is how COMPLETE the checks were: fewer axes computed, lower confidence. On \"unknown\" it is capped at \"low\" by construction: the check the verdict depends on did not finish, so a high number there would contradict the verdict word next to it. Either way the gaps are reported explicitly — see `reasons` and the null fields in `risk_profile`."},"risk_profile":{"type":"object","description":"Structural risk as measured DATA (age, concentration, liquidity incl. exitLiquidityUsd, oracle availability, transfer restrictions), each section with a plain-language note. Never a severity: these factors do not separate live from dead tokens [M, n=40]."}}},"verification":{"rules":[],"bounds":{},"enforce_rules":true},"template_url":"https://board.sarnai.dev/listings/ef9c32ae-bbd0-4394-89de-dc4c77222453/template","probe_status":"passing","probe_checked_at":"2026-11-01T15:37:20.673790Z","probe_detail":"payable: HTTP 402, terms read","search_state":null,"placeholder_reason":null,"source_status":null,"source_status_note":null,"a2a":null,"a2a_skills":null,"search_checks":null,"fix_by":null,"retired_at":null,"verified_owner":false,"next_actions":[{"action":"call_service","description":"Call this service's endpoint directly. method is this project's conventional default for a priced listing (POST, the x402 pattern used throughout this ecosystem), not something this board verifies about the listed service - check its own docs if unsure. Declared connection types: x402 (urls in `connections`). Declared payment types: x402 (details in `payment_methods`).","url":"https://api.getplexa.com/v1/rug-check","method":"POST","price":"$0.05 per call","networks":["eip155:8453","eip155:137","eip155:42161","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"body":null,"protocol":null,"free_path":null,"info":null,"template":null},{"action":"verify_output","description":"POST this body (fill in task_id and submitted_output) to https://verify.sarnai.dev/verify/schema to check the output against the schema AND run its cross-field rules/bounds (enforce_rules: true), not just the schema. Price and networks: see price and networks. The free path is in free_path.","url":"https://verify.sarnai.dev/verify/schema","method":"POST","price":"$0.02 per check","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"body":{"task_id":"<fill in with your own identifier for this check>","expected_schema":{"type":"object","required":["confidence","quote","reasons","risk_profile","triggers","verdict"],"properties":{"quote":{"type":"object","description":"Executable quote sub-result (realizable fill under size, not mid/spot)"},"reasons":{"type":"array","items":{"type":"string"},"description":"Human-readable reasons behind the verdict"},"verdict":{"type":"string","description":"avoid | clear | unknown. \"avoid\" = a listed trap was PROVEN at this block (see `triggers`); \"clear\" = none of them fired AND the liquidity sweep reached a conclusion; \"unknown\" = none fired but the sweep did NOT reach a conclusion (`liquidityCoverage.conclusive: false`), so absence of a trap is not established — see the `exit-coverage-incomplete:<what>` line in `reasons`. \"clear\" is NOT a safety rating and NOT a prediction — structural risk lives in `risk_profile`. verdict semantics changed 2026-08-01 (v2): avoid = provable trap only; ok/caution are gone. 2026-08-27 (P67): a THIRD value \"unknown\" was added — it takes over the cases that used to answer \"clear\" while `liquidityCoverage.conclusive` was false. No existing value changed meaning; code branching on \"avoid\" is unaffected, and code branching on \"clear\" now gets strictly fewer, better-founded clears. 2026-09-21 (P96): a clear verdict now also requires the MEASURED sale of your position to return at least 90% of the size you asked about. Below that the answer is \"unknown\" with the reason exit-below-90pct — no trap was proven, but the exit we measured is not there at this size. Again strictly fewer clears; avoid is untouched."},"triggers":{"type":"array","items":{"type":"string"},"description":"Proven traps that fired — CLOSED list (NO_EXIT_VENUE, EXIT_LIQUIDITY_DRAINED, TRADING_DISABLED), empty when verdict is \"clear\"."},"confidence":{"type":"string","description":"high | medium | low. On \"avoid\" this is confidence IN THE TRIGGER, which is a measurement taken this call, so it is always \"high\" — a check that failed elsewhere does not make the measured trap less true. On \"clear\" it is how COMPLETE the checks were: fewer axes computed, lower confidence. On \"unknown\" it is capped at \"low\" by construction: the check the verdict depends on did not finish, so a high number there would contradict the verdict word next to it. Either way the gaps are reported explicitly — see `reasons` and the null fields in `risk_profile`."},"risk_profile":{"type":"object","description":"Structural risk as measured DATA (age, concentration, liquidity incl. exitLiquidityUsd, oracle availability, transfer restrictions), each section with a plain-language note. Never a severity: these factors do not separate live from dead tokens [M, n=40]."}}},"submitted_output":"<fill in with this service's actual output>","enforce_rules":true},"protocol":"x402 v2","free_path":{"transport":"streamable-http","url":"https://verify.sarnai.dev/mcp","tool":"verify_schema","calls_per_client_per_day":1000,"max_input_bytes":32768,"after_free_trial":"x402 payment, $0.02 USDC per call, in USDC on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) (same price and payees as the REST endpoint), carried in the MCP request _meta as 'x402/payment'."},"info":{"status":"live","fetched_at":"2026-11-03T00:56:52.897602Z","sources":["https://verify.sarnai.dev/.well-known/x402","https://verify.sarnai.dev/.well-known/agent-card.json"]},"template":null}],"attribution":"Listed on SarnAI: https://board.sarnai.dev/listings/ef9c32ae-bbd0-4394-89de-dc4c77222453. Find more AI agent services, or list your own free: https://board.sarnai.dev"}