Anchor batch 20261005

22879 signal snapshots, hashed into one root and written to Arbitrum One. The list below is the batch's exact composition, in the order the tree was built — that order is part of the root.

Merkle root
0x2fe724f9fe21578e344b60fe062939096dd10e68c3c46eef159574882b4633eb
Network
Arbitrum One
Anchored
Oct 5, 2026 04:30 UTC
Last re-checked against the chain
Oct 11, 2026 — the root on chain was read back and rebuilt from our rows that day

Read the root from a node rather than from us — roots(20261005):

curl -s https://arb1.arbitrum.io/rpc -X POST -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xceacc40cf7b7c797d990dce7164fcccd87dad693","data":"0xc2b40ae4000000000000000000000000000000000000000000000000000000000135288d"},"latest"]}'

Every leaf in this batch

22879 total · page 56 of 229

Leaves are numbered from zero in tree order. Each one is computed here by hashing that signal's stored snapshot — not copied out of a column — so a row whose bytes changed after the anchor shows up as a mismatch. Open a signal to see those bytes and the branch that carries it to the root.

5500 SOLUSDT Aug 24
fdc005c18a16c2b19b162361bfb0405f4e5c7791ad03b8552490009e41d91592
5501 BTCUSDT Aug 24
ee68960247c05e4a831f18e4cef2bf0311d11b9525f4cc466f1bade2dbaad730
5502 BNBUSDT Aug 24
708b41ec07b4ac11a5d7f6c320b9f1b40d142e0c880d9c091354eb2e4d3c5128
5503 SOLUSDT Aug 24
362176ef98c1977487941f31c77c6bd5bac0c9b2ebd18c861361ae7454c9edd5
5504 BTCUSDT Aug 24
0934e1ef6a74cd982f740cadc2d62378f42f72a19226bc8fc535847d102e526e
5505 SOLUSDT Aug 24
697829f757435f1b83ce881690c1c2c7540d96beabbe8b5b0ae95da6ce4a01ec
5506 BTCUSDT Aug 24
1e79135dc23966ac555980a224a2516325d4863654217009325baea202f1859c
5507 ENAUSDT Aug 24
632cc2ddcc0c5568a504b23bcc876320128dbfcfc61aafc6089eaa6f2e939e35
5508 BNBUSDT Aug 24
d589993cfb9f1e3e896469170d5c8cb698c7ad7f29c249dd0596783fa15605bd
5509 XRPUSDT Aug 24
859a14989b43d6065c501e5baf57062b76695e63ec772d77f343190b4d34f671
5510 SOLUSDT Aug 24
29ff925316d3eb30e558d050fc3a6fe0549ff0257fe62396d6bb97964e0f2318
5511 BTCUSDT Aug 24
72b7d00abb38294412e945c79d4411f7eb2c0d8a567e23fe571385553ec2ab1d
5512 ENAUSDT Aug 24
a81d33dda746f6b41f10f0534a55a82fa8af1ec4cfd459381728c7f789a2ee9a
5513 BNBUSDT Aug 24
f3890bd64acc87b42b7d26933820b66c8deef2612064691acbdbe4e9a6eaeb2e
5514 SOLUSDT Aug 24
ae4fd4263fc954647f665842258368c45859d73eefead3da7dea9d205d3049de
5515 ETHUSDT Aug 24
460d260f21d0f553d7535e64d3328c71e849b1859dcb1285b3bfc0d78f915fb4
5516 BTCUSDT Aug 24
796dc20c419523c104a6808fbb2017c4fdf93499681c76ce4f07ff6875179d01
5517 BNBUSDT Aug 24
d3c6805ec4aaf3e3af82015b60e15c386643c4048a03e48f993663662905a1b7
5518 XRPUSDT Aug 24
a9725b009bbaddf41d957684892925916f8bf0913a8b0c19c15e940db7776612
5519 SOLUSDT Aug 24
ba57020e0b38ee92dccb4cbd4877e90de8b13d83da122113bfc1d6e56436811b
5520 ETHUSDT Aug 24
56d7529890dc1779a572fad43f398314816bfcf6a1d5607baac2aca3482880f8
5521 BTCUSDT Aug 24
e5b2a9eac2876224290fdac4b59370a781739b1e18108b77c44aea9dbf5243b6
5522 PUMPUSDT Aug 24
b48ddba722f9e4c1ee4967c880be7f7f89c586880f24be45c9748cdfcfcf9a64
5523 TRUMPUSDT Aug 24
5adfc77b7c0117cc4690fcb0069b9c86f3481101fe242cf3b6163f661885dbd2
5524 PUMPUSDT Aug 24
226d99440a60b8ebedd78dc592d5352a98342814f338207d41634f4b44a2d0a9
5525 BNBUSDT Aug 24
a166f84b800be521da556456d1e8fe52ba835386ba4011762ab459e228bbfbd0
5526 TRUMPUSDT Aug 24
0e9445fc9c0c34d66d20265315da6ca6307be8e931d25ca5a9b0a2c3c0a0ec48
5527 XRPUSDT Aug 24
8ee3489d2d3436804242cf6ca34b1ab6641333ab5dab6ca07cd299836b25b985
5528 SOLUSDT Aug 24
8f9570ab0de902da8f92dce9f15dd640b5de7c4b957d6fd62fdf067161e32d3c
5529 PUMPUSDT Aug 24
d9337dc335c72e3531b3d4e1a36be60b35a58aad214bd142959fafc24c80af31
5530 ETHUSDT Aug 24
22285c85233eecfccf8e76b9419f0d0a2586469ddd53fe8464a8ab2bbc346829
5531 PYTHUSDT Aug 24
dbd0bdb36dae655896460d25a974a239069ccba1696be8840fe2a28a77ef872a
5532 PYTHUSDT Aug 24
7b5beb7fc2a80332a85383e33a15fc4ed1f768dcc4310281dbc8603c134c29af
5533 ETHUSDT Aug 24
83cf2a169957ac7a1f1bdfb3e00d337ffbd574749350b45108780277f6d009a9
5534 ETHUSDT Aug 24
14444273f099cf074b1feba7659a5ea722173af5cc0eb8fa1b0fc5fbd28e02f6
5535 BTCUSDT Aug 24
ea3e083be84b36345727b4ea3b95b0e9ccd01f350566c99f0e7c8b784c1be64a
5536 PUMPUSDT Aug 24
64fe87716b950173863c861850d2f0fb1776f07293204379a310b4bd0e802c3f
5537 XRPUSDT Aug 24
11ace4965bc005fca8b36b1e0707c096c1de4e7fbe48ac19b433ef9ef78ff873
5538 ETHUSDT Aug 24
0183fb4ea64600ab626c68564153b481ba98f4a39521f4c12c7e765abdc9e7ad
5539 BNBUSDT Aug 24
3830639e9d1465e45ac886a1c5a60666c3e61b9d2c12234fbe59dce115e47563
5540 PUMPUSDT Aug 24
473d9edcd4b1e1ec832f3d68eefab74078feb012f1c9f9300cdf7f206467082e
5541 BNBUSDT Aug 23
79538f1ad979ef5807327a754d656aeb751b54293f6e4119474a81e73c45b4c0
5542 TRUMPUSDT Aug 23
fc294316c27f78f7b2d167609aff84ead50daddf37590f8dd44e16677b1be309
5543 SOLUSDT Aug 23
2bced71515fb6a266965b314234f37c411393bfdcd95e6ceb5908fa79cebbea0
5544 ETHUSDT Aug 23
fe7be3163a19a5cd4573406597f447b1767c56fffe6a2309dcb763add06c3502
5545 BTCUSDT Aug 23
e9d280425f3dbff23a7198e5175d266854d5bcf72a1b7e7f120348616ba27ea8
5546 BNBUSDT Aug 23
ddcd78e3a84fd4e1859e69d0ac84c10ded0fba7ab9d36ad6703b64d7926b427e
5547 TRUMPUSDT Aug 23
8fc192faca144d06d6574a0ac3dbe9974443d33a2a39306a1473093f1068edd7
5548 ETHUSDT Aug 23
8724d0d90133336d5e32c98c87508560fbb69e504558cb15d229b906ba0098c1
5549 BTCUSDT Aug 23
41c888fa81262d4cfac9c199df33adb7ea0349829ba0866199a4e95ac83e0fd2
5550 BNBUSDT Aug 23
0f53c4eb374b42bf68d51c360d1eb54e0980904e2ca4ce11617e6e6cc9d3b599
5551 TRUMPUSDT Aug 23
37e5d05025016186a7fca976b1d1c903cda1e9cfe8fc4ef8555f60aa4d50d71f
5552 XRPUSDT Aug 23
3f2ab00715d8141bb163a3c457242dab703ae12ce916fd876379d3a479985835
5553 SOLUSDT Aug 23
59406e9f1f75e8a06f7aeeaf361164ff5ab744ebc157f7de059d47275ff67f91
5554 ETHUSDT Aug 23
915bb6b2adc30b98865e87c1d1039e62d7089a0e3783cb2eaae0dc40c65788ac
5555 BTCUSDT Aug 23
97a28be8f932839415d71b16985d732f9bd576800939e57dfaf738a731c21aec
5556 BNBUSDT Aug 23
f7a88e84445bb11a479cd8c926e4c8a1c870f29e035f60b9d52a8d2812883ced
5557 ETHUSDT Aug 23
8672f6512e92077715eeaf9ed3bd170d7c494ee42e1cf69a9d6df7c3b9170c26
5558 BTCUSDT Aug 23
5c83b2751b303fa928a6f250c03253c90a67d33d53f4d90949a9d9931ad4c50a
5559 BNBUSDT Aug 23
ea77e755e7f76c9206a15fd13405949134a38a61fbc1600d2fd0a0e6206f4520
5560 XRPUSDT Aug 23
e40b67c1ddb7b8f718d7fa492d7c5f26587811b8fc27e9aaacbad7ba473c012b
5561 PUMPUSDT Aug 23
de94de6ffd05a5099b3513aad448dc9fbabe3f3ab1b5bac62590cd7439328021
5562 SOLUSDT Aug 23
640ffdd9c413b1989ca6c15265a41a08abf9cfa3bad62b01d72f4214c45398db
5563 SOLUSDT Aug 23
ed4ddd0fbf8b69183b6559369bb7131246a0033dac61198dee7a94d86a21e7cb
5564 ETHUSDT Aug 23
522af359461a5c630f14cfcc84bb3d12f1c9b3074ec0da3133da0904abcb7fad
5565 BTCUSDT Aug 23
82d790d6eea90da1a67edcb8eeea54567c9212733717320f826b33726dcd0782
5566 BNBUSDT Aug 23
4defab23aa91acf022dc4f78b100c165abb2ded2ad6169d0ecffc56b4ae6c208
5567 BNBUSDT Aug 23
ed80dc28ea64d72d0ecf7f282940b214bc436437578ed53e87cf0c22569a7e8d
5568 BNBUSDT Aug 23
bdfe66b2ce89bfbcf8c0669ec6f9aeff988d2b578560d9ffb10587458d823b17
5569 ETHUSDT Aug 23
81675b80a01459e1c9ad9243c8e8e86a09fe1d6a727594fcff859e82efbe7abe
5570 BTCUSDT Aug 23
e37665ec1fc779b66a5b7d61e9ec00228ac9930ddc8cbb5bf41dc783f46bb1ee
5571 BNBUSDT Aug 23
3a7b3949656ce61699c3cb77745f81cd38b996fe57d91c54a508765f8ad697ff
5572 SOLUSDT Aug 23
20d894b0088eba2822c670750a523ae78d1607a1b55360d8e5cf2823356ebd46
5573 ETHUSDT Aug 23
a31e177d8bd9bbe6a2e8ed1b8db97414e0ac2192a9e75bb22dbabab312810537
5574 SOLUSDT Aug 23
3a4d46b96260c33b87c28730a7b9a8de9051ebe66332055baa3d5a1174c802ed
5575 SOLUSDT Aug 23
e7ba0f57ea7a4c06722f7a98dd6e628bf3c169b38a8d4358e090afd496cf895b
5576 SOLUSDT Aug 23
f5fdfce0c72b91deb5d9c6c5acbd6e5c33bc3b535015788af9fe5e782d1a9ea0
5577 SOLUSDT Aug 23
a085915fa3514d1a93924220b994f911d9405ff0f807f035155ca5cab790c421
5578 SOLUSDT Aug 23
5ba0aabc6d5d93b3486f96a48c5da0a67c9a9d01c7506fde44f3ba8e0cf6e888
5579 ETHUSDT Aug 23
706ebef2bdb16de5a090c8acb8f5f24c5ed8e0c3ca13135cc81170b3f774ffe5
5580 SOLUSDT Aug 23
63bf80961ba8f48ac0fd16e7b1cc777fd3cdc85306aa5d3655815fbc551238ad
5581 ETHUSDT Aug 23
643313274e40f4ef9ee3fdc72650f3777f08170c4fafdf9263146e46063640ce
5582 TRUMPUSDT Aug 23
f56ec46f4171675e9f559827214fff18a6fd87ab6d18254f2d79257ddc864ad0
5583 SOLUSDT Aug 23
821cd2ac354a9364ecbe9522504f446f02dc2e07434bf74b31941fcf1531a393
5584 ETHUSDT Aug 23
1c8ae1b1e4768e8476bea6dcaf8b4fc0c827eeb0d6cf5daaf637a7c15dd7073a
5585 TRUMPUSDT Aug 23
755efde8eb63d3bf8cfecc992ff2a795359a97609d967191efcdf33f9c2bde26
5586 SOLUSDT Aug 23
33bbdfe58ca6700948cd76e535b2fa53db775f053a4788c2955921e41f5d75e7
5587 TRUMPUSDT Aug 23
f716693f6f90692c6ba0dce3ee1244ea1764bf00bad2875798678ba9231e456e
5588 TRUMPUSDT Aug 23
67130d8d480c8e59ea5fa01d44853cc0d17e8086438a1e040f8d390ff2f743b4
5589 XRPUSDT Aug 23
651d7f8f2208bf8c60257b1e3f6d143dbea079f43bc855a4c42347aa5dbbc0a0
5590 SOLUSDT Aug 23
045405a20f87956f87a213080db0601561deb1356c44801da0bf0daf35f1040a
5591 ETHUSDT Aug 23
f660b8cd1d23272b5e04e8b92a29c70199307a8ef92aa67a1cdc1278f579c75c
5592 DOGEUSDT Aug 23
de06d7c40d1f4acc95ab53364c7d04882313f624ac58de39f7e7d39551b16e67
5593 TRUMPUSDT Aug 23
f876dfff08fb359968cf26742f3f2a9bb0ff054b82d15ccb94b0236dadabaf07
5594 XRPUSDT Aug 23
5a01b7b62f78f0eb53832f905ff9fc50f69da461b6e8dbe573235bfb033257e2
5595 ETHUSDT Aug 23
6575f6cae04465985a55a76f4ffa5cf75815764ceef2cce2491eab0366e6e835
5596 BTCUSDT Aug 23
330ce77f29aefe1d8353d83972f5b147f280d907c3449f69c9e138abfe7ee04f
5597 DOGEUSDT Aug 23
7ce47b3b369b0d67fd6089cf9f30017712d3dae1ce51b58c561d92e58f9cd048
5598 TRUMPUSDT Aug 23
b0ba91ee56774179ec685ea20fbbe6dc0da8c2991d620621be31fa296032cdef
5599 PUMPUSDT Aug 23
92694e5fe0a16a9e68d8342158eaa3da2c007a203e70c99b3ac8af106b89a44d

Rebuild the root yourself

Take the leaves above in this order and fold them pairwise. The specification is published word for word on the verification page; the short version is below, and the rule that catches most reimplementations is the odd node — it is carried up unchanged, never paired with itself.

import hashlib

level = [bytes.fromhex(h) for h in leaves]      # in the order listed above
while len(level) > 1:
    nxt = [hashlib.sha256(level[i] + level[i + 1]).digest()
           for i in range(0, len(level) - 1, 2)]
    if len(level) % 2:
        nxt.append(level[-1])                   # promoted, never duplicated
    level = nxt

print('0x' + level[0].hex())