{"openapi":"3.1.0","info":{"title":"trace3 · 币安 10-29 热钱包被盗 · 攻击者地址名单","version":"2026-10-30","description":"币安热钱包被盗事件（2026-10-29 UTC）里攻击者控制的地址名单。独立的链上追踪：每个地址都在链上核实过收到这次事件的资金后才收录。\n\n- **免登录、免 key**，允许跨域（CORS）。\n- 余额直接读节点：EVM 链约 5 分钟一次，BTC / TRON / XRP / SOL 约 10 分钟一次；数据时间见响应头 `x-snap-ts`（Unix 秒）。\n- 有限频，超出返回 429。\n\nOpenAPI 3.1：[中文 /api/openapi.json](/api/openapi.json)、[英文 /api/openapi.json?lang=en](/api/openapi.json?lang=en)；纯文本说明 [/llms.txt](/llms.txt)。"},"servers":[{"url":"https://trace3.bgblockchain.xyz"}],"tags":[{"name":"lists","x-displayName":"名单","description":"攻击者地址名单。"}],"paths":{"/api/holdings":{"get":{"tags":["lists"],"operationId":"getHoldings","summary":"攻击者地址名单","description":"攻击者控制过的全部地址，按链分组，**含已转空的地址**，名单只增不减，可直接用于拉黑。链内当前有余额的排前面，已转空的排后面。\n\n- 链：`eth` `arb` `op` `base` `polygon` `avax` `btc` `tron` `xrp` `sol`；EVM 地址为小写。同一个 EVM 地址在几条链上都用过，会在每条链下各出现一次。\n- 地址转空后仍留在名单里，不代表解除；经核实不属于攻击者的地址会移除。\n- 缓存 30 秒；数据时间见响应头 `x-snap-ts`。","responses":{"200":{"description":"按链分组的地址","headers":{"x-snap-ts":{"$ref":"#/components/headers/SnapTs"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainAddresses"},"example":{"eth":["0x1111111111111111111111111111111111111111","0x2222222222222222222222222222222222222222"],"btc":["bc1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],"tron":["Txxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]}}}},"429":{"description":"超出限频","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"rate limited"}}}},"503":{"description":"数据还没准备好，沿用上次拉到的名单，不要当成空列表","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"not ready"}}}}}}}},"components":{"headers":{"SnapTs":{"description":"数据时间（Unix 秒）","schema":{"type":"integer","examples":[1793361600]}}},"schemas":{"ChainAddresses":{"type":"object","description":"键是链名（小写），值是这条链上的地址列表","additionalProperties":{"type":"array","items":{"type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}