{"openapi":"3.1.0","info":{"title":"SolProbe","version":"2.0","summary":"Solana token risk scanner for AI agents. Pay-per-call in USDC on Base or Solana via x402.","description":"SolProbe runs structural-safety, market-signal, and adversarial-risk analyses on Solana tokens, plus a Mode-A BYOW swap executor. All paid endpoints settle in USDC on Base (eip155:8453) or Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) via x402 — same price either chain.","x-guidance":"SolProbe is a Solana token risk scanner. Scanner endpoints take a Solana mint address (token_address, base58 32–44 chars) and return safety, market, or adversarial risk data. Always call POST /scan/quick before any token swap to screen structural safety. Use POST /market/intel for live market signal, POST /scan/deep for adversarial deep dive (insider clustering, wash trading, dev wallet history). POST /trade/quote (free) returns an unsigned Solana swap tx and runs a risk gate. Sign locally, then POST /trade/execute ($0.15) with the signed tx for broadcast — Mode A BYOW, SolProbe never holds private keys. Payment flow: POST any paid endpoint, parse the 402 response's `payment-required` header (base64-encoded JSON with the PaymentRequired payload). It offers two `accepts[]` options at the same price — USDC on Base (eip155:8453, sign an EIP-3009 transferWithAuthorization permit) or USDC on Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, sign the SPL-token transfer per the x402 exact-SVM scheme). Retry with the signed payment in X-PAYMENT. Also reachable via Virtuals Protocol ACP at the same prices (channel parity)."},"servers":[{"url":"https://api.solprobe.xyz"}],"paths":{"/scan/quick":{"post":{"summary":"Solana rug check and token safety grade in under 5 seconds — is this Solana token a scam or safe to buy? Returns an A–F risk grade with mint-authority, freeze-authority, top-holder concentration, and LP-burn status from live on-chain data. The pre-trade safety gate for any Solana trading agent.","description":"Solana rug check and token safety grade in under 5 seconds — is this Solana token a scam or safe to buy? Returns an A–F risk grade with mint-authority, freeze-authority, top-holder concentration, and LP-burn status from live on-chain data. The pre-trade safety gate for any Solana trading agent.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token_address":{"type":"string","minLength":32,"maxLength":44}},"required":["token_address"]}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.02"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response. See /llm.txt for the full output schema.","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"type":"string","enum":["2.0"]},"token_address":{"type":"string"},"symbol":{"type":["string","null"]},"name":{"type":["string","null"]},"logo_uri":{"type":["string","null"]},"grade_type":{"type":"string","enum":["STRUCTURAL_SAFETY"]},"scope":{"type":"object","properties":{"includes":{"type":"array","items":{"type":"string"}},"excludes":{"type":"array","items":{"type":"string"}}},"required":["includes","excludes"]},"mint_authority_revoked":{"type":"boolean"},"freeze_authority_revoked":{"type":"boolean"},"top_10_holder_pct":{"type":["number","null"]},"liquidity_check":{"type":"object","properties":{"rating":{"type":"string","enum":["DEEP","ADEQUATE","THIN","CRITICAL","UNKNOWN"]},"meaning":{"type":"string"},"threshold_usd":{"type":["number","null"]},"action_guidance":{"type":"string"}}},"lp_burned":{"type":["boolean","null"]},"lp_model":{"type":"string","enum":["TRADITIONAL_AMM","CLMM_DLMM","UNKNOWN"]},"lp_status":{"type":"string","enum":["BURNED","UNBURNED","CUSTODIAL","NOT_APPLICABLE","UNKNOWN"]},"structural_risk_grade":{"type":"string","enum":["A","B","C","D","F"]},"authority_exempt":{"type":"boolean"},"launch_anomaly":{"type":"object"},"liquidity_lock_status":{"type":"object"},"factors":{"type":"array","items":{"type":"object"}},"historical_flags":{"type":"array","items":{"type":"string"}},"confidence":{"type":"object","properties":{"model":{"type":"number"},"data_completeness":{"type":"number"},"signal_consensus":{"type":"number"}},"required":["model","data_completeness","signal_consensus"]},"data_confidence":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"data_quality":{"type":"string","enum":["FULL","PARTIAL","LIMITED"]},"missing_fields":{"type":"array","items":{"type":"string"}},"summary":{"type":"string"}},"required":["schema_version","token_address","grade_type","mint_authority_revoked","freeze_authority_revoked","structural_risk_grade","data_confidence","data_quality","summary"]}}}},"402":{"description":"Payment required. Decode the `payment-required` response header (base64-encoded JSON) for the PaymentRequired payload, which carries an `accepts[]` array: pick the Base entry (eip155:8453) and sign an EIP-3009 transferWithAuthorization permit, OR the Solana entry (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sign the SPL-token transfer per the x402 exact-SVM scheme. Resubmit with X-PAYMENT.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/market/intel":{"post":{"summary":"Solana token market signal — is it pumping or dumping? In under 10 seconds: current price, volume, buy/sell pressure, large-transaction (whale) detection, and a BULLISH/BEARISH/NEUTRAL call. Market context a trading agent needs before sizing or executing a Solana position.","description":"Solana token market signal — is it pumping or dumping? In under 10 seconds: current price, volume, buy/sell pressure, large-transaction (whale) detection, and a BULLISH/BEARISH/NEUTRAL call. Market context a trading agent needs before sizing or executing a Solana position.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token_address":{"type":"string","minLength":32,"maxLength":44}},"required":["token_address"]}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.20"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response. See /llm.txt for the full output schema.","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"type":"string","enum":["2.0"]},"current_price_usd":{"type":"number"},"price_change_5m_pct":{"type":["number","null"]},"price_change_15m_pct":{"type":["number","null"]},"price_change_1h_pct":{"type":"number"},"price_change_24h_pct":{"type":"number"},"pct_from_ath":{"type":["number","null"]},"ath_price_usd":{"type":["number","null"]},"volume_1h_usd":{"type":"number"},"volume_24h_usd":{"type":"number"},"liquidity_usd":{"type":"number"},"buy_sell_ratio":{"type":"number"},"buy_pressure":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"sell_pressure":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"large_txs_last_hour":{"type":"number"},"volatility":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"signal":{"type":"string","enum":["BULLISH","BEARISH","NEUTRAL"]},"signal_subtype":{"type":"string"},"token_health":{"type":"string","enum":["ACTIVE","LOW_ACTIVITY","DECLINING","ILLIQUID","DEAD"]},"factors":{"type":"array","items":{"type":"object"}},"confidence":{"type":"object","properties":{"model":{"type":"number"},"data_completeness":{"type":"number"},"signal_consensus":{"type":"number"}},"required":["model","data_completeness","signal_consensus"]},"data_confidence":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"data_quality":{"type":"string","enum":["FULL","PARTIAL","LIMITED"]},"missing_fields":{"type":"array","items":{"type":"string"}},"market_summary":{"type":"string"}},"required":["schema_version","current_price_usd","volume_24h_usd","liquidity_usd","buy_sell_ratio","signal","token_health","data_confidence","data_quality","market_summary"]}}}},"402":{"description":"Payment required. Decode the `payment-required` response header (base64-encoded JSON) for the PaymentRequired payload, which carries an `accepts[]` array: pick the Base entry (eip155:8453) and sign an EIP-3009 transferWithAuthorization permit, OR the Solana entry (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sign the SPL-token transfer per the x402 exact-SVM scheme. Resubmit with X-PAYMENT.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/scan/deep":{"post":{"summary":"Deep due diligence on a Solana token — should you buy it? Everything in the quick rug check plus dev-wallet history, LP-lock status, wash-trading detection, pump.fun and bundled-launch detection, momentum score, and a BUY/AVOID/WATCH/DYOR recommendation in under 30 seconds.","description":"Deep due diligence on a Solana token — should you buy it? Everything in the quick rug check plus dev-wallet history, LP-lock status, wash-trading detection, pump.fun and bundled-launch detection, momentum score, and a BUY/AVOID/WATCH/DYOR recommendation in under 30 seconds.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token_address":{"type":"string","minLength":32,"maxLength":44}},"required":["token_address"]}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response. See /llm.txt for the full output schema.","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"type":"string","enum":["2.0"]},"is_honeypot":{"type":"boolean"},"mint_authority_revoked":{"type":"boolean"},"freeze_authority_revoked":{"type":"boolean"},"top_10_holder_pct":{"type":["number","null"]},"authority_exempt":{"type":"boolean"},"lp_burned":{"type":["boolean","null"]},"lp_status":{"type":"string","enum":["BURNED","UNBURNED","UNKNOWN","NOT_APPLICABLE"]},"lp_model":{"type":"string","enum":["TRADITIONAL_AMM","CLMM_DLMM","UNKNOWN"]},"risk_grade":{"type":"string","enum":["A","B","C","D","F"]},"risk_breakdown":{"type":"object","properties":{"contract_risk":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"liquidity_risk":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"market_risk":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"behavioral_risk":{"type":"string","enum":["LOW","MEDIUM","HIGH"]}}},"wallet_analysis":{"type":"object","properties":{"clustered_wallets":{"type":"number"},"insider_control_percent":{"type":["number","null"]},"dev_wallet_linked":{"type":"boolean"}}},"dev_wallet_analysis":{"type":"object","properties":{"address":{"type":"string"},"sol_balance":{"type":["number","null"]},"created_tokens_count":{"type":["number","null"]},"previous_rugs":{"type":"boolean"}}},"launch_pattern":{"type":"string","enum":["STEALTH_LAUNCH","FAIR_LAUNCH","UNKNOWN"]},"sniper_activity":{"type":"string","enum":["LOW","MEDIUM","HIGH"]},"liquidity_lock_status":{"type":"object","properties":{"locked":{"type":"boolean"},"lock_duration_days":{"type":"number"},"locked_pct":{"type":"number"}}},"trading_pattern":{"type":"object","properties":{"buy_sell_ratio_1h":{"type":"number"},"unique_buyers_24h":{"type":"number"},"wash_trading_score":{"type":"number"}}},"pump_fun_launched":{"type":"boolean"},"bundled_launch_detected":{"type":"boolean"},"volume_24h":{"type":"number"},"price_change_24h_pct":{"type":"number"},"momentum_score":{"type":"number"},"factors":{"type":"array","items":{"type":"object"}},"historical_flags":{"type":"array","items":{"type":"string"}},"key_drivers":{"type":"array","items":{"type":"object"}},"recommendation":{"type":"object","properties":{"action":{"type":"string","enum":["AVOID","WATCH","CONSIDER","DYOR"]},"reason":{"type":"string"},"confidence":{"type":"number"},"time_horizon":{"type":"string","enum":["SHORT_TERM","MEDIUM_TERM","LONG_TERM"]}},"required":["action","reason","confidence","time_horizon"]},"confidence":{"type":"object","properties":{"model":{"type":"number"},"data_completeness":{"type":"number"},"signal_consensus":{"type":"number"}},"required":["model","data_completeness","signal_consensus"]},"data_confidence":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"data_quality":{"type":"string","enum":["FULL","PARTIAL","LIMITED"]},"missing_fields":{"type":"array","items":{"type":"string"}},"full_risk_report":{"type":"string"}},"required":["schema_version","risk_grade","risk_breakdown","recommendation","data_confidence","data_quality","full_risk_report"]}}}},"402":{"description":"Payment required. Decode the `payment-required` response header (base64-encoded JSON) for the PaymentRequired payload, which carries an `accepts[]` array: pick the Base entry (eip155:8453) and sign an EIP-3009 transferWithAuthorization permit, OR the Solana entry (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sign the SPL-token transfer per the x402 exact-SVM scheme. Resubmit with X-PAYMENT.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/trade/execute":{"post":{"summary":"Execute a Solana token swap via Jupiter (Mode A, bring-your-own-wallet). Quote free at /trade/quote, sign the returned transaction, post it here to broadcast — single $0.15 fee on commit, returns the Solana tx signature. Lets a trading agent act on a scan in one flow.","description":"Execute a Solana token swap via Jupiter (Mode A, bring-your-own-wallet). Quote free at /trade/quote, sign the returned transaction, post it here to broadcast — single $0.15 fee on commit, returns the Solana tx signature. Lets a trading agent act on a scan in one flow.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string"},"signed_transaction_b64":{"type":"string"}},"required":["job_id","signed_transaction_b64"]}}}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.15"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Successful response. See /llm.txt for the full output schema.","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"type":"string","enum":["2.0"]},"job_id":{"type":"string"},"status":{"type":"string","enum":["broadcast","confirmed","rejected"]},"execution":{"type":["object","null"],"properties":{"tx_signature":{"type":"string"},"slot":{"type":["number","null"]}}},"rejection":{"type":["object","null"],"properties":{"code":{"type":"string"},"reason":{"type":"string"},"refundable":{"type":"boolean"}}}},"required":["schema_version","job_id","status"]}}}},"402":{"description":"Payment required. Decode the `payment-required` response header (base64-encoded JSON) for the PaymentRequired payload, which carries an `accepts[]` array: pick the Base entry (eip155:8453) and sign an EIP-3009 transferWithAuthorization permit, OR the Solana entry (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and sign the SPL-token transfer per the x402 exact-SVM scheme. Resubmit with X-PAYMENT.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}