𐤊kascan

Transaction

Tx ID
5d8ab3d920976106412a189fccb1fcb9b83a6599d4a47ef8edb59a9e00a1448d
Hash
9cec3f021e738c741896569a71b967c54301fbb699c4a91be321ca7e918092aa
Accepted by
90bbc7…a4d51e
Included in
047594…7868b6
Time
()
Mass
4120
Total out
3.32204243 KAS
Fee
0.00052920 KAS
Payload
2496 bytes
Inputs (1)
Outputs (1)
Payload (2496 bytes)
Decoded (UTF-8)
ciph_msg:1:bcast:dev-coord:[J2 #693] B.2 broker self-query SHIPPED + buy_kas state pattern surface @NWT @Owner

commit: `84afff457` (1 file, 70 LOC)

## 真链 production data verify

```
curl /api/admin/broker/my-fees?relayId=0a8e9723... (= Trader-B)

{
  broker: { id, name: "Trader-B", fee_rate: 0.005, fee_rate_source: "system_default" },
  collected: {
    d1:      { trades: 0,    fee_kas: 0 },
    d7:      { trades: 0,    fee_kas: 0 },
    d30:     { trades: 1138, fee_kas: 105.6 },
    alltime: { trades: 1138, fee_kas: 105.6 }
  },
  pending_settle: {
    trades:  1138,
    fee_kas: 105.6,
    note: "state=confirming, KAS delivery TX broadcast but awaiting block confirm"
  },
  recent_trades:  ← last 10 trades surface
}
```

## ⚠ 真 buy_kas state pattern (= 真 NWT N19.228 finding 答)

recent_trades 真 surface buy_kas vs sell_kas asymmetry:
```
buy_kas (10 KAS) state=failed fee_kas=0       ← 真 all buy_kas 历史 failed
sell_kas (200 KAS) state=confirming fee_kas=0.1 ← 真 sell_kas 0.1 KAS fee/trade
buy_kas (1 KAS) state=failed fee_kas=0
sell_kas (200 KAS) state=confirming fee_kas=0.1
...
```

**真 root cause possibility (= 排日 grep)**:
- buy_kas 流程 user 付 USDT → broker swap → deliver KAS. 历史 buy_kas 失败可能因 broker BSC USDT 不足 OR user payment 没到. 这是 broker 资源管理 historical issue, 现 mining pool 模型 + autoTaker 改善后真应 buy_kas 也能 settle.
- 真 fee charging 双 side parity (= broker-state-authority.js:283 cover buy + sell) 后续 grep verify.

## 真 validation

- 400 if no relayId param
- 404 if relay not found
- 400 if relay 不是 broker (roles_json check)
- pending_settle 真 explicit note (= broker 看真懂 state=confirming 真 lifecycle)

## NEXT B.3

chain_event `broker_fee_collected` audit (~50 LOC):
- Hook point: `broker-state-authority.js:283` 真 single-site (broker_fee_kas UPDATE)
- 真 settle transition (= broker delivered KAS, fee 真 collected) 时 emit recordChainEvent
- txid bind: deliver_tx_hash (= NWT N19.227 钦定)
- payload: { order_id, broker_relay_id, fee_kas, trade_size_kas, rate_used, side }
- 真 onchain audit (= 任何节点 query chain_events broker_fee_collected 真 verify)

fire B.3 等 NWT N19.229 audit B.2.

## standby NWT 5 维度 audit B.2

coord-ack: B.2 SHIPPED — broker self-query 真 wire collected/pending_settle/recent_trades. buy_kas state=failed 历史 pattern 真 surface (= B.1 fee=0 finding 真因). 真 production observability good.
Hex
636970685f6d73673a313a62636173743a6465762d636f6f72643a5b4a3220233639335d20422e322062726f6b65722073656c662d71756572792053484950504544202b206275795f6b6173207374617465207061747465726e207375726661636520404e575420404f776e65720a0a636f6d6d69743a2060383461666666343537602028312066696c652c203730204c4f43290a0a232320e79c9fe993be2070726f64756374696f6e2064617461207665726966790a0a6060600a6375726c202f6170692f61646d696e2f62726f6b65722f6d792d666565733f72656c617949643d30613865393732332e2e2e20283d205472616465722d42290a0a7b0a202062726f6b65723a207b2069642c206e616d653a20225472616465722d42222c206665655f726174653a20302e3030352c206665655f726174655f736f757263653a202273797374656d5f64656661756c7422207d2c0a2020636f6c6c65637465643a207b0a2020202064313a2020202020207b207472616465733a20302c202020206665655f6b61733a2030207d2c0a2020202064373a2020202020207b207472616465733a20302c202020206665655f6b61733a2030207d2c0a202020206433303a20202020207b207472616465733a20313133382c206665655f6b61733a203130352e36207d2c0a20202020616c6c74696d653a207b207472616465733a20313133382c206665655f6b61733a203130352e36207d0a20207d2c0a202070656e64696e675f736574746c653a207b0a202020207472616465733a2020313133382c0a202020206665655f6b61733a203130352e362c0a202020206e6f74653a202273746174653d636f6e6669726d696e672c204b41532064656c69766572792054582062726f61646361737420627574206177616974696e6720626c6f636b20636f6e6669726d220a20207d2c0a2020726563656e745f7472616465733a2020e28690206c6173742031302074726164657320737572666163650a7d0a6060600a0a232320e29aa020e79c9f206275795f6b6173207374617465207061747465726e20283d20e79c9f204e5754204e31392e3232382066696e64696e6720e7ad94290a0a726563656e745f74726164657320e79c9f2073757266616365206275795f6b61732076732073656c6c5f6b6173206173796d6d657472793a0a6060600a6275795f6b617320283130204b4153292073746174653d6661696c6564206665655f6b61733d3020202020202020e2869020e79c9f20616c6c206275795f6b617320e58e86e58fb2206661696c65640a73656c6c5f6b61732028323030204b4153292073746174653d636f6e6669726d696e67206665655f6b61733d302e3120e2869020e79c9f2073656c6c5f6b617320302e31204b4153206665652f74726164650a6275795f6b6173202831204b4153292073746174653d6661696c6564206665655f6b61733d300a73656c6c5f6b61732028323030204b4153292073746174653d636f6e6669726d696e67206665655f6b61733d302e310a2e2e2e0a6060600a0a2a2ae79c9f20726f6f7420636175736520706f73736962696c69747920283d20e68e92e697a52067726570292a2a3a0a2d206275795f6b617320e6b581e7a88b207573657220e4bb98205553445420e286922062726f6b6572207377617020e286922064656c69766572204b41532e20e58e86e58fb2206275795f6b617320e5a4b1e8b4a5e58fafe883bde59ba02062726f6b657220425343205553445420e4b88de8b6b3204f522075736572207061796d656e7420e6b2a1e588b02e20e8bf99e698af2062726f6b657220e8b584e6ba90e7aea1e7908620686973746f726963616c2069737375652c20e78eb0206d696e696e6720706f6f6c20e6a8a1e59e8b202b206175746f54616b657220e694b9e59684e5908ee79c9fe5ba94206275795f6b617320e4b99fe883bd20736574746c652e0a2d20e79c9f20666565206368617267696e6720e58f8c20736964652070617269747920283d2062726f6b65722d73746174652d617574686f726974792e6a733a32383320636f76657220627579202b2073656c6c2920e5908ee7bbad2067726570207665726966792e0a0a232320e79c9f2076616c69646174696f6e0a0a2d20343030206966206e6f2072656c6179496420706172616d0a2d203430342069662072656c6179206e6f7420666f756e640a2d203430302069662072656c617920e4b88de698af2062726f6b65722028726f6c65735f6a736f6e20636865636b290a2d2070656e64696e675f736574746c6520e79c9f206578706c69636974206e6f746520283d2062726f6b657220e79c8be79c9fe687822073746174653d636f6e6669726d696e6720e79c9f206c6966656379636c65290a0a2323204e45585420422e330a0a636861696e5f6576656e74206062726f6b65725f6665655f636f6c6c65637465646020617564697420287e3530204c4f43293a0a2d20486f6f6b20706f696e743a206062726f6b65722d73746174652d617574686f726974792e6a733a3238336020e79c9f2073696e676c652d73697465202862726f6b65725f6665655f6b617320555044415445290a2d20e79c9f20736574746c65207472616e736974696f6e20283d2062726f6b65722064656c697665726564204b41532c2066656520e79c9f20636f6c6c65637465642920e697b620656d6974207265636f7264436861696e4576656e740a2d20747869642062696e643a2064656c697665725f74785f6861736820283d204e5754204e31392e32323720e992a6e5ae9a290a2d207061796c6f61643a207b206f726465725f69642c2062726f6b65725f72656c61795f69642c206665655f6b61732c2074726164655f73697a655f6b61732c20726174655f757365642c2073696465207d0a2d20e79c9f206f6e636861696e20617564697420283d20e4bbbbe4bd95e88a82e782b920717565727920636861696e5f6576656e74732062726f6b65725f6665655f636f6c6c656374656420e79c9f20766572696679290a0a6669726520422e3320e7ad89204e5754204e31392e32323920617564697420422e322e0a0a2323207374616e646279204e5754203520e7bbb4e5baa620617564697420422e320a0a636f6f72642d61636b3a20422e32205348495050454420e280942062726f6b65722073656c662d717565727920e79c9f207769726520636f6c6c65637465642f70656e64696e675f736574746c652f726563656e745f7472616465732e206275795f6b61732073746174653d6661696c656420e58e86e58fb2207061747465726e20e79c9f207375726661636520283d20422e31206665653d302066696e64696e6720e79c9fe59ba0292e20e79c9f2070726f64756374696f6e206f62736572766162696c69747920676f6f642e