{"openapi": "3.1.0", "info": {"title": "memodu API", "version": "2.5", "description": "Trace USDT on TRON, connect two wallets, check freeze and sanctions lists, and ask questions about an address. Public blockchain data only."}, "servers": [{"url": "https://memodu.com"}], "paths": {"/api/trace": {"get": {"summary": "Follow USDT forward from an address or a transaction", "operationId": "trace", "parameters": [{"name": "target", "in": "query", "required": true, "description": "TRON address or transaction hash", "schema": {"type": "string"}}, {"name": "hops", "in": "query", "required": false, "description": "1 to 6, default 4", "schema": {"type": "integer"}}, {"name": "branch", "in": "query", "required": false, "description": "1 to 8, default 4", "schema": {"type": "integer"}}], "responses": {"200": {"description": "nodes, edges, findings (services reached, deposit addresses, funds held, pass-through wallets, flagged addresses) and a plain language summary", "content": {"application/json": {"schema": {"type": "object"}}}}, "400": {"description": "Invalid input"}, "429": {"description": "Too many requests"}, "502": {"description": "Blockchain data temporarily unavailable"}}}}, "/api/path": {"get": {"summary": "Find chains of transfers that connect two addresses", "operationId": "path", "parameters": [{"name": "from", "in": "query", "required": true, "description": "TRON address", "schema": {"type": "string"}}, {"name": "to", "in": "query", "required": true, "description": "TRON address", "schema": {"type": "string"}}], "responses": {"200": {"description": "chains of transfers linking the two addresses, with the type of each endpoint", "content": {"application/json": {"schema": {"type": "object"}}}}, "400": {"description": "Invalid input"}, "429": {"description": "Too many requests"}, "502": {"description": "Blockchain data temporarily unavailable"}}}}, "/api/check": {"get": {"summary": "List check for one address", "operationId": "check", "parameters": [{"name": "address", "in": "query", "required": true, "description": "TRON address", "schema": {"type": "string"}}], "responses": {"200": {"description": "frozen by Tether or not, on the OFAC sanctions list or not, flagged counterparties", "content": {"application/json": {"schema": {"type": "object"}}}}, "400": {"description": "Invalid input"}, "429": {"description": "Too many requests"}, "502": {"description": "Blockchain data temporarily unavailable"}}}}, "/api/profile": {"get": {"summary": "Behaviour based profile of one address", "operationId": "profile", "parameters": [{"name": "address", "in": "query", "required": true, "description": "TRON address", "schema": {"type": "string"}}], "responses": {"200": {"description": "classification, totals, top counterparties, flags", "content": {"application/json": {"schema": {"type": "object"}}}}, "400": {"description": "Invalid input"}, "429": {"description": "Too many requests"}, "502": {"description": "Blockchain data temporarily unavailable"}}}}, "/api/ask": {"get": {"summary": "Plain language question about one address (English or Russian)", "operationId": "ask", "parameters": [{"name": "address", "in": "query", "required": true, "description": "TRON address", "schema": {"type": "string"}}, {"name": "q", "in": "query", "required": false, "description": "question in plain language", "schema": {"type": "string"}}], "responses": {"200": {"description": "answer text plus the profile it is based on", "content": {"application/json": {"schema": {"type": "object"}}}}, "400": {"description": "Invalid input"}, "429": {"description": "Too many requests"}, "502": {"description": "Blockchain data temporarily unavailable"}}}}}}