{"slug":"token-verdict-production-up-railway-app-v1-pre-trade-aed546","title":"One combined go/no-go before an agent spends","host":"token-verdict-production.up.railway.app","method":"POST","resource":"https://token-verdict-production.up.railway.app/v1/pre-trade","category":"company","description":"One combined go/no-go before an agent spends: PROCEED / CAUTION / ABORT from the token's market verdict, the counterparty wallet's sanctions, age and poisoning check, and — with a spender — its ERC-20 approvals. A leg that cannot be evaluated returns unknown and caps the verdict at CAUTION. Mode 'co","price_listed":0.05,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"chain":"base","mode":"compact","spender":null,"token_address":"0x2821d96B5FC81aEC3763340b375a846a89A3Ec1b","wallet_address":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"chain":{"default":"base","description":"Chain of the token leg. Wallet/allowance legs are Base-only: supplying wallet_address requires chain base.","enum":["base","ethereum","solana"],"type":"string"},"mode":{"description":"Optional response mode, default 'full'. 'full' returns every leg in full (signals, market data, sanctions and poisoning detail). 'compact' returns the decision, the worst leg, and one summary per leg (verdict, score, headline reason) — the same computation, a smaller response.","enum":["full","compact"],"type":"string"},"spender":{"description":"Optional spender contract (Base 0x...); with wallet_address, adds the allowance leg for that spender","type":["string","null"]},"token_address":{"description":"Token contract address (0x...) the trade would buy or receive","type":"string"},"wallet_address":{"description":"Optional counterparty / own wallet (Base 0x...) to check for sanctions, age, activity and poisoning signals","type":["string","null"]}},"required":["token_address"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"abort_reasons":{"items":{"type":"string"},"type":"array"},"degraded":{"description":"True when at least one leg could not be evaluated (verdict then caps at CAUTION)","type":"boolean"},"legs":{"anyOf":[{"properties":{"allowance":{"properties":{"active_approvals":{"type":["array","string"]},"allowance_checks_performed":{"type":"integer"},"max_risk":{"enum":["high","medium","none","unknown"],"type":"string"},"not_checked":{"type":"string"},"owner":{"type":"string"},"spender":{"type":["string","null"]},"spenders_checked":{"type":"integer"},"status":{"enum":["ok","unknown"],"type":"string"},"summary":{"type":"string"},"tokens_held_checked":{"type":["integer","string"]},"unlimited_approvals":{"type":["integer","string"]}},"required":["status"],"type":"object"},"token":{"properties":{"detail":{"type":"string"},"risk_score":{"maximum":100,"minimum":0,"type":["number","null"]},"signals":{"items":{"properties":{"detail":{"type":"string"},"name":{"type":"string"},"score":{"maximum":100,"minimum":0,"type":"integer"},"weight":{"type":"number"}},"required":["name","score","weight","detail"],"type":"object"},"type":"array"},"status":{"enum":["ok","unknown"],"type":"string"},"take":{"type":["string","null"]},"token":{"properties":{"address":{"type":"string"},"chain":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}},"type":["object","null"]},"verdict":{"enum":["SOLID","CAUTION","DANGER",null],"type":["string","null"]}},"required":["status"],"type":"object"},"wallet":{"properties":{"address":{"type":"string"},"first_activity":{"type":"string"},"not_checked":{"type":"string"},"outgoing_tx_count_nonce":{"type":["integer","null"]},"poisoning":{"properties":{"signals":{"type":"array"},"status":{"enum":["signals_found","none_found","unknown"],"type":"string"}},"type":"object"},"reasons":{"type":"array"},"risk_score":{"maximum":100,"minimum":0,"type":["number","null"]},"sanctions":{"properties":{"matched":{"type":["boolean","null"]},"snapshot_date":{"type":["string","null"]},"status":{"enum":["matched","no_match","unknown"],"type":"string"}},"type":"object"},"status":{"enum":["ok","unknown"],"type":"string"},"verdict":{"enum":["SAFE","CAUTION","AVOID",null],"type":["string","null"]},"wallet_age_days":{"type":["integer","null"]}},"required":["status"],"type":"object"}},"required":["token"],"type":"object"},{"items":{"properties":{"headline":{"type":"string"},"leg":{"enum":["token","wallet","allowance"],"type":"string"},"score":{"maximum":100,"minimum":0,"type":["number","null"]},"status":{"enum":["ok","unknown"],"type":"string"},"verdict":{"type":["string","null"]}},"required":["leg","status","headline"],"type":"object"},"type":"array"}],"description":"Full mode: an object keyed by leg name with each leg in full. Compact mode: an array of per-leg summaries (see worst_leg)."},"mode":{"description":"The response mode that produced this result (echo of the request's mode, 'full' when omitted). The legs shape follows it.","enum":["full","compact"],"type":"string"},"not_checked":{"type":"string"},"score":{"description":"Combined risk = the worst delivered leg's risk score","maximum":100,"minimum":0,"type":"number"},"spender":{"type":["string","null"]},"token":{"type":"object"},"verdict":{"enum":["PROCEED","CAUTION","ABORT"],"type":"string"},"wallet":{"type":["string","null"]},"worst_leg":{"description":"Compact mode only: the leg that drove the combined outcome (a hard-abort source, else the highest-risk scored leg)","enum":["token","wallet",null],"type":["string","null"]}},"required":["verdict","score","legs","degraded","not_checked"],"type":"object"},"schema":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"One combined go/no-go before an agent spends: PROCEED / CAUTION / ABORT from the token's market verdict, the counterparty wallet's sanctions, age and poisoning check, and — with a spender — its ERC-20 approvals. A leg that cannot be evaluated returns unknown and caps the verdict at CAUTION. Mode 'compact' returns the decision, the worst leg, and one summary per leg. Use this when an agent is about to swap, pay, or route funds and needs token + wallet risk in one call.","last_updated":"2026-10-25T17:26:28.346Z","schemes":["exact"]}