{"openapi":"3.1.0","info":{"title":"Sentinel Alpha API","version":"0.1.0"},"paths":{"/contracts/risk-score":{"post":{"summary":"Contract risk score (x402-gated)","description":"Payable marketplace operation for BeezShield Sentinel Alpha. Unpaid requests (missing or invalid X402-PAYMENT in real mode, or invalid PAYMENT-SIGNATURE in demo mode) receive HTTP 402 with a pure x402 v1 challenge JSON body (x402Version, error, accepts only; body-first, no PAYMENT-REQUIRED header on v1). Paid requests with valid payment receive contract risk scoring. Pre-execution policy assistance only — not a security guarantee.","operationId":"risk_score_contracts_risk_score_post","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment-Signature"}},{"name":"X402-PAYMENT","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X402-Payment"}},{"name":"X-SENTINEL-LANE","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Sentinel-Lane"}}],"responses":{"200":{"description":"Risk score JSON (paid)","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — pure x402 v1 challenge (x402Version, error, accepts only)"},"422":{"description":"Invalid request body (paid path only, after payment gate)"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contract_address":{"title":"Contract Address","type":"string"},"chain":{"title":"Chain","type":"string"},"context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context"}},"required":["contract_address","chain"],"title":"RequestModel","type":"object"},"example":{"contract_address":"0x1111111111111111111111111111111111111111","chain":"base"}}}},"x-payment-info":{"authMode":"paid","protocols":["x402"],"price":{"amount":"0.02","currency":"USDC"}}}}}}