{"openapi":"3.1.0","info":{"title":"TRON USDT Risk API","version":"2026-06-26.v1"},"paths":{"/v1/screen":{"post":{"summary":"Screen a TRON USDT address","security":[{"bearerApiKey":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"Public TRON address."}}}}}},"responses":{"200":{"description":"Screening completed."},"400":{"description":"Invalid request."},"401":{"description":"Missing or invalid API key."},"403":{"description":"API access disabled."},"409":{"description":"Idempotency key conflict."},"429":{"description":"Usage limit exceeded."},"502":{"description":"Upstream screening failed."}}}},"/v1/batches":{"get":{"summary":"List recent API batch jobs","security":[{"bearerApiKey":[]}],"responses":{"200":{"description":"Batch job list."},"401":{"description":"Missing or invalid API key."},"403":{"description":"API access disabled."}}},"post":{"summary":"Create a batch screening job","security":[{"bearerApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["addresses"],"properties":{"filename":{"type":"string"},"addresses":{"type":"array","maxItems":500,"items":{"oneOf":[{"type":"string"},{"type":"object","required":["address"],"properties":{"address":{"type":"string"},"label":{"type":"string"},"referenceId":{"type":"string"}}}]}}}}}}},"responses":{"201":{"description":"Batch job created."},"400":{"description":"Invalid request."},"401":{"description":"Missing or invalid API key."},"403":{"description":"API access disabled."}}}},"/v1/batches/{id}":{"get":{"summary":"Get a batch job and row results","security":[{"bearerApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Batch job detail."},"404":{"description":"Not found."}}}},"/v1/reports/{id}":{"get":{"summary":"Read a saved report","security":[{"bearerApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Report detail."},"404":{"description":"Not found."}}}},"/v1/watchlist":{"post":{"summary":"Add a watched address","security":[{"bearerApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string"},"label":{"type":"string"},"alerts":{"type":"object","properties":{"enabled":{"type":"boolean"},"minAmountBase":{"type":"string"},"direction":{"type":"string","enum":["inbound","outbound","both"]},"exchangeRoutesEnabled":{"type":"boolean"}}}}}}}},"responses":{"201":{"description":"Watchlist item created."},"409":{"description":"Address already watched."}}}},"/v1/webhooks/test":{"post":{"summary":"Send a signed test webhook","security":[{"bearerApiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"},"eventType":{"type":"string"},"signingSecret":{"type":"string"},"payload":{}}}}}},"responses":{"200":{"description":"Webhook accepted a test event."},"502":{"description":"Webhook delivery failed."}}}}},"components":{"securitySchemes":{"bearerApiKey":{"type":"http","scheme":"bearer"}}}}