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 177 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.

17600 NEARUSDT Nov 8
cded9b03875cf32617564d7d3b447c710d5088621293e161a6f2eb5304cdfd89
17601 FILUSDT Nov 8
5a80b90445f97a55d04d349d1dc7917b9f304bb2a7c560048a86c03104a28b29
17602 ICPUSDT Nov 8
8d0074b43148e923ab49f02ef52ca4371a0b4e3dd73345e47197390e851afe52
17603 FILUSDT Nov 8
794b3a531c437f71b4cb688a2c168b7fb6be62db63216a6550fbd6b95200665f
17604 FLUXUSDT Nov 8
ccb6d91fe2a850b553e3648a223dc6d829cb14fd3eb1d1b8991b6731703612ab
17605 FETUSDT Nov 8
f111f2be04920b1a64ea085b1ff45e41dc5f660e7a882c524ca12f059680e4db
17606 0GUSDT Nov 8
94e3fcd57b333ffe0e3c232d2bb31245c02de021a3438e65a6f29c5583bfdf0e
17607 MANTAUSDT Nov 7
02ab89b0d8e55588af45eedb31704eba0e25bcf22bba75f32341f8b0f327983f
17608 XTZUSDT Nov 7
3607ee05a122897b834fcbac160dc5a4b53a381045630000263549bd96293e02
17609 BLESSUSDT Nov 7
2a9f04c5c7a5658e4afe4fdd57557d3605a99f0d44d224572fd85ab9cdebfeab
17610 DASHUSDT Nov 7
582ce7ab6cf40dd9586f172dea9d09522d1df3bf0618a36495c11aae0a01097a
17611 ZENUSDT Nov 7
9f605da71a8cf33d1fad1e71dadbf3f7847c07315cf05c61a0d78234bb1628c6
17612 SAPIENUSDT Nov 7
3538cfe71e1d32209f63fc6bb1780ed6a0225df9a1b3726a76f1f928e895cc43
17613 PROMPTUSDT Nov 7
52eb8ca962bf562672d7ea937b316b339cc83d416d22d936d1d237bd922f492d
17614 MYXUSDT Nov 7
9ac3ec366f13995394f37df5152afdbdac280c85fd499567e58933bc079ae243
17615 BLESSUSDT Nov 7
47eaef79e3a2b05d0f5fd965638e41b70e82ccc2c032e12137f5678befd9fcfe
17616 DUSKUSDT Nov 7
2e96afd37c275ec3fbc4a3669fe2d0f212dd445528da75ecb9f87c460eca74d7
17617 FILUSDT Nov 7
85e0beda3ac479d31fb09a095f22b8bffbda80b5dc98920a33cdca08bb868bd2
17618 PROMPTUSDT Nov 7
5f9e0bc6ac1d8bba65f9e4dff6518bf9906eee037f4810864158d1c00506630a
17619 BTCUSDT Nov 6
8620aec8a6d2a125789440c45df5eb6ca9e69c03cfb5414d9a62b11fc3bcc755
17620 SAPIENUSDT Nov 6
c8dcf2bb36e25925e33d036407974ee3278d4ff9b791d2ac6f99d12093de5796
17621 PROMPTUSDT Nov 6
b73cb08269d57036984324e54a6c884596ff1a1a8f99b0934c6d2bb2481f5039
17622 SAPIENUSDT Nov 6
976a361769156a5943792b6ebddaf4877807ac5fbe92b44f0ffe1f3c6e2e609d
17623 SOONUSDT Nov 6
7a44c79a3cfff779b5b924cd3b0120b1461da04a27fec120c267c9f4a558edc9
17624 SAPIENUSDT Nov 6
12bf66716658004e53a88ad5b10adf82cccd03880036668fc1a0a3ae40e691f5
17625 RESOLVUSDT Nov 6
7cfc9536c54b836ca031b41f5c0954a0742bba68812886967dd0dc4f1b56effb
17626 SAPIENUSDT Nov 6
8c8bfa7a04ea1cd61d59eb9d98fc9a1ee344a7c80263398dac96c991aa2e6e1a
17627 SAPIENUSDT Nov 6
6c4dbdbd611d8a780d2e4de4524ba4b0f7b9581b0c896f2193b30111b0288813
17628 SAPIENUSDT Nov 6
5c5f5955822746c974394fc62e8054e5469532231dfa35489511354981690800
17629 ICPUSDT Nov 6
bc4ecf0940675d4418387005a3c21c6ff70676b11fc3559be16e6638111f4054
17630 GIGGLEUSDT Nov 6
08c7cb89bdcfd806ee5982de95a0b24174fa456ec1bef94db2e8f3e9aedec13a
17631 SOONUSDT Nov 6
4086a265b72d7041d28d45dbfe434dfd7d242a4f3ce6cd422492d05abb4b666e
17632 KITEUSDT Nov 5
16ab61d45401abe96b003180483083d890730372de723bc3e1d70797dcd76379
17633 DASHUSDT Nov 5
8d0eb6f0bc37c9b61607826310b7a868df672747057c11bd6a09ad27d19a1904
17634 BDXNUSDT Nov 5
9f3890ce84a3744fc46de99e88710ea2cfd5b6155c43fcb9c5f5f3745f4ecaf5
17635 GIGGLEUSDT Nov 5
4b52c6e9cea1a9735df9d68b228ed1d301dabb0f90d99ba36064fd1c3d9c517a
17636 MMTUSDT Nov 5
611bb1011e40e936fca925245ca367b0ca7e6a8d9fe3f985551b66e8580c80cc
17637 42USDT Nov 5
89e196fe23eb3318cb1f95c6719b88bca8af0304c2ae0bc863c7115c3ddb4114
17638 GIGGLEUSDT Nov 5
e88f2f21d93d30518ecae5bf6334088a5f21ac8219a4ac10e2d7d2f28fb62ede
17639 KITEUSDT Nov 5
2195d7a36bd8cc5b0b626dce1c7a2719135f243016e706e96feb109a5b7ddaf0
17640 CUDISUSDT Nov 5
a034c5fe71f52d7f2e6aab7b5d52cabe762415cad3dbfd8e5e66c6f63605101f
17641 AIAUSDT Nov 5
ffe5395b2db2dad9a20c03de13a87b8288ddd1cb97d42a0689ad9937715a01f8
17642 GIGGLEUSDT Nov 4
9291598e200c8bd9a868749777c1b45bf7daf206409303d4abfa43e11b6b93f4
17643 DASHUSDT Nov 4
313ada0099e807300b7af3caa1a9a50a858437850bd98793d796c1202537b494
17644 XVGUSDT Nov 4
19727eac24019fd02e95e3b02683a5e0f9d931562e52f4c84870d2b455ae3f25
17645 DASHUSDT Nov 4
e9d5b6378476a9a25fc67e6c6b5842ee81b83e61471dfb10b79a688c28bd5e38
17646 ICPUSDT Nov 4
34f732fd6e9a44c156108a5bf87e601465eb74cbaba07ef3cf7e1d8fc90b5bf4
17647 DASHUSDT Nov 4
4455e03e9f34efd768b53a3b7569bd1de2d3b6d734c93b0f2a561591f3bb5394
17648 ZENUSDT Nov 4
6481a44bbca27d09c6e4b87966e83dec618beaf96e14f88ffc2436e42fff5240
17649 ZENUSDT Nov 3
8339284555e07d0f881632ed18064c132e5be11858fdc437440954529d7ce778
17650 DASHUSDT Nov 3
aed590bb9ef87787b6cd0c4e6682091cec2abc7a816f047dd5daea5ba2d064f9
17651 COAIUSDT Nov 3
8c93589dddc09bcfb9c8a108ae6335488a735348880405f29b153067e12b0c01
17652 COAIUSDT Nov 3
ed48851869b77a98eb4a108ccc3ebfd08d32b3e5d6c5dc25f85983ee96b6922d
17653 COAIUSDT Nov 3
73bbf86b8f61917d522ab685920b77cbdb28bdf609c9842850aaf07d7e249b96
17654 JELLYJELLYUSDT Nov 3
d125343ee1bb967678099d78d5f19cb8ac2a2090785b151414c6c91d5083c424
17655 KITEUSDT Nov 3
4bdbd7448ecf6fa05c21f7b0415447c64f2f77f3edf234128e0f59944433e299
17656 ICNTUSDT Nov 3
d843355658a3d3fb9a74f12c751b09de0f985edaf2392dfef4f77243c2fe48f9
17657 ARCUSDT Nov 3
08fa280e2d43ae401b7b70f3daa1f8cd0a9a84e8f473cd522b9a8d82d907e668
17658 GIGGLEUSDT Nov 3
3a80ad7b168f3c7695fdc7d1bf90862f36e55c17e8b5ee785bf8288db31d573f
17659 0GUSDT Nov 3
219a21918d4aa7c6c351004a9a51e55e07de8aec2adf370d8ee03c96a13cf559
17660 GIGGLEUSDT Nov 3
02ece1bc43e792c3ef0835bcdb52632799e36f901a95bd297b8e030a2d3b867b
17661 ZKUSDT Nov 3
5069e948fd244e63bee12f25af38a075d891246620215b1684d1b310f0d41377
17662 NAORISUSDT Nov 3
32bd14017094ce5b9ec647ac12fa6321e8aac696674ee75f4314c14a40dedb58
17663 PORT3USDT Nov 3
085e9138904673bcd91b9dee4bf7b36779efd4afc646dbcdb582de1cdd29b28c
17664 0GUSDT Nov 3
80cbba41069ad7f1723741447f16d59d10ad6e13eefb8e6f110befa62e5f516d
17665 LABUSDT Nov 3
9ff28d6d5089baa93d70cf6b55816558d22b696435a1f039c0749a37ae0c8175
17666 JELLYJELLYUSDT Nov 3
1ec9521026732151efdab8b7cf9a310659c2076f45a954f1a1e8b928b3143fd2
17667 DASHUSDT Nov 3
daea3ac8086d7b54238f9be7dc1840674f29f0c12de01bf202247b5f3bbbb72a
17668 ZKUSDT Nov 2
7752447d8b1b06b1783a36d490957fb5c6fd21299a34a01d71e98e1d2c41463c
17669 PORT3USDT Nov 2
3e08dd86997c4510a8225941f7b5989f3792e740104f0c06a2d09a38b3edc193
17670 DASHUSDT Nov 2
0b0d39180aa3cc72eb70baac5870ba1089daa7cdaf2a82349daea32ac095c690
17671 XVGUSDT Nov 2
02dcd32c5e55e008f10d342ba57e035a14ce012823163d0bc36d822c806a469c
17672 DASHUSDT Nov 2
dcfc932d5e5cf0bf788138863bb4314be3529c012544c435d9050c70e6aafd3d
17673 ZKUSDT Nov 2
ef214380f3e827424fa1983fba29677baed3a3c2aa236880b9276567e8e335ba
17674 ZENUSDT Nov 2
1532faa268d4018ddf25060cc3251637a475d775d9ca98673170746933af948c
17675 ROSEUSDT Nov 2
3e74c0838e264d0463ef150d5506938ae42688dabaa0e2befacd3fdb6fe78ed4
17676 ZKUSDT Nov 2
47e853092518ecde3e6860699a5e6cdd752d99f64176c62f1bbf4e591e56f006
17677 AUCTIONUSDT Nov 2
c930d9a3891ecc5e71c8ff7fe96dad30369264d183b441de6eafce926b639ece
17678 COMMONUSDT Nov 2
c06ac8f30541d447b14cdad2ebd6373c48dc1576f050ab8917a803695ed545fa
17679 TRUMPUSDT Nov 2
4d086a7cce08ddaf64d3d9548aa1c2fca77eb35a048612c7fc0447e4e4546ff5
17680 DASHUSDT Nov 2
3fd806d82da7c44b689d05c92e5305d1fef19b7a5843103930c5b2be8d63f845
17681 ZKUSDT Nov 2
79e9499cfb15a3c44fa55c2c41a355dff3218a3d452f50ddf8b04e549a95c93b
17682 DASHUSDT Nov 1
60abd567c2e5c1651872f36766c0324fae82ccb54da855ea230774eb8ea1edba
17683 ZENUSDT Nov 1
96eb457d18b2717dc1773344cae3d3eedb991563f6b500ebf5503d53ece7b9d7
17684 XVGUSDT Nov 1
43f6f1c8290633886b8df203dd6af5fafd90cd15583c4e96222751d954312ef7
17685 ZENUSDT Nov 1
307822121630fb9e8c3933e33360bb3917bf052d6f96d9d65c812d1b23f008d5
17686 VANAUSDT Nov 1
d91ecb9c872e8f6864d58ea647f23ad372586521b8958745a6b755e94a25944a
17687 DASHUSDT Nov 1
a1f54c3a20a7593f826d4b92b9c0beaaa26d4df0f012b9bf0c04ca3964392959
17688 ZENUSDT Nov 1
26b65b86454cabd2a9444410f96be657cc036d360e04ab08abc1538793c5e304
17689 BLESSUSDT Nov 1
0c049d652c46a0c91a5bb2eb67079f5586fe1c9b5bc1500ed295b1a767ec9eab
17690 ZENUSDT Nov 1
5d6123ba82d7e3564c1ca385813e7bc7a002063b8e76839054570dee497135bf
17691 BLESSUSDT Oct 31
94af9ed6726bb10037a312b4803933afec498dac5b76195e28bfbc9a2bd641d7
17692 LABUSDT Oct 31
d6200be6f9b500d18526f6c0da038cb6a96e6ad2f09bb8718ca94ea9b395409e
17693 KGENUSDT Oct 31
c5b3f41bf21059cbd9cc3066b50a2a44ee1fb559e0de0a4dbd2d38c70426e97c
17694 LABUSDT Oct 31
031bd425f99699634d85ae6b2d302cc8aa5030a7811c4411d1af444db18970d0
17695 LABUSDT Oct 31
a9ad6f748eb75a2bd54998c3b93c36d3f0bcd8dff893d975819b7fb68ab75311
17696 42USDT Oct 31
f5b908e5ea8e1674f89e99ad0e2f7f1cb5a484a52e6848003db133da4885e68c
17697 GIGGLEUSDT Oct 31
5a28ed6e954a46bf28320874638df6cb8f4e45f3e011a6c2131ddd3868e97189
17698 PIPPINUSDT Oct 31
0c437ea84a7e064723537bf5b0f8ac628804a86011f7440acb223e23c200ff23
17699 HIPPOUSDT Oct 31
5e4ea6a7b5d5c35bac88f0b16b4b92cc04e7916d7c4b2f6fe9450a2ba8ee7868

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