{"openapi":"3.1.0","info":{"title":"LIGHTHOUSE (МАЯК) USDT freeze risk API","version":"1.1.0","description":"Risk of a Tether USDT freeze for crypto addresses on Ethereum, Tron, Avalanche, Celo, Solana and TON. Levels: 0 no risk, 1 freeze proposal open, 2 second of three signatures, 3 frozen. Not a legal opinion.","contact":{"url":"https://usdtbanned.com"}},"servers":[{"url":"https://usdtbanned.com"}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Order":{"type":"object","properties":{"id":{"type":"string"},"plan":{"type":"string"},"status":{"type":"string","enum":["pending","paid","expired"]},"amount_usdt":{"type":"number"},"address":{"type":"string"},"expires_at":{"type":"integer"},"pay":{"type":["object","null"],"properties":{"to":{"type":"string"},"amount_usdt":{"type":"number"},"amount_raw":{"type":"string"},"deadline":{"type":"string"}}},"api_key":{"type":["object","null"],"properties":{"key":{"type":"string"},"expires_at":{"type":"integer"}}}}},"Risk":{"type":"object","properties":{"address":{"type":"string"},"level":{"type":"integer","minimum":0,"maximum":3},"label":{"type":"string"},"action":{"type":"string"},"chains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"level":{"type":"integer","minimum":0,"maximum":3},"label":{"type":"string"},"blacklisted":{"type":"boolean"},"onchain_check":{"type":"string"},"balance_usdt":{"type":["number","null"]},"reasons":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"text":{"type":"string"}}}},"open_proposals":{"type":"array","items":{"type":"object"}},"episodes":{"type":"array","items":{"type":"object"}}}}},"checked_at":{"type":"integer","description":"Unix time"}}}}},"paths":{"/api/v1/risk/{address}":{"get":{"operationId":"checkAddress","summary":"USDT freeze risk of an address","description":"Use when the user asks whether a wallet is frozen, blacklisted or risky to receive USDT from.","security":[{"ApiKey":[]}],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"0x… (Ethereum/Avalanche/Celo), T… (Tron), TON or Solana address"},{"name":"live","in":"query","required":false,"schema":{"type":"integer","enum":[0,1]},"description":"0 skips the live node check"},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ru","en"]},"description":"Language of texts"}],"responses":{"200":{"description":"Risk","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Risk"}}}},"400":{"description":"Address not recognised"},"401":{"description":"API key missing"}}}},"/api/v1/risk/batch":{"post":{"operationId":"checkAddresses","summary":"Batch risk check (up to 50 addresses)","security":[{"ApiKey":[]}],"parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ru","en"]},"description":"Language of texts"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["addresses"],"properties":{"addresses":{"type":"array","items":{"type":"string"},"maxItems":50}}}}}},"responses":{"200":{"description":"Results","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"level":{"type":"integer"},"label":{"type":"string"},"action":{"type":"string"}}}}}}}}}}}},"/api/v1/proposals":{"get":{"operationId":"listOpenProposals","summary":"Open freeze proposals in Tether multisigs (early warning)","security":[{"ApiKey":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["open","recent"]}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30}},{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ru","en"]},"description":"Language of texts"}],"responses":{"200":{"description":"Proposals","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object"}},"totals":{"type":"object"}}}}}}}}},"/api/v1/me":{"get":{"operationId":"getKeyStatus","summary":"API key status and remaining daily quota","security":[{"ApiKey":[]}],"responses":{"200":{"description":"Key status","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/plans":{"get":{"operationId":"listPlans","summary":"Plans, prices and crypto payment methods","responses":{"200":{"description":"Plans","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/orders":{"post":{"operationId":"createOrder","summary":"Create an order paid in USDT TRC-20 (no account needed for API plans)","description":"Returns the Tron address and the exact amount to send within 60 minutes. Ask the user to approve the transfer before sending.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["plan"],"properties":{"plan":{"type":"string","enum":["api30","api365"]},"extend":{"type":"boolean"}}}}}},"responses":{"201":{"description":"Order with payment instructions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}}}}},"/api/v1/orders/{id}":{"get":{"operationId":"getOrder","summary":"Order status; returns the API key once paid","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}}}}},"/api/v1/orders/{id}/tx":{"post":{"operationId":"submitPayment","summary":"Submit the Tron tx hash of the payment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tx"],"properties":{"tx":{"type":"string","description":"64 hex"}}}}}},"responses":{"200":{"description":"Verdict: paid, unconfirmed, processing, wrong_amount, wrong_recipient, not_found","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/stats":{"get":{"operationId":"getStatistics","summary":"Public USDT blacklist statistics","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","enum":["ru","en"]},"description":"Language of texts"}],"responses":{"200":{"description":"Statistics","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}