{"api":"v1","generated_at":"2026-09-15T19:46:37.501Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/api-getplexa-com-v1-pretrade-check-65bafd","pinned_page":"https://tollindex.com/e/api-getplexa-com-v1-pretrade-check-65bafd/at/2026-09-15T16-57Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-09-15T16:57:44.360Z","snapshot_stamp":"2026-09-15T16-57Z","endpoint":{"slug":"api-getplexa-com-v1-pretrade-check-65bafd","canonical_url":"https://api.getplexa.com/v1/pretrade/check","resource":"https://api.getplexa.com/v1/pretrade/check","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Plexa /v1/pretrade/check — pre-trade token safety check on Base: can you still sell this token? avoid fires only on a trap proven on-chain now: no pool to exit into, an exit pot under 5% of your size, or the trading gate off (the honeypot shape). A drained pot is what a rug leaves behind — measured, not predicted. clear = no provable trap, NOT safe. risk_profile: token age, holder concentration, liquidity, transfer limits. Not financial advice.","service_name":null,"declared_category":null,"declared_tags":[],"route_template":null,"registry_updated":"2026-09-01T11:59:23.895Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"pretrade check","category":"market-data","first_observed_by_toll":"2026-09-10T19:08:24.178Z","last_observed_by_toll":"2026-09-15T16:57:44.360Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-10T19:08:24.178Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.05 USDC","amount_units":0.05,"decimals_known":true,"pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","scheme":"exact"},{"registry":"cdp","ordinal":1,"network":"eip155:137","asset":"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.05 USDC","amount_units":0.05,"decimals_known":true,"pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","scheme":"exact"},{"registry":"cdp","ordinal":2,"network":"eip155:42161","asset":"0xaf88d065e77c8cc2239327c5edb3a432268e5831","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.05 USDC","amount_units":0.05,"decimals_known":true,"pay_to":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","scheme":"exact"},{"registry":"cdp","ordinal":3,"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","asset_name":null,"symbol":"USDC","decimals":6,"amount_display":"0.05 USDC","amount_units":0.05,"decimals_known":true,"pay_to":"D6FqEyoFvkgGy4PpJjckHc3xRXhzL6mWQ25gz4rkVLor","scheme":"exact"}],"counters":{"observed_at":"2026-09-15T16:57:44.360Z","calls_30d":43,"unique_payers_30d":2,"last_called_at":"2026-09-01T11:59:23.311Z"},"validation":{"latest":{"observed_at":"2026-09-15T05:02:00.073Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-15"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":5,"passed":5,"ratio":1},{"days":90,"observed":5,"passed":5,"ratio":1}],"history_90d":[{"observed_at":"2026-09-15T05:02:00.073Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-15","state_changed":false},{"observed_at":"2026-09-14T04:53:23.284Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-14","state_changed":false},{"observed_at":"2026-09-13T04:52:06.712Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-13","state_changed":false},{"observed_at":"2026-09-12T07:07:49.486Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-12","state_changed":false},{"observed_at":"2026-09-11T10:46:49.282Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-11","state_changed":true}]},"seller":{"wallet":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","page":"https://tollindex.com/seller/0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","endpoints":4,"hosts":1},"reports":0,"registry_record":{"cdp":[{"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"50000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":300},{"asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","extra":{"name":"USD Coin","version":"2"},"payTo":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"50000","scheme":"exact","network":"eip155:137","maxTimeoutSeconds":300},{"asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","extra":{"name":"USD Coin","version":"2"},"payTo":"0xd993eAfBA87cFfa2ca2CFF5A56EF89034575A7ef","amount":"50000","scheme":"exact","network":"eip155:42161","maxTimeoutSeconds":300},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","extra":{"feePayer":"GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"},"payTo":"D6FqEyoFvkgGy4PpJjckHc3xRXhzL6mWQ25gz4rkVLor","amount":"50000","scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","maxTimeoutSeconds":300}],"quality":{"lastCalledAt":"2026-09-01T11:59:23.311Z","l30DaysTotalCalls":43,"l30DaysUniquePayers":2},"resource":"https://api.getplexa.com/v1/pretrade/check","extensions":{"bazaar":{"info":{"input":{"body":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","sizeUSD":"1000"},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"ts":1786358976434,"quote":{"direction":"buy","confidence":"high","executablePrice":0.0005214424247520731},"market":{"holderCount":5223863,"marketCapUsd":542587444,"priceUsdSpot":2277.76,"volume24hUsd":551324354.8699999},"reasons":["no provable trap detected. This is NOT a safety rating: it means none of the checks that can PROVE a trap (NO_EXIT_VENUE, EXIT_LIQUIDITY_DRAINED, TRADING_DISABLED) fired at this block, AND the liquidity sweep reached a conclusion (liquidityCoverage.conclusive). Structural risk — age, holder concentration, liquidity depth, transfer restrictions — is reported in risk_profile and can still be severe","could not check F_CONC — reported as unknown, never as clean; confidence reduced accordingly"],"sources":{"*":"measured","market":"vendor:dexscreener+goplus","market.holderCount":"vendor:goplus","risk_profile.concentration":"unavailable:holder-axis-produced-nothing"},"verdict":"clear","coverage":{"axesExpected":5,"axesReporting":4},"triggers":[],"confidence":"medium","validUntil":1786358979434,"risk_profile":{"age":{"ageDays":1143.6,"genesisBlock":381217},"oracle":{"source":"chainlink:ETH / USD","deviationBps":16},"liquidity":{"poolCount":32,"venueCount":13,"exitLiquidityUsd":81553087.89},"concentration":{"stale":null,"ageSec":null,"source":null,"top1SharePct":null,"top10SharePct":null},"transferability":{"fingerprints":"none","hasBlacklist":false,"tradingEnabled":null}},"liquidityCoverage":{"asOfBlock":49784814,"conclusive":true,"poolsFound":32,"venuesUnread":0,"asOfBlockFirst":49784813,"factoriesChecked":13,"unmeasuredVenues":0,"singletonPoolsSeen":1,"singletonPoolsHooked":0,"unmeasuredVenueNames":[],"singletonPoolsCounted":1,"singletonPoolsRejected":0,"singletonScanTruncated":false}}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","examples":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","sizeUSD":"1000"}],"required":["token"],"properties":{"chain":{"enum":["base","polygon","matic","arbitrum","arbitrum-one","arb","eip155:8453","eip155:137","eip155:42161"],"type":"string","description":"Optional, default \"base\". One of: base | polygon | matic | arbitrum | arbitrum-one | arb | eip155:8453 | eip155:137 | eip155:42161 — case-sensitive (see `enum`). The safety flags are Base-tuned, so a non-base value currently answers 422 rather than returning Base-calibrated flags for another chain."},"token":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-20 to vet before buying. 0x + 40 hex (see `pattern`) — a symbol like \"WETH\" is rejected with 400."},"sizeUSD":{"type":"string","pattern":"^(?:0\\.\\d*[1-9]\\d*|[1-9]\\d*(?:\\.\\d+)?)$","maxLength":78,"description":"Optional USD notional for the executable-quote sub-result, default \"1000\". A STRING, not a number; positive, no thousands separator (\"1,000\" is rejected) — see `pattern`."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","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."},"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]."}}}}}}}},"builder-code":{"info":{"a":"bc_g9x4yzn7"},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"a":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"App builder code"},"s":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9_]{1,32}$"},"description":"Service builder codes"},"w":{"type":"string","pattern":"^[a-z0-9_]{1,32}$","description":"Wallet builder code"}},"additionalProperties":false}}},"description":"Plexa /v1/pretrade/check — pre-trade token safety check on Base: can you still sell this token? avoid fires only on a trap proven on-chain now: no pool to exit into, an exit pot under 5% of your size, or the trading gate off (the honeypot shape). A drained pot is what a rug leaves behind — measured, not predicted. clear = no provable trap, NOT safe. risk_profile: token age, holder concentration, liquidity, transfer limits. Not financial advice.","lastUpdated":"2026-09-01T11:59:23.895Z","x402Version":2}]}}