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 13, 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 87 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.

8600 HFTUSDT Aug 4
c5ce93b00f6fdb6d04a07fd366d91c9c4f60d768a74ab7c1dca919c3be0fc298
8601 POLUSDT Aug 4
151feacee3701d8c52755518901301d35bc94e4e9e1b9f729e71728894ccc210
8602 ZROUSDT Aug 4
ac354f2a08cf3cfb99a2d09447f0f192d22ee8f68573b182152f7f457c5e06cb
8603 TRUSTUSDT Aug 4
ac9282449bb7fc505fbd28190721447dd467b40ecb725a3c2e627613b60a6e6a
8604 NATGASUSDT Aug 4
de5e0829b563459281f3089a7d4fcb2327d792a6732138d106e806195b913c10
8605 RIFUSDT Aug 4
6aba144fe1df51ed22904b7d09cb03f843bafb505d2ff5c8f9bbcc1cf97cee9a
8606 USUSDT Aug 4
fed376391ff13abd417d1c92f9bf8553d6eb72bf12552ffe4cd70124868a399a
8607 SANDUSDT Aug 4
7d035b9b1675eac75f02949a53348ca77ac7c1abd64287e525f8183f1939c6b2
8608 LSKUSDT Aug 4
8bb94a9ad7098881223e173f8131b8e0d3c18de3f4368774e1141bbc28147442
8609 AVNTUSDT Aug 4
143de19c0c91c272ee570bbe40122c3adbb63a399427955b62c3ba2870dceb8d
8610 TRXUSDT Aug 3
6fd97996dc097bd63260c1b096c8a77493d615387eaa191912cf0c4627a8ffbb
8611 BTWUSDT Aug 3
8fbf94b53ab797bf22dbe3914fc1063a6fac691085fbfd0d3468175271893a05
8612 IDOLUSDT Aug 3
1293e1075941ee20a747cf6a156d5f22cda8d4d66cad99305edeb0bd29b92456
8613 ACXUSDT Aug 3
145afb4f36895352235cf8797b1330ccfe6ee55dbc7f076ffbbe9c70ead6088b
8614 VIRTUALUSDT Aug 3
74f8f980b084a91e7ff289d833a1ebcf376fcdeb867cd607d84e4891614f7c1c
8615 JTOUSDT Aug 3
f847fb43ca1e234273d02042f109322d444e8f264c65b3e4a2bdb3dedf17acb4
8616 ALLOUSDT Aug 3
e9d17e5bcd760f9447998ac28c6b0a8ce38d35ebc06391365f7ff150bf696688
8617 TAKEUSDT Aug 3
53eab8f8ed1b0c2bd223e61d8b788e359f850cb4937e048b4d88b8d4a10054d9
8618 ONUSDT Aug 3
445244d3df4a5a78e231f30f79dc23d495ff74e612e832f6f9f8ff1ae907b700
8619 NILUSDT Aug 3
766b5d7e35c6a9332b68d8a70c0b9fccd2d24986e9ba227ec922d727190743ca
8620 FHEUSDT Aug 3
0af52b5dad5d354f4200138586067ca82eb87619a14fd1a07de89694356eaf84
8621 APTUSDT Aug 3
df5a106166820dff56a62838109932b82d6ec2415fcb014ec231983c8fb5da30
8622 LDOUSDT Aug 3
9bde1101a95700f2c1117156d3f536022e08c5a81681fd9998a2766bdc50f4b0
8623 TIAUSDT Aug 3
5ce317ebe4737d5b3ca77804baa35f7c93fb245f89d0053d2d3b37f489838ab3
8624 ONUSDT Aug 2
9cc3844e678872ad5973443c1b20ebe06c69189383b7bcbcf2c199611a221ee0
8625 DOTUSDT Aug 2
b8e60b374a3dc7015842c20ebf791f695bbd59c2480f9a9ecf8198c1793f15ca
8626 SYNUSDT Aug 2
a771c972618027142e1f69daa9734f7fc601e5d339dc504b4270eadb3a442ae0
8627 WIFUSDT Aug 2
163e88972d58a920bc78e9d6f29f66136108a8e7fa6426749926f5a87d14ce0d
8628 APRUSDT Aug 2
939090140aaf35b76c48fafd161db80cf966373cd942d10d7cfdfb9f501bd2ca
8629 VVVUSDT Aug 2
51ee6dcc4b7c32c35365ed5b9258cb31e7ef2f5def0637f3edda44e8278dff1d
8630 BASEDUSDT Aug 2
0c817105a2441877a7a6943944f0a05ae3b3433d41174cab255384c7cd265f26
8631 KOMAUSDT Aug 1
79c8d7bf51fba6302b0dc592cf0a5c3f222fcef7769aa69307525286bcb1ac00
8632 HYPEUSDT Aug 1
044b55b948404cd3c557762b1a94e6137c42cc74595d2b52c141bd2f6d637444
8633 IDOLUSDT Aug 1
3b92fd7edcbc6d3474b70533402e67745a064f1e2860d8ff23dc0ccafacb3d7f
8634 ADAUSDT Aug 1
76ec897cdff32fa58f7c894fdc84fe727cfb9b669253ed6e64659dc995dd4183
8635 EULUSDT Aug 1
fda05a4e28f0b18b55cbfb90c524d86e058b48673047ca68663636a32b3a447d
8636 NEARUSDT Aug 1
6d1c6d643d47bc9fd9cdd0db5d5d8f6c455a813a8da6b9b7a013c6dfccb7edcc
8637 BABYUSDT Aug 1
1be0e3945e9ee956bf388549dbc74c2e7c25fb74b2e77cdc59be8a77e76aebaf
8638 DIAUSDT Aug 1
d227933ecd5c0938d519f02514f20f9dc9779e3bc5cb6043f051da77eb8b384b
8639 FLOWUSDT Aug 1
df362388e7c97b744ae921df869b9446b39c8921522ec034a2d712f9147ad7d8
8640 SOONUSDT Aug 1
2af8d49fc0cd1898a8e19cc13711a6170be11d753ca0b8c54e81ec8ed5e8ffb2
8641 COTIUSDT Aug 1
aa73d9eb14dc810bc3a804c11cff28369bdfcefff8c53af4306783c5df39e7aa
8642 SUIUSDT Aug 1
5627abe591d261600af78d0253012116c4f51a671c00e8bbab4bd94f2af6b442
8643 SYNUSDT Aug 1
627c8dc7475da9394554fe604456bd8253a6f69e673a70ff96734a20c56bbdb2
8644 TAKEUSDT Aug 1
3912f881090bc7d081fc39cd788ca13902b38f1da6c9096bed2ec0fa4fd4f563
8645 WLDUSDT Jul 31
7d5acc3e7d42c3b5d5e50bb498100cdf4804584a5098d89daae6f21d75d9bbe1
8646 ASTERUSDT Jul 31
bc2b2cda4aa3efec50440147b8e0e3f00927b940e18defc29de99f2a0d4dd969
8647 BABYUSDT Jul 31
215b1cc1d3ea874f2e8c2849a1cadb2219ae04faa21a461ef08df7ea2d2d5c9e
8648 LIGHTUSDT Jul 31
4ac0282368673d84e021e4eebe163bb76af888c200581d9f978a88cc24787fd0
8649 KGENUSDT Jul 31
20cad741d9b4edfae2e01e63740f7ba2cc89848ee6dc561fa83aed190c2b7f49
8650 AIXBTUSDT Jul 31
141124d6ba92a9a8884a41cf6d699ac44df9a56572cec735a65e7c35165bd16e
8651 SYNUSDT Jul 31
0b07a67d135c604fefca65d563d5a895a72df81a60195774c94b49c757e2fcd9
8652 MMTUSDT Jul 31
43c5014b7bb014faadc385120bf508e42a3914c5bcf0c773178906a5e71772c6
8653 ESPUSDT Jul 31
91b882394414df46d5ef3020453d788e6ac579982c00e636cf0facf7fb1fdbd6
8654 ENAUSDT Jul 31
83009db3a58f4334e8a5e2ae42ea3daf44edb263a002c852297804e15c603cdd
8655 EPICUSDT Jul 31
cab281aeac357611f2af852c09584c2b772c98a049179451842f7a990fa99514
8656 VIRTUALUSDT Jul 31
2c5d42dc0f31dd6e925dcac04f3505722c15378c5760d188492c084a93d889b3
8657 PENDLEUSDT Jul 31
444292100a33a1b00769a276d97a476e369866279a823f69f7bc513fdda0985c
8658 HOLOUSDT Jul 31
7613693f3a2ed2292d232087c81743eb90d52a10e9500e96060262da92178715
8659 GRTUSDT Jul 31
e020b2b52e6edb057fda976f8a0117333785d3ef5bc95fb86b70e00d6688d9da
8660 SUSDT Jul 31
b9d8ede3f619164467d35b133a8dc63c39065db9fbc55deea460485c473f44bc
8661 SENTUSDT Jul 30
fdee44947ec93ab1f2ff73686cee949782fc3908fabaa300072cde4c3dfbb6db
8662 VIRTUALUSDT Jul 30
ef6d18da4e3eb080c9e5159b9384d9c7a946163d830208a685cff0bd8097735d
8663 BULLAUSDT Jul 30
c0e09e7eaa7b3c316d7b1dc53b41b91cb63b47e8b799b8643fb1a5136c720712
8664 SAFEUSDT Jul 30
9a0438e423fa4be1d4273d96bab7cea05c00870f21c315a134553a5c429c9940
8665 NEOUSDT Jul 30
55638955cb7375ec2be590471919c584f44fb10fcff017635419f9a90fc47f5e
8666 THETAUSDT Jul 30
51a35272642e91a3d13fa0fd3b3b6a0981642e2d47bf81709f64b1660f40727a
8667 UAIUSDT Jul 29
0378b890f0d7d3f3783e3c5594f3b7db828ce01734ece020f27be2076546820d
8668 ENAUSDT Jul 29
d9d1d92d611e2d9e906e0a836414963841c7024ee7e7a66552b8c18183523228
8669 PRLUSDT Jul 29
75b9c4b5aab69a69548fc418cea7c713b0b8381637c79f6a7ef6d88beb0806a3
8670 MMTUSDT Jul 29
812ad12f6de796033010c98abab3b0b88fb989e24a9466ebec0e86c3be4438c2
8671 ENSOUSDT Jul 29
ea7204d642199611e6a9b604dd585ec8f7c91896b4a23e68a522cd28d9554558
8672 SKYUSDT Jul 29
ee9a6330e2e2158baf724804c1d784a79ed2529825f4180ec2a6425f0ffbbc17
8673 BEATUSDT Jul 29
540dac9a96bfee161bc5085df2f5f39e6dc231c3df69ee8db6376108b1a386f1
8674 UBUSDT Jul 29
a7be68bb538a051f2b93eda96dcdd749facc593a5ab0475a34527e8987b00f4a
8675 STORJUSDT Jul 29
ab6b9375342bc2332ddb0c911d840d776d4980c89eba7d805db7ad33e711cc05
8676 SANDUSDT Jul 29
573accb113c116ca78ef9cf882064ad63ac30e71a457205843b664079e7a3523
8677 MIRAUSDT Jul 29
f0f1a86eeccfabadd598d521352819035905efb637de7bd12a39cc8cb3d9252a
8678 COLLECTUSDT Jul 29
e3e3aea4cea072a6da4cbc5f8f11e2b1a960b7ed6b03923f98f3ecbb58cf46ee
8679 VANAUSDT Jul 29
5f31e483a2151773b48548c2dd0bdb657060d265bfee70c2e2761c1dc215e124
8680 SUIUSDT Jul 28
710fe38e231f7900d540c82b9979d1f48b8d33d21444ba419ce1acadb9762c17
8681 WLDUSDT Jul 28
48a38b56b5f47b45842624b78f056ba861f8af15ea9897a5c41f803cfbc954fc
8682 APEUSDT Jul 28
93db22a05bb615227c0193e75e6b05f9b351b0cc919d5b890e029128f9be4fd5
8683 ZAMAUSDT Jul 28
72cee4f073b933c04093d847c0723512116e13baeae99298aaccb431834a954d
8684 ETCUSDT Jul 28
5686db4cdd3f8e969e42ce4c3eab111c5cc7093b65575fca580d78a61187298b
8685 COAIUSDT Jul 28
c6c5643291b38371b7d10b408cab77922c98c0fdaad07692d84f0c1cbf00b0cc
8686 ALGOUSDT Jul 28
2a8bc37a24cdbd492e507be13e66d59ad2477608f6a4cd2aca05c856bac4f8c6
8687 FILUSDT Jul 28
6dfa91cde484d2da8d328ac71ab422e4937eec680f3e975e369de81f97dc2f8f
8688 EULUSDT Jul 28
69203a515060695e4bea8e067d3a66dd0ac422d4d489e04787c55ba7f65815e3
8689 BTWUSDT Jul 28
95908e9f619c2363e2e2401471901fae170a090d52667bda3dab35462436699c
8690 TRXUSDT Jul 28
ff3e73f793b4703ad5b914e20de8339b9d9696a8b2c1dd2b8e862620c5837ef8
8691 RIVERUSDT Jul 27
4c4b3766660f2a0a539b01a073a6ae0cff2020edc259db137614103d86af6903
8692 B2USDT Jul 27
5c618b3cf44215579db83226c027b7ee9f9f546dd34cd8f94e3b53be27aae951
8693 ONDOUSDT Jul 27
b67fc2f468381f01fa9cc6b89e7cb71d4b4c98eff052c7e15a78a3902db21579
8694 VIRTUALUSDT Jul 27
93a7fdba5fb5dd3268d9bdc843e6ffcc4f3e3757d3bfec418db0399db80eb79d
8695 ENSUSDT Jul 27
13a6d0f133aef956997eff82737e5c83a1ec0b4df2fb355bfaaab5028fe08526
8696 MIRAUSDT Jul 27
7d0085d1a9c65e4881327d47b4d7ef9c35bceb2414cac6fa70b6caeabcdaa7d7
8697 MYXUSDT Jul 27
0f38bed3105b13c6d63dbb09a6a8a0492bdf5e3dfc37102a4446a75e34d3d641
8698 DIAUSDT Jul 27
33c50861e1e304f3b2bf2709329fd96250eb3a1921c41d20ea067507d44d0e35
8699 WLDUSDT Jul 27
99b3b7621de18f6563c42e9839545634720f51a53dacbda890de1e61125537d8

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())