{"components":{"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"X-API-Key","type":"apiKey"},"CSRFToken":{"in":"header","name":"X-CSRF-Token","type":"apiKey"},"SessionCookie":{"in":"cookie","name":"__Host-tron_session","type":"apiKey"}}},"info":{"description":"自建 java-tron Lite FullNode 的只读查询 API、用户 API Key 与安全管理接口。/api/v2 使用 X-API-Key；用户和管理员接口使用严格 Cookie 会话与 CSRF Token；本文档公开。","title":"TRON Node Ops API","version":"2.1.0"},"openapi":"3.1.0","paths":{"/api/admin/audit":{"get":{"description":"读取 HMAC-SHA256 链式审计事件。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"安全审计日志","tags":["Administration"]}},"/api/admin/summary":{"get":{"description":"用户、会话、Key、审计与加密基线。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"安全摘要","tags":["Administration"]}},"/api/admin/users":{"get":{"description":"管理员与审计员只读用户目录。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"用户目录","tags":["Administration"]}},"/api/admin/users/create":{"post":{"description":"仅管理员；需要 10 分钟内完成 MFA。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"创建用户","tags":["Administration"]}},"/api/admin/users/status":{"post":{"description":"停用账户时同步撤销会话与 API Key。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"更新用户状态","tags":["Administration"]}},"/api/auth/change-password":{"post":{"description":"验证当前密码，更新 Argon2id 哈希并撤销全部会话。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"修改密码","tags":["Identity"]}},"/api/auth/login":{"post":{"description":"用户名、密码及可选 TOTP 动态验证码。管理员必须使用 TOTP。","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"format":"password","type":"string"},"totp":{"pattern":"^[0-9]{6}$","type":"string"},"username":{"type":"string"}},"required":["username","password"],"type":"object"}}},"required":true},"responses":{"200":{"description":"登录成功并写入安全 Cookie"},"401":{"description":"凭据无效"},"429":{"description":"登录限流"}},"summary":"用户登录","tags":["Identity"]}},"/api/auth/logout":{"post":{"description":"撤销当前会话并清除站点敏感数据。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"退出登录","tags":["Identity"]}},"/api/auth/me":{"get":{"description":"返回用户、会话与内存型 CSRF Token。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"当前登录信息","tags":["Identity"]}},"/api/auth/sessions":{"get":{"description":"列出当前用户所有有效登录设备。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"活动会话","tags":["Identity"]}},"/api/auth/sessions/revoke":{"post":{"description":"撤销指定当前用户会话。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"撤销会话","tags":["Identity"]}},"/api/user/api-keys":{"get":{"description":"只返回前缀和元数据，不返回密钥明文。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"SessionCookie":[]}],"summary":"API Key 列表","tags":["Developer"]},"post":{"description":"密钥明文只在创建响应中出现一次。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"签发 API Key","tags":["Developer"]}},"/api/user/api-keys/revoke":{"post":{"description":"即时使指定 Key 失效。","responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"未登录或会话过期"},"403":{"description":"CSRF、权限或 MFA 校验失败"},"429":{"description":"请求过于频繁"}},"security":[{"CSRFToken":[],"SessionCookie":[]}],"summary":"撤销 API Key","tags":["Developer"]}},"/api/v2/accounts/{address}":{"get":{"description":"账户激活、TRX 和资源摘要。","parameters":[{"description":"TRON Base58Check 地址","in":"path","name":"address","required":true,"schema":{"type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"账户信息"}},"/api/v2/accounts/{address}/balances":{"get":{"description":"TRX 和指定 TRC20 余额。","parameters":[{"description":"TRON Base58Check 地址","in":"path","name":"address","required":true,"schema":{"type":"string"}},{"in":"query","name":"tokens","schema":{"default":"TRX,USDT","type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"账户余额"}},"/api/v2/accounts/{address}/resources":{"get":{"description":"带宽、能量和资源限制。","parameters":[{"description":"TRON Base58Check 地址","in":"path","name":"address","required":true,"schema":{"type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"账户资源"}},"/api/v2/balances:batch":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"addresses":{"items":{"type":"string"},"maxItems":100,"type":"array"},"state":{"default":"latest","enum":["latest","confirmed"],"type":"string"},"tokens":{"items":{"type":"string"},"maxItems":10,"type":"array"}},"required":["addresses"],"type":"object"}}},"required":true},"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"批量余额"}},"/api/v2/bitcoin/query":{"get":{"description":"通过本机 Electrs/Esplora 查询；索引未就绪时返回 HTTP 503 和 status=indexing；需要 balance:read。","parameters":[{"description":"Bitcoin 主网地址或 64 位交易 ID","in":"query","name":"q","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"Bitcoin 地址或交易查询"}},"/api/v2/bitcoin/status":{"get":{"description":"本机 Bitcoin Core 的链、Peer、Mempool 与 P2P 流量状态；需要 node:read。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"Bitcoin Core 状态"}},"/api/v2/blocks/latest":{"get":{"description":"查询 latest 或 confirmed 最新区块。","parameters":[{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"最新区块"}},"/api/v2/blocks/{height}":{"get":{"description":"Lite 历史查询未开放时返回 HISTORY_UNAVAILABLE。","parameters":[{"description":"区块高度","in":"path","name":"height","required":true,"schema":{"type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"按高度查询区块"}},"/api/v2/health":{"get":{"description":"API 和 java-tron 节点健康状态。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"健康检查"}},"/api/v2/node/peers":{"get":{"description":"Peer 数量、延迟和同步队列。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"P2P 节点"}},"/api/v2/node/status":{"get":{"description":"节点版本、同步、P2P 和数据库汇总。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"节点状态"}},"/api/v2/node/sync":{"get":{"description":"区块高度、剩余区块、同步速度与 ETA。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"同步状态"}},"/api/v2/system/metrics":{"get":{"description":"主机、网络和 API 指标。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"系统指标"}},"/api/v2/tokens/{contract}/balance/{address}":{"get":{"description":"任意 TRC20 合约的单地址余额。","parameters":[{"description":"TRC20 合约地址","in":"path","name":"contract","required":true,"schema":{"type":"string"}},{"description":"TRON Base58Check 地址","in":"path","name":"address","required":true,"schema":{"type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"TRC20 余额"}},"/api/v2/ton/query":{"get":{"description":"通过本机 TON HTTP API 查询 TON 主网地址余额、账户状态与最后交易；节点同步期间返回 HTTP 503；需要 balance:read。","parameters":[{"description":"TON 主网用户友好地址或 raw 地址","in":"query","name":"q","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"TON 地址查询"}},"/api/v2/ton/status":{"get":{"description":"本机 TON C++ Liteserver 的 Masterchain 同步、ADNL 与节点状态；需要 node:read。","parameters":null,"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"TON Liteserver 状态"}},"/api/v2/transactions/{txid}":{"get":{"description":"查询交易内容和执行回执。","parameters":[{"description":"64 位十六进制交易 ID","in":"path","name":"txid","required":true,"schema":{"type":"string"}},{"description":"latest 或 confirmed","in":"query","name":"state","required":false,"schema":{"default":"latest","enum":["latest","confirmed"],"type":"string"}}],"responses":{"200":{"description":"成功"},"400":{"description":"参数错误"},"401":{"description":"API Key 无效"},"429":{"description":"超过限流"},"502":{"description":"节点上游错误"},"503":{"description":"节点或索引器尚未就绪"}},"security":[{"ApiKeyAuth":[]}],"summary":"交易与回执"}}},"servers":[{"description":"Production","url":"https://kuai.xiaye.tech"}]}
