{"slug":"api-solsentry-app-x402-v1-drain-trace-solana-address-b9ecc6","title":"Follow the money out of a wallet","host":"api.solsentry.app","method":"GET","resource":"https://api.solsentry.app/x402/v1/drain-trace/:solana_address","category":"market","description":"Follow the money out of a wallet. Walks outflows hop by hop under a causal gate (each hop must post-date the last and carry continuous value) until it reaches an exchange deposit, a bridge, a swap venue, or runs out of trail. Returns every hop with its labelled destination, the token-leg outflows al","price_listed":null,"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":4,"reported_payers_30d":1,"networks":["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","pathParams":{"solana_address":"Solana wallet address (base58-encoded public key, 43–44 characters)"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"pathParams":{"properties":{"wallet":{"description":"Solana address (base58)","maxLength":44,"minLength":32,"type":"string"}},"required":["wallet"],"type":"object"},"queryParams":{"properties":{},"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"cloak_proof":{"type":"object"},"endpoints":{"items":{"type":"object"},"type":"array"},"free_via_victimhood":{"type":"boolean"},"hop_count":{"type":"integer"},"hops":{"items":{"properties":{"amount_sol":{"type":"number"},"destination_category":{"type":"string"},"destination_label":{"type":"string"},"from":{"type":"string"},"hop_number":{"type":"integer"},"timestamp":{"type":"number"},"to":{"type":"string"},"tx_signature":{"type":"string"}},"type":"object"},"type":"array"},"latency_ms":{"type":"number"},"origin_risk":{"type":"object"},"origin_token":{"type":"object"},"provenance":{"description":"Freshness of this answer: when it was fetched/computed (UTC), whether it came from a cache layer, and the Solana slot it reflects when the underlying data source exposes one (null otherwise).","properties":{"as_of_slot":{"type":["integer","null"]},"cached":{"type":"boolean"},"fetched_at":{"description":"ISO-8601 UTC timestamp","type":"string"},"source":{"type":["string","null"]}},"type":"object"},"reached_cex":{"type":"boolean"},"reached_mixer":{"type":"boolean"},"spl_outflows":{"description":"Token-leg outflows; a SOL-only reading of this trace is incomplete","items":{"type":"object"},"type":"array"},"total_sol_drained":{"type":"number"},"trace_time_ms":{"type":"number"},"victim_verdict":{"type":"object"},"wallet":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Follow the money out of a wallet. Walks outflows hop by hop under a causal gate (each hop must post-date the last and carry continuous value) until it reaches an exchange deposit, a bridge, a swap venue, or runs out of trail. Returns every hop with its labelled destination, the token-leg outflows alongside the SOL leg, and whether the trail ended at an exchange or a privacy protocol.","last_updated":"2026-09-19T19:14:38.464Z","schemes":["exact"]}