A single HOT Bridge payout on BNB Chain that trips the same spike-to-new-recipient composite (R1B) as the first large withdrawal of the 30 Sep - 1 Oct drain, with a larger ratio (4.33x vs 2.38x). No incident is known for it. Nothing else on BNB Chain corroborates it, so the incident stays at paranoid and a SHIELD consumer would answer delay for that recipient, never pause.
| Level | Rule | What it detects | Alerts in window | First (UTC) |
|---|---|---|---|---|
| 1. Probing0 alerts · silent: R6B R6C | ||||
| 2. Ledger tampering0 alerts · silent: R8 R6 | ||||
| 3. Withdrawal0 alerts · silent: R8B | ||||
| 4. Treasury drain12 alerts · silent: R2 R3B R9B R10 R4 | ||||
| 8 | R5 | Payout over $500K to a recipient first seen less than 7 days ago | 24 Sep 07:50 | |
| 8 | R1 | Treasury payout far above recent maximum | 24 Sep 20:54 | |
| 8 | R3 | Small test payout followed by a large payout to the same recipient | 24 Sep 09:15 | |
| 12 | R1B | Treasury payout spike to a recipient first seen less than 7 days ago | 24 Sep 20:54 | |
| 5. Fund movement0 alerts · silent: R7B R7 | ||||
Recipient of every row: 0x7c96279e...3e1c. Decisions come from the mock consumer
(incidents/shield.py) for a request on the payout's chain and token: at the payout (incidents that existed before it),
and one minute later for the same recipient. No locker queries SHIELD; this shows what the signal would have said, not what would have
happened. Click a row for its alerts (a row without alerts opens the tx in the explorer), a rule for that alert, a decision for the incident behind it.
| Label | Time (UTC) | Amount | Tx | Alerts on this tx | At the payout | 1 min later |
|---|---|---|---|---|---|---|
| 768K lookalike | 2026-09-24 20:54:54 | 768,574.37 USDT | 0x718e5ea9...74dd | R1BR1R5 | allow | delay |
| 2026-09-24 20:54:54 | BNB Chain | R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENTTreasury drain | bsc hot_bridge paid 768,574.37 usdt to 0x7c96279ec1e888aa56b9b836e0db26ca48573e1c: 4.33x the 48h max of 177,431.92, recipient first seen 0s ago | 12 | 0x718e5ea9...74dd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 07:50:11 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 500,165 usdt to 0xb5428d020e9da0f9a5ebcf4c606352b9b6301da7, first seen 5m 36s ago (payout) | 8 | 0x40bc2f67...d64f | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 08:26:47 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 1,000,215 usdt to 0xcf184835bdb51ea5847386f03ab90b20c1dbf714, first seen 6m 36s ago (payout) | 8 | 0x44da16c2...f27a | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 09:15:23 | Ethereum | R3_TEST_THEN_DRAINTreasury drain | 0x953ebe695ca59085f88b3f009bb78b9e45ff3404 received a test payout 9m 24s before this 816,869.22 usdt payout | 8 | 0x5d83f361...bece | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 09:15:23 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 816,869.22 usdt to 0x953ebe695ca59085f88b3f009bb78b9e45ff3404, first seen 9m 24s ago (payout) | 8 | 0x5d83f361...bece | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 09:41:59 | Ethereum | R3_TEST_THEN_DRAINTreasury drain | 0xc82a8109b88691eac7c1d1b509a58981546e158c received a test payout 7m 24s before this 524,548.68 usdt payout | 8 | 0x1cb543d5...24d0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 09:41:59 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 524,548.68 usdt to 0xc82a8109b88691eac7c1d1b509a58981546e158c, first seen 7m 24s ago (payout) | 8 | 0x1cb543d5...24d0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 09:48:23 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 648,087.07 usdc to 0xefa117fc408c83e82427fcc22a7d06302c542346, first seen 36h 3m ago (payout) | 8 | 0x691f936e...388a | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 20:54:54 | BNB Chain | R1_VAULT_PAYOUT_SPIKETreasury drain | bsc hot_bridge paid 768,574.37 usdt to 0x7c96279ec1e888aa56b9b836e0db26ca48573e1c: 4.33x the 48h max of 177,431.92 | 8 | 0x718e5ea9...74dd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-24 20:54:54 | BNB Chain | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 768,574.37 usdt to 0x7c96279ec1e888aa56b9b836e0db26ca48573e1c, first seen 0s ago (payout) | 8 | 0x718e5ea9...74dd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-25 12:39:15 | BNB Chain | R1_VAULT_PAYOUT_SPIKETreasury drain | bsc hot_bridge paid 129,910.36 usdc to 0x5a8e12d1f7148886fe35f6fa04f5a2c2b60ac354: 2.95x the 48h max of 44,096.75 | 8 | 0x5639d2a3...243f | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2026-09-25 13:24:23 | Ethereum | R5_NEW_RECIPIENT_LARGE_PAYOUTTreasury drain | 796,054.47 usdc to 0x30ccf020619a9d2bb1e7477a353f90f4144fdbb2, first seen 6d 19h ago (payout) | 8 | 0x746a9d36...48ac | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No alerts match these filters in the report window.
5 incidents with alerts in the window, highest mode first. Each is SHIELD-shaped
(intentwatch.incident/v1, unofficial: SHIELD's Incident API is partner-only). Alerts sharing an asset or address within 24h
are one incident; two high alerts on different transactions within 2h escalate it to under_attack, unless all of them come from a rate rule (R2), which moves it onto the route and stops at paranoid.
On NEAR: incidents at paranoid or above are written to the IntentWatch incident registry
registry.surs51.testnet (testnet, deployed)
by a detector that holds only a function-call key limited to report_incident with a 0.25 NEAR gas allowance
(read from chain 2026-10-31 19:05:23 UTC: least privilege ok).
No model is connected: the summary module is ready to connect and has recorded nothing for this replay.
The contract (contracts/agent_guard, Rust near-sdk) holds an AI agent's funds. Its only key for the agent is a function-call key limited to
request_transfer (read from chain 2026-11-04 15:47:30 UTC: least privilege ok).
It enforces 0.1 NEAR per transfer and 0.5 NEAR per day, then asks the incident registry about the route the agent declares and the account the money really goes to:
under_attack or a paused destination is refused, paranoid is held for 60 min and re-checked, and any trouble reaching the registry is a refusal.
Deployed at guard.surs51.testnet (tx).
Code upgraded 2026-11-01 16:37:35 UTC (tx); a receipt recorded before that is an answer of the earlier build. Code upgraded 2026-11-04 15:46:26 UTC (tx); a receipt recorded before that is an answer of the earlier build.
The "Contract answers" column comes from a mirror of the contract logic, tested against the contracts with shared vectors, assuming the detector reported each escalation as it happened; the receipts column is what the deployed contract answered on testnet, and intentwatch guard verify reads those back from chain.
The chain, bridge and token are what the agent declares: an agent that lies about them and pays an account nobody has flagged is bounded by the limits only, unless the owner has set an allowlist of receivers, which the contract checks first, along with the owner's stop switch and hourly cap. Click a row for the exact call the agent signs.
| Moment (UTC) | Agent asks | Declared route and real receiver | Contract answers | Testnet receipt |
|---|---|---|---|---|
| 2026-09-24 20:54 | Payment on the route, now paranoid 0.01 NEAR |
bsc/hot/usdt 0x7c96279e...3e1c really pays surs51.testnet |
held route is paranoid (incident IW-20260924-205454-d17c87): held until the delay ends | refused 8FghMZpmKa...He9Y |
The request_transfer call the agent signs{
"args": {
"amount": "10000000000000000000000",
"receiver_id": "surs51.testnet",
"route": {
"address": "0x00000000000000000000000000000000000a11ce",
"bridge": "hot",
"chain": "bsc",
"token": "usdt"
}
},
"deposit": "0",
"gas_tgas": 100,
"method": "request_transfer",
"receiver_id": "guard.surs51.testnet"
} | ||||
| 2026-09-24 20:54 | The same payment on a route nothing covers 0.01 NEAR |
bsc/hot/usdc 0x00000000...11ce really pays surs51.testnet |
sent route clear, within limits | sent 4DSpDZagW7...bzCA |
The request_transfer call the agent signs{
"args": {
"amount": "10000000000000000000000",
"receiver_id": "surs51.testnet",
"route": {
"address": "0x00000000000000000000000000000000000a11ce",
"bridge": "near_intents",
"chain": "ethereum",
"token": "usdc"
}
},
"deposit": "0",
"gas_tgas": 100,
"method": "request_transfer",
"receiver_id": "guard.surs51.testnet"
} | ||||
| 2026-09-24 20:54 | A payment over the per-transfer limit 0.2 NEAR |
bsc/hot/usdc 0x00000000...11ce really pays surs51.testnet |
refused amount exceeds the per-transfer limit | refused 2LXCMG3o2K...zUdG |
The request_transfer call the agent signs{
"args": {
"amount": "200000000000000000000000",
"receiver_id": "surs51.testnet",
"route": {
"address": "0x00000000000000000000000000000000000a11ce",
"bridge": "near_intents",
"chain": "ethereum",
"token": "usdc"
}
},
"deposit": "0",
"gas_tgas": 100,
"method": "request_transfer",
"receiver_id": "guard.surs51.testnet"
} | ||||
| 2026-09-24 20:54 | A payment to a fresh account, with the owner's allowlist on 0.01 NEAR |
bsc/hot/usdc 0x00000000...11ce really pays 5fd214f06a...f46a owner allows only surs51.testnet |
refused the receiver is not on the owner's allowlist | refused FvmP6yX4y7...Emq5 |
The request_transfer call the agent signs{
"args": {
"amount": "10000000000000000000000",
"receiver_id": "5fd214f06a0de3e6bcdf6f325ab29b494f9904f491c24e1db62c9069fdb0f46a",
"route": {
"address": "0x00000000000000000000000000000000000a11ce",
"bridge": "near_intents",
"chain": "ethereum",
"token": "usdc"
}
},
"deposit": "0",
"gas_tgas": 100,
"method": "request_transfer",
"receiver_id": "guard.surs51.testnet"
} | ||||
raise_modeNo recorded report for this incident.
Incident hash af5dac8a7d13e313...40e5 (sha256 of the canonical incident JSON; intentwatch registry hashes recomputes it).
report_incident call the detector would sign{
"args": {
"report": {
"alerts": 3,
"attestation_hash": null,
"capability": "raise_mode",
"incident_hash": "af5dac8a7d13e313a4e914816caf41d441aba8ef1b4a12ec725bc4479ba540e5",
"incident_id": "IW-20260924-205454-d17c87",
"mode": "paranoid",
"opened_at_ms": 1790283294000,
"paused_destinations": [],
"scope": {
"address": "0x7c96279ec1e888aa56b9b836e0db26ca48573e1c",
"bridge": "hot",
"chain": "bsc",
"token": "usdt"
},
"summary_hash": null
}
},
"deposit": "0",
"gas_tgas": 10,
"method": "report_incident",
"receiver_id": "registry.surs51.testnet"
}
Not recorded for this replay. intentwatch triage record asks a NEAR-hosted TEE model for a summary and stores the evidence
(response signature, Intel TDX quote and collateral, NVIDIA GPU verdict) that the replay then re-verifies offline. It needs a NEAR AI Cloud key.
| Time (UTC) | Change | Reason |
|---|---|---|
| 2026-09-24 20:54:54 | normal | 1 observation(s) |
| 2026-09-24 20:54:54 | paranoid | high alert R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT |
{
"schema": "intentwatch.incident/v1 (shield-compatible, unofficial)",
"incident_id": "IW-20260924-205454-d17c87",
"opened_at": "2026-09-24T20:54:54Z",
"updated_at": "2026-09-24T20:54:54Z",
"recommended_mode": "paranoid",
"capability": "raise_mode",
"scope": {
"chain": "bsc",
"bridge": "hot",
"token": "usdt",
"address": "0x7c96279ec1e888aa56b9b836e0db26ca48573e1c"
},
"score": 6.0,
"max_severity": "high",
"mode_history": [
{
"ts": "2026-09-24T20:54:54Z",
"mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "bsc",
"bridge": "hot",
"token": "usdt",
"address": "0x7c96279ec1e888aa56b9b836e0db26ca48573e1c"
},
"reason": "1 observation(s)",
"alert_id": "R1_VAULT_PAYOUT_SPIKE:712304584995"
},
{
"ts": "2026-09-24T20:54:54Z",
"mode": "paranoid",
"capability": "raise_mode",
"scope": {
"chain": "bsc",
"bridge": "hot",
"token": "usdt",
"address": "0x7c96279ec1e888aa56b9b836e0db26ca48573e1c"
},
"reason": "high alert R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT",
"alert_id": "R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT:7d177a63dbfc"
}
],
"recommended_actions": [],
"alerts": [
{
"alert_id": "R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT:7d177a63dbfc",
"rule": "R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT",
"severity": "high",
"ts": "2026-09-24T20:54:54Z",
"tx": "0x718e5ea9a5e54426da72acb778c033508004b1e797ada87bc528599c800e74dd"
},
{
"alert_id": "R1_VAULT_PAYOUT_SPIKE:712304584995",
"rule": "R1_VAULT_PAYOUT_SPIKE",
"severity": "medium",
"ts": "2026-09-24T20:54:54Z",
"tx": "0x718e5ea9a5e54426da72acb778c033508004b1e797ada87bc528599c800e74dd"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:1bf78ebe2074",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T20:54:54Z",
"tx": "0x718e5ea9a5e54426da72acb778c033508004b1e797ada87bc528599c800e74dd"
}
],
"summary": "3 alerts (R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT, R1_VAULT_PAYOUT_SPIKE, R5_NEW_RECIPIENT_LARGE_PAYOUT) on bsc; opened 2026-09-24T20:54:54Z by R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT; mode paranoid; 1 flagged stablecoin payouts totalling 768,574.37 USD."
}flag_observationOnly incidents at paranoid or above go on chain. Incident hash e2cd0c7d196395f9...5686.
Summaries are written for incidents at paranoid or above.
| Time (UTC) | Change | Reason |
|---|---|---|
| 2026-09-22 05:38:35 | normal | 1 observation(s) |
{
"schema": "intentwatch.incident/v1 (shield-compatible, unofficial)",
"incident_id": "IW-20260922-053835-d9edc6",
"opened_at": "2026-09-22T05:38:35Z",
"updated_at": "2026-09-24T09:48:23Z",
"recommended_mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdc",
"address": "0x204823d2995230ec1660512013c96d6f06bee3f8"
},
"score": 12.0,
"max_severity": "medium",
"mode_history": [
{
"ts": "2026-09-22T05:38:35Z",
"mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdc",
"address": "0x204823d2995230ec1660512013c96d6f06bee3f8"
},
"reason": "1 observation(s)",
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:e5362e2bc825"
}
],
"recommended_actions": [],
"alerts": [
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:e5362e2bc825",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-22T05:38:35Z",
"tx": "0x703a200c25cb9e35f85a1b04adec2e58f4ff87abf9b0a23c9154f1b771046ef7"
},
{
"alert_id": "R3_TEST_THEN_DRAIN:dd5294d5fb37",
"rule": "R3_TEST_THEN_DRAIN",
"severity": "medium",
"ts": "2026-09-22T09:33:59Z",
"tx": "0x8d48c34355914adae306e9a77a23425d4bb725877df498d94a59fc8e89abf801"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:074cc5f86716",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-22T13:42:47Z",
"tx": "0xc4072c7c8dfcab12f291adaf674a5c9a8241fcffbff0d5c760ad1933dd2cbdd7"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:7b71eacd6630",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-22T17:05:35Z",
"tx": "0x3a86bc269b4550d5b58476150a7beab3c95f1e010aa72fbab8b1ac3b4a6a8de9"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:ad6b88f4e288",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-22T18:11:35Z",
"tx": "0x4eb5ad3e8dff33bde98d68df107962a715f544ce8473fe8ee18b1588c0b522c9"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:b64b73445aab",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-23T01:04:35Z",
"tx": "0xf78874abb3b7e32a114274c8edeb34bb54d32f3cc42a81781e8915279f92d79c"
},
{
"alert_id": "R10_RECIPIENT_PAYOUT_BURST:b5fbab4a500a",
"rule": "R10_RECIPIENT_PAYOUT_BURST",
"severity": "medium",
"ts": "2026-09-23T18:17:11Z",
"tx": "0x2d19e32fda4a438637486a54271e4b3930df17868ebd367128f047eda28e9f0c"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:699dc7428abc",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T09:48:23Z",
"tx": "0x691f936e904859c6df98e34bbef2931737b0bb0d3527fdfdd068ddbe37b8388a"
}
],
"summary": "8 alerts (R10_RECIPIENT_PAYOUT_BURST, R3_TEST_THEN_DRAIN, R5_NEW_RECIPIENT_LARGE_PAYOUT) on ethereum; opened 2026-09-22T05:38:35Z by R5_NEW_RECIPIENT_LARGE_PAYOUT; mode normal; 8 flagged stablecoin payouts totalling 3,953,034.04 USD."
}flag_observationOnly incidents at paranoid or above go on chain. Incident hash 3c9c79337e002f3a...dceb.
Summaries are written for incidents at paranoid or above.
| Time (UTC) | Change | Reason |
|---|---|---|
| 2026-09-24 07:50:11 | normal | 1 observation(s) |
{
"schema": "intentwatch.incident/v1 (shield-compatible, unofficial)",
"incident_id": "IW-20260924-075011-d1a902",
"opened_at": "2026-09-24T07:50:11Z",
"updated_at": "2026-09-24T09:41:59Z",
"recommended_mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdt",
"address": "0xb5428d020e9da0f9a5ebcf4c606352b9b6301da7"
},
"score": 9.0,
"max_severity": "medium",
"mode_history": [
{
"ts": "2026-09-24T07:50:11Z",
"mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdt",
"address": "0xb5428d020e9da0f9a5ebcf4c606352b9b6301da7"
},
"reason": "1 observation(s)",
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:1e1cad6de945"
}
],
"recommended_actions": [],
"alerts": [
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:1e1cad6de945",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T07:50:11Z",
"tx": "0x40bc2f677153ffeb73ad5bbd9e7aa3d778b678316b2b33363d0231ef6573d64f"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:8095ff6f4e9e",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T08:26:47Z",
"tx": "0x44da16c2d695fd7ff114136861b91e4e63ff56b18f4ce2ee6363a4694599f27a"
},
{
"alert_id": "R3_TEST_THEN_DRAIN:cbe1fe60acac",
"rule": "R3_TEST_THEN_DRAIN",
"severity": "medium",
"ts": "2026-09-24T09:15:23Z",
"tx": "0x5d83f3612d349e6a265dedf4fe529dfb06e78521ccedc349394d9d4a30c1bece"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:f909d9cffeee",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T09:15:23Z",
"tx": "0x5d83f3612d349e6a265dedf4fe529dfb06e78521ccedc349394d9d4a30c1bece"
},
{
"alert_id": "R3_TEST_THEN_DRAIN:730bff2d8593",
"rule": "R3_TEST_THEN_DRAIN",
"severity": "medium",
"ts": "2026-09-24T09:41:59Z",
"tx": "0x1cb543d5653847638288b7022862cacd632a9655447aaa9f2467f94a9bae24d0"
},
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:36a6ff6b0abf",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-24T09:41:59Z",
"tx": "0x1cb543d5653847638288b7022862cacd632a9655447aaa9f2467f94a9bae24d0"
}
],
"summary": "6 alerts (R3_TEST_THEN_DRAIN, R5_NEW_RECIPIENT_LARGE_PAYOUT) on ethereum; opened 2026-09-24T07:50:11Z by R5_NEW_RECIPIENT_LARGE_PAYOUT; mode normal; 4 flagged stablecoin payouts totalling 2,841,797.90 USD."
}flag_observationOnly incidents at paranoid or above go on chain. Incident hash 5b4ec483ed27fb4a...ddc6.
Summaries are written for incidents at paranoid or above.
| Time (UTC) | Change | Reason |
|---|---|---|
| 2026-09-25 12:39:15 | normal | 1 observation(s) |
{
"schema": "intentwatch.incident/v1 (shield-compatible, unofficial)",
"incident_id": "IW-20260925-123915-98e633",
"opened_at": "2026-09-25T12:39:15Z",
"updated_at": "2026-09-25T12:39:15Z",
"recommended_mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "bsc",
"bridge": "hot",
"token": "usdc",
"address": "0x5a8e12d1f7148886fe35f6fa04f5a2c2b60ac354"
},
"score": 1.5,
"max_severity": "medium",
"mode_history": [
{
"ts": "2026-09-25T12:39:15Z",
"mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "bsc",
"bridge": "hot",
"token": "usdc",
"address": "0x5a8e12d1f7148886fe35f6fa04f5a2c2b60ac354"
},
"reason": "1 observation(s)",
"alert_id": "R1_VAULT_PAYOUT_SPIKE:b85e619b8840"
}
],
"recommended_actions": [],
"alerts": [
{
"alert_id": "R1_VAULT_PAYOUT_SPIKE:b85e619b8840",
"rule": "R1_VAULT_PAYOUT_SPIKE",
"severity": "medium",
"ts": "2026-09-25T12:39:15Z",
"tx": "0x5639d2a3e563f0bd28a00d30d39e69857a9ca4dfd84c7bbb92d43f88d8d8243f"
}
],
"summary": "1 alerts (R1_VAULT_PAYOUT_SPIKE) on bsc; opened 2026-09-25T12:39:15Z by R1_VAULT_PAYOUT_SPIKE; mode normal; 1 flagged stablecoin payouts totalling 129,910.36 USD."
}flag_observationOnly incidents at paranoid or above go on chain. Incident hash df4b802b1c206d3f...b540.
Summaries are written for incidents at paranoid or above.
| Time (UTC) | Change | Reason |
|---|---|---|
| 2026-09-25 13:24:23 | normal | 1 observation(s) |
{
"schema": "intentwatch.incident/v1 (shield-compatible, unofficial)",
"incident_id": "IW-20260925-132423-477747",
"opened_at": "2026-09-25T13:24:23Z",
"updated_at": "2026-09-25T13:24:23Z",
"recommended_mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdc",
"address": "0x30ccf020619a9d2bb1e7477a353f90f4144fdbb2"
},
"score": 1.5,
"max_severity": "medium",
"mode_history": [
{
"ts": "2026-09-25T13:24:23Z",
"mode": "normal",
"capability": "flag_observation",
"scope": {
"chain": "ethereum",
"bridge": "near_intents",
"token": "usdc",
"address": "0x30ccf020619a9d2bb1e7477a353f90f4144fdbb2"
},
"reason": "1 observation(s)",
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:9b71b323d63a"
}
],
"recommended_actions": [],
"alerts": [
{
"alert_id": "R5_NEW_RECIPIENT_LARGE_PAYOUT:9b71b323d63a",
"rule": "R5_NEW_RECIPIENT_LARGE_PAYOUT",
"severity": "medium",
"ts": "2026-09-25T13:24:23Z",
"tx": "0x746a9d36c635e9571d4f479c3f4b7a1bba5666b6d32b264eb66c24b4c1cc48ac"
}
],
"summary": "1 alerts (R5_NEW_RECIPIENT_LARGE_PAYOUT) on ethereum; opened 2026-09-25T13:24:23Z by R5_NEW_RECIPIENT_LARGE_PAYOUT; mode normal; 1 flagged stablecoin payouts totalling 796,054.47 USD."
}| Level | Rule | Description | Stage | Groups | In window |
|---|---|---|---|---|---|
| 8 | R1_ |
Treasury payout far above recent maximumA single stablecoin payout from a bridge treasury is more than `factor` times the largest payout of the same (chain, vault, token) over the trailing 48h. Payouts that fired this rule are kept out of the baseline, so a drain cannot raise its own threshold. On the September BNB Chain baseline this fired ~1/day, mostly for recurring large recipients (ratios 2.05-6.1x, W1 was 2.38x), so it is medium on its own; R1B escalates spikes to new recipients. | Treasury drain | evmtreasurypayoutspike | 2 |
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"symbol": [
"usdt",
"usdc"
]
},
"condition": {
"type": "ratio_to_rolling_max",
"group_by": [
"chain",
"vault",
"token"
],
"window": "48h",
"factor": 2.0,
"min_value": 50000,
"value_field": "amount_usd"
},
"shield": {
"capability": "flag_observation",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 12 | R1B_ |
Treasury payout spike to a recipient first seen less than 7 days agoComposite (Wazuh-style): R1 (payout > 2x the 48h max) and R5 (recipient first seen < 7 days ago, payout > $500K) fire on the same payout. | Treasury drain | evmtreasurypayoutspikecomposite | 1 |
{
"source": "evm.*",
"match": {
"kind": "payout"
},
"if_all": [
"R1_VAULT_PAYOUT_SPIKE",
"R5_NEW_RECIPIENT_LARGE_PAYOUT"
],
"shield": {
"mode": "paranoid",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token",
"address"
]
}
}
| |||||
| 12 | R2_ |
Treasury outflow velocity above its 7-day p99The trailing 1h stablecoin outflow of a (chain, vault, token) exceeds 2x the p99 of hourly outflow over the trailing 7 days (empty hours count as zero), and at least $1M. Throttled to one alert per hour per group. Velocity is about the treasury, so it never taints the recipient of the last payout. A rolling sum fires on the flow: its transaction is only where the sum crossed the line, so two alerts are one flow measured twice, and it cannot escalate alone. | Treasury drain | evmtreasurypayoutvelocity | 0 |
No alerts in this window.
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"symbol": [
"usdt",
"usdc"
]
},
"condition": {
"type": "rolling_sum_vs_percentile",
"group_by": [
"chain",
"vault",
"token"
],
"window": "1h",
"bucket": "1h",
"baseline": "7d",
"percentile": 99,
"factor": 2.0,
"min_value": 1000000,
"min_buckets": 72,
"value_field": "amount_usd"
},
"ignore": "1h",
"ignore_key": [
"chain",
"vault",
"token"
],
"shield": {
"mode": "paranoid",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 8 | R3_ |
Small test payout followed by a large payout to the same recipientThe same recipient gets at least one payout under $100 and then, within 24h, a payout over $100K from a treasury, and had at most 3 payouts in the 7 days before. Honest users test too: on the September Ethereum baseline this fired ~1/day even after excluding established counterparties, so it is medium on its own; R3B escalates it when the recipient also submitted the payout itself. | Treasury drain | evmtreasurypayoutsequence | 2 |
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"symbol": [
"usdt",
"usdc"
]
},
"condition": {
"type": "sequence",
"group_by": [
"to_addr"
],
"within": "24h",
"max_prior": {
"count": 3,
"within": "7d"
},
"steps": [
{
"name": "test_payout",
"match": {
"amount_usd": {
"lt": 100
}
}
},
{
"name": "large_payout",
"match": {
"amount_usd": {
"gt": 100000
}
}
}
]
},
"shield": {
"capability": "flag_observation",
"scope": [
"address"
]
}
}
| |||||
| 12 | R3B_ |
Test-then-drain payout that the recipient submitted itselfComposite (Wazuh-style): R3 and R4 fire on the same payout. A fresh recipient that tested with a small payout and then pulled a large one by submitting the payout tx itself. | Treasury drain | evmtreasurypayoutsequencecomposite | 0 |
No alerts in this window.
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout"
},
"if_all": [
"R3_TEST_THEN_DRAIN",
"R4_SELF_SUBMITTED_LARGE_PAYOUT"
],
"shield": {
"mode": "paranoid",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token",
"address"
]
}
}
| |||||
| 5 | R4_ |
Large payout submitted by its own recipientThe payout tx was sent by the recipient itself (tx.from == transfer.to) instead of a relayer. HOT's design allows self-submission, so this is a weak signal: score only, it never opens an incident by itself. | Treasury drain | evmtreasurypayoutsubmitter | 0 |
No alerts in this window.
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"amount_usd": {
"gt": 100000
},
"extra.tx_submitter": {
"eq_field": "to_addr"
}
}
}
| |||||
| 8 | R5_ |
Payout over $500K to a recipient first seen less than 7 days agoThe recipient's first interaction with any watched treasury (as sender or receiver, any chain) is less than 7 days old. Needs 7 days of observed history before it can fire. | Treasury drain | evmtreasurypayoutnew_address | 7 |
{
"source": "evm.*",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"amount_usd": {
"gt": 500000
}
},
"condition": {
"type": "first_seen",
"field": "to_addr",
"track": [
"from_addr",
"to_addr"
],
"max_age": "7d",
"observe": {
"vault": {
"exists": true
}
}
},
"shield": {
"capability": "flag_observation",
"scope": [
"address"
]
}
}
| |||||
| 12 | R6_ |
Abnormal resolve callback or oversized event on intents.nearOn the Verifier contract: a failed resolve callback (e.g. mt_resolve_deposit), a log that was rejected for exceeding NEAR's 16,384-byte limit or is close to it, or a single event entry carrying more than 32 token/amount pairs. | Ledger tampering | nearverifiercallback | 0 |
No alerts in this window.
{
"source": [
"near.receipt",
"near.nep245",
"near.dip4"
],
"match": {
"contract": "intents.near",
"any": [
{
"kind": "callback_failure",
"extra.methods": {
"regex": "resolve"
}
},
{
"extra.rejected_log_size": {
"gt": 15000
}
},
{
"extra.max_log_size": {
"gt": 15000
}
},
{
"extra.n_token_pairs": {
"gt": 32
}
}
]
},
"shield": {
"mode": "paranoid",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 8 | R6B_ |
Token id length above the p99.9 of observed Verifier eventsThe longest token id in a Verifier multi-token event is longer than 99.9% of token ids seen so far (needs 2,000 samples first). Unusually long ids inflate event logs. | Probing | nearverifiertoken_id | 0 |
No alerts in this window.
{
"source": "near.nep245",
"match": {
"contract": "intents.near"
},
"condition": {
"type": "percentile_outlier",
"field": "extra.max_token_id_len",
"percentile": 99.9,
"min_samples": 2000
}
}
| |||||
| 8 | R6C_ |
Token amount near the u128 limit on intents.near or the HOT omni contractA multi-token event moves more than 2^120 raw units of one token (within 2^8 of u128::MAX). No real token supply comes close (wNEAR, with 24 decimals, has ~1.2e33 raw units in total), so such amounts are crafted values that probe overflow, accounting or log-size limits. One alert per token per day. Medium on its own: it says nothing about whether the value was credited. | Probing | nearverifieramount | 0 |
No alerts in this window.
{
"source": "near.nep245",
"match": {
"contract": [
"intents.near",
"v2_1.omni.hot.tg"
],
"amount_raw": {
"gt": 1329227995784915872903807060280344576
}
},
"ignore": "24h",
"ignore_key": [
"token"
],
"shield": {
"capability": "flag_observation",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 12 | R7_ |
Address tainted by a flagged payout deposits into a treasuryAn address that received a payout flagged by R1B/R3B/R9B (or got funds from such an address, one hop) later deposits into any NEAR Intents / HOT treasury on any EVM chain. | Fund movement | evmtreasurydeposittaint | 0 |
No alerts in this window.
{
"source": "evm.*",
"match": {
"kind": "deposit",
"vault": {
"exists": true
}
},
"condition": {
"type": "tainted",
"taint_from": [
"R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT",
"R3B_SELF_SUBMITTED_TEST_THEN_DRAIN",
"R9B_PAYOUT_FROM_FLAGGED_NEAR_ACCOUNT"
],
"taint_field": "address",
"hops": 1,
"check": [
"from_addr"
]
},
"shield": {
"mode": "paranoid",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"address"
]
}
}
| |||||
| 12 | R7B_ |
Treasury pays an address tainted by a flagged payout on another chain or vaultAfter R1B/R3B/R9B flag a payout, any *other* treasury (or the same treasury on another chain) pays that recipient. EVM addresses are the same across chains, so taint follows them. | Fund movement | evmtreasurypayouttaint | 0 |
No alerts in this window.
{
"source": "evm.*",
"match": {
"kind": "payout",
"vault": {
"exists": true
}
},
"condition": {
"type": "tainted",
"taint_from": [
"R1B_PAYOUT_SPIKE_TO_NEW_RECIPIENT",
"R3B_SELF_SUBMITTED_TEST_THEN_DRAIN",
"R9B_PAYOUT_FROM_FLAGGED_NEAR_ACCOUNT"
],
"taint_field": "address",
"hops": 1,
"check": [
"to_addr"
],
"cross_only": true
},
"shield": {
"mode": "paranoid",
"capability": "pause_destination",
"scope": [
"address"
]
}
}
| |||||
| 15 | R8_ |
Verifier credited a deposit that the token contract refundedShadow ledger at transaction granularity. For one NEAR tx and token, intents.near's internal balance change (mt_mint - mt_burn) must not exceed what it actually kept on the token contract (deposited - refunded). Evaluated when the token contract emits the refund. | Ledger tampering | nearverifierledger | 0 |
No alerts in this window.
{
"source": "near.nep245",
"condition": {
"type": "deposit_ledger_mismatch",
"verifier": "intents.near",
"token_contracts": [
"v2_1.omni.hot.tg"
]
},
"shield": {
"mode": "under_attack",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 15 | R8B_ |
Account withdraws from intents.near after receiving an unbacked creditFollow-up to R8. The Verifier accounts that received a credit the token contract refunded (R8 evidence `credited_accounts`), or an account they moved funds to inside the Verifier (one hop), withdraw from intents.near. This is the step where an unbacked balance leaves the Verifier, before any treasury on another chain pays it out. | Withdrawal | nearverifierledgerwithdrawaltaint | 0 |
No alerts in this window.
{
"source": "near.nep245",
"match": {
"contract": "intents.near",
"kind": "withdrawal",
"status": "success"
},
"condition": {
"type": "tainted",
"taint_from": [
"R8_DEPOSIT_LEDGER_MISMATCH"
],
"taint_field": "evidence.credited_accounts",
"hops": 1,
"check": [
"from_addr"
],
"observe": {
"chain": "near",
"contract": "intents.near"
}
},
"shield": {
"mode": "under_attack",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 12 | R9B_ |
Treasury payout authorized by a NEAR account that NEAR rules flaggedCross-chain link. A HOT treasury payout's calldata nonce equals the memo of the HOT omni mt_burn on NEAR that authorized it. If the NEAR account that burned was involved in an R6 or R8 alert (or received funds from such an account, one hop), the EVM payout inherits the flag and its recipient is tainted for R7 / R7B. | Treasury drain | evmtreasurypayoutxchain | 0 |
No alerts in this window.
{
"source": [
"evm.erc20_transfer",
"near.nep245",
"near.dip4"
],
"match": {
"kind": "payout",
"vault": "hot_bridge",
"extra.withdraw_nonce": {
"exists": true
}
},
"condition": {
"type": "withdrawal_link",
"mode": "tainted_origin",
"taint_from": [
"R6_INTENTS_CALLBACK_ANOMALY",
"R8_DEPOSIT_LEDGER_MISMATCH"
],
"hops": 1
},
"shield": {
"mode": "paranoid",
"capability": "pause_destination",
"scope": [
"address"
]
}
}
| |||||
| 8 | R10_ |
Burst of large treasury payouts to one new counterpartyWazuh-style frequency rule: three or more stablecoin payouts over $250K from the same treasury to the same recipient within 2h, where the recipient had at most 3 such payouts in the 7 days before the burst. Regular counterparties of the NEAR Intents Ethereum treasury receive bursts like this every day; `max_prior` keeps those regular counterparties out. Splitting a drain into several payouts below the R1 / R5 thresholds still trips it. One alert per recipient per 6h. | Treasury drain | evmtreasurypayoutfrequency | 0 |
No alerts in this window.
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": [
"hot_bridge",
"near_intents"
],
"symbol": [
"usdt",
"usdc"
],
"amount_usd": {
"gt": 250000
}
},
"condition": {
"type": "frequency",
"group_by": [
"chain",
"vault",
"to_addr"
],
"count": 3,
"within": "2h",
"max_prior": {
"count": 3,
"within": "7d"
}
},
"ignore": "6h",
"ignore_key": [
"chain",
"vault",
"to_addr"
],
"shield": {
"capability": "flag_observation",
"scope": [
"chain",
"bridge",
"token",
"address"
]
}
}
| |||||
| 15 | R9_ |
HOT treasury payout without a matching NEAR burnReconciliation. Every HOT treasury payout should match a HOT omni mt_burn on NEAR with the same nonce, token and amount. Disabled by default: it needs complete NEAR coverage of the HOT omni contract (live mode). The replay holds sampled NEAR blocks, where most honest payouts would look unmatched. | Treasury drain | evmtreasurypayoutxchainreconciliation | 0 |
No alerts in this window.
{
"source": [
"evm.erc20_transfer",
"near.nep245"
],
"match": {
"kind": "payout",
"vault": "hot_bridge",
"extra.withdraw_nonce": {
"exists": true
}
},
"condition": {
"type": "withdrawal_link",
"mode": "unmatched"
},
"shield": {
"mode": "under_attack",
"capability": "raise_mode",
"scope": [
"chain",
"bridge",
"token"
]
}
}
| |||||
| 5 | R100_ |
Large payout of an exact round amountExample of a local extension. Exact round amounts above $100K are a weak signal; score only. | Treasury drain | localevmpayout | 0 |
No alerts in this window.
{
"source": "evm.erc20_transfer",
"match": {
"kind": "payout",
"vault": {
"exists": true
}
},
"condition": {
"type": "round_amount",
"step": 100000,
"min_value": 100000
}
}
| |||||
112,368 normalized events replayed (whole replay window
01 Sep - 26 Sep 2026). Recorded 2026-10-26T18:32:21.957424Z with
intentwatch fetch-fixtures --scenario oct1 into tests/fixtures/oct1.
| Part | Range | Records |
|---|---|---|
| NEARblocks | 68 anchor txs, 576 blocks | 576 |
Manifest entry {
"anchors": 68,
"blocks": 576,
"chain": "near",
"kind": "blocks"
} | ||
| Ethereumrange via etherscan | 2026-09-01T00:00 → 2026-10-01T16:00 blocks 25878705-26098520 (out) |
59,988 |
Manifest entry {
"chain": "ethereum",
"collector": "etherscan",
"directions": [
"out"
],
"from_block": 25878705,
"from_ts": "2026-09-01T00:00:00Z",
"kind": "range",
"native": false,
"records": 59988,
"to_block": 26098520,
"to_ts": "2026-10-01T16:00:00Z"
} | ||
| Ethereumrange via etherscan | 2026-09-30T12:00 → 2026-10-01T16:00 blocks 26090155-26098520 (in, native) |
10,571 |
Manifest entry {
"chain": "ethereum",
"collector": "etherscan",
"directions": [
"in"
],
"from_block": 26090155,
"from_ts": "2026-09-30T12:00:00Z",
"kind": "range",
"native": true,
"records": 10571,
"to_block": 26098520,
"to_ts": "2026-10-01T16:00:00Z"
} | ||
| Ethereumknown_txs | 2 known txs | 2 |
Manifest entry {
"chain": "ethereum",
"kind": "known_txs",
"records": 2,
"txs": 2
} | ||
| BNB Chainrange via evm_rpc | 2026-09-01T00:00 → 2026-10-01T16:00 blocks 119243646-125128702 (out+in) |
76,585 |
Manifest entry {
"chain": "bsc",
"collector": "evm_rpc",
"directions": [
"out",
"in"
],
"from_block": 119243646,
"from_ts": "2026-09-01T00:00:00Z",
"kind": "range",
"native": false,
"records": 76585,
"to_block": 125128702,
"to_ts": "2026-10-01T16:00:00Z"
} | ||
| BNB Chainknown_txs | 5 known txs | 5 |
Manifest entry {
"chain": "bsc",
"kind": "known_txs",
"records": 5,
"txs": 5
} | ||
| BNB Chainscan | 2026-09-30T18:56 → 2026-09-30T18:58 blocks - |
1 |
Manifest entry {
"chain": "bsc",
"from_ts": "2026-09-30T18:56:00Z",
"kind": "scan",
"note": "10 USDT test withdrawal",
"records": 1,
"to_ts": "2026-09-30T18:58:30Z",
"txs": [
"0x4f426e23cda7ab58fd146f4f81489575563770c5d25b49d156870dc1dc1428d5"
]
} | ||
| BNB Chainscan | 2026-09-30T20:04 → 2026-09-30T20:06 blocks - |
1 |
Manifest entry {
"chain": "bsc",
"from_ts": "2026-09-30T20:04:00Z",
"kind": "scan",
"note": "11 USDT test withdrawal",
"records": 1,
"to_ts": "2026-09-30T20:06:30Z",
"txs": [
"0xc002bd17fb1d46833088c4deb2e05949fc33bdbd9f95ff53295af0c8f68bfdbf"
]
} | ||
Sources: https://bscscan.com/tx/0x718e5ea9a5e54426da72acb778c033508004b1e797ada87bc528599c800e74dd