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 14, 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 109 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.

10800 MANAUSDT Oct 2
d66959b2845924ac4b49e85af71747357501336c9a923a2221cea1510682b8b8
10801 UAIUSDT Oct 2
113e589e80c39e302181e1449aaf476076076618af1b2aae95ed1a77b5e3c0c5
10802 MAGMAUSDT Oct 2
f0eb2e0eb0874eb263212b2ef3abd2f8a8e1b2deab84ddc0049d8faaf607de03
10803 UAIUSDT Oct 2
62b2e9e78f86b7a5e250fc5b0da3e82735241c4f116ff1088c1e6f0be108217e
10804 UAIUSDT Oct 2
bb5146f699b0178d1d7222a6f015de10c9dfd9411e65df51d564ecf035eb9fc4
10805 MANAUSDT Oct 2
a9b5dfa258fd0fca1e9f7f5edcf86bd9a645eb669e2636d69fedff7365cb8abc
10806 PROVEUSDT Oct 2
f3aa5d2c05a6ffd7232b89a25858f2541ef7f01e6504bfb9004f121a231512d0
10807 MANAUSDT Oct 2
43803d6c9b76ba0e80e0fa9663edf844aba5bc64975bb8b169c3d8dec9af4349
10808 SANDUSDT Oct 2
b20a0dd2b8310b867e9d0ed1582b7d50b6df38dc3553b5341e6666692f0f5dff
10809 SANDUSDT Oct 2
fb8bcd7a9871d0fd45c2577b9731e11109239155659bd3781c70cc13554dd0f5
10810 SANDUSDT Oct 2
f03fabc506f3ba61105a11ccf9e1dd5fbb2e53bd9c0e077ef7000bd02abc1815
10811 MEGAUSDT Oct 2
b8ea4a46483d7bef9cdc978a5e3e9304db103cafb2a709b7ee30e199ad374d68
10812 KOMAUSDT Oct 2
a107e36f6e4fed0d2b9804d9c42c77680b9670415672e1cf754261aa29e772b6
10813 FIGHTUSDT Oct 2
763d844b92433322f866931d3a798a3194c128ae098db8df3bd7b932962f54a0
10814 KOMAUSDT Oct 2
09ca515f2270a343440f30a2ab54b75f3feb5c4c6ae63b671982049e08791866
10815 KOMAUSDT Oct 2
2e7871a837f0b5ed458111b676cfce81a2e9243ef9f26a7a099e57cbce27a03d
10816 SCRUSDT Oct 2
98d0c171ddd6ffd2da19f83b3a5e1e4fea556ab5dcf0ec05b1e0a79c4cfe465c
10817 RESOLVUSDT Oct 2
504163a040acd1e8dd2087d01325385050a54f6ee7f9b1b9a1bbc6700d09e7f1
10818 SCRUSDT Oct 2
50c7d9b4a37f80ce6b837206efb9e5a57e5bc8b2c62725be2f5fe2ec4718bb88
10819 SCRUSDT Oct 2
2bf882a3cbec4dba3a980263d79646b9cf1e0397869b505c5cd21203e794e5f2
10820 XPINUSDT Oct 2
c31a2cffb4c5d1d9e31296a918fd446911933c3e341c586b3c56b2be95e6ec76
10821 XPINUSDT Oct 2
c7ac4557aa04986ede69af5207b24f3f1cf2de91c658dd59fd71c756c6940fac
10822 SUPERUSDT Oct 2
29eb59414177055df42b3085a3d8dd1fe036bfdae115f4faee11d53e74bb1c6f
10823 TAUSDT Oct 2
48d78e108f745ea8a3bc4f825ba3bbb1384219de34dfc938f5adf98e69b6ba67
10824 BLUAIUSDT Oct 1
712be03d3d3cb77a2c84cb782d4f888785af350c8e90230e6c9cd1ceb448c003
10825 TAUSDT Oct 1
dd9f69dd324a762daa530418b9a3646c6912b21cc560ceaf8141c92d00d667d6
10826 SCRUSDT Oct 1
bf88fc3c81c21e5da27f41409a96645a654465a9e9064fe12c86c3371faac3e1
10827 TAUSDT Oct 1
811980d6f0c33d61ab97f9352dc68077502b2c0b6d9cd9f3dd24dc989bb1be74
10828 MOVEUSDT Oct 1
125761119f003a1b7b521b3bebb54ee97a8c6193f085c46b3de8a903d648758a
10829 TAUSDT Oct 1
7740236877c70492964f7679768f8e602b503a11ff778a9903bc535d3709f87e
10830 TAUSDT Oct 1
7f1d45c1ffb01d92dcd47619b8cf251442880b6ed864ecbad9258d82487498b7
10831 BLUAIUSDT Oct 1
34fe841f84a5b4277b8ff9b22d6ca55d88a4115e267be02730e0f5d0b209fa47
10832 BLUAIUSDT Oct 1
4a731059aefc89ea25541a0c62a84a9674c7d99f4dad249c408834d02b6bab4f
10833 BLUAIUSDT Oct 1
0297d69b02290e2f7bc7c33b4a843a770512ee2566375c86bea2791ec9bb0de6
10834 MAGMAUSDT Oct 1
71a310f964e5935e98d05cf35fc8f4582cd0cd1502c87760c24a9983773d8185
10835 BLUAIUSDT Oct 1
ff9e99ac002f828ecdf11098c5917d0a0a94dce82b646bc29fc7afc4c8d35acb
10836 BLUAIUSDT Oct 1
67b47c379d24e50002cf168a6c179cb90c4e3edd6a82d3679f2dcf4a7a5eeda5
10837 BLUAIUSDT Oct 1
503c6b14207a8289c497830c5cd41aabfa3db67b7fb077b52f157b5aff040de3
10838 VVVUSDT Oct 1
3cbf3c6bed8bd551ba4640f5f0d110f23581af6f2b11a849df8d6244fe5e3a53
10839 BLUAIUSDT Oct 1
f3265d208615956e45f0ec20b9d5c42184552e582ea62a0b330632102d1ab7d2
10840 SKDDUSDT Oct 1
c27c2a2f7cdec47c01a90e763a9caf4d0c090bca5e557ca1e75a33212eca6d19
10841 ATUSDT Oct 1
3a2c066f8142d3665106882d3a553a9d226613654083a7970fc7fea1b34999a0
10842 APRUSDT Oct 1
6862930fc4e59dceaf5112f653b3dd1515f444c814d151d430641f577c79d07f
10843 MAGMAUSDT Oct 1
89ff6962ce6bf52b85edaee05bd99f357fac644e6c4a6aa5a61484166aa87362
10844 MAGMAUSDT Oct 1
549c712b7be1316a7dfbac9e13b050a026d8d92679ab53a57da9a73bc0944a4f
10845 APRUSDT Oct 1
44cc30692324f3806d055b739012c211b157c81450738d50e391e780fa0c72f4
10846 MAGMAUSDT Oct 1
a76a53aebe0bcac943789227642468028107914b5e71a08b0cbb63c5b24ab421
10847 APRUSDT Oct 1
4cb5880cd8b9ca4a4449605e8beec37ea0d73fbc5281c430140c6c1821fad08b
10848 APRUSDT Oct 1
a44cfe5afa896708f494c2df53b500cf4b366517a2bdd40dc5470d27cae918ab
10849 MARSCOINUSDT Oct 1
09fdc4ed7739f72e1b62d51913af43bb69fa788cf833c737d46d6b252100f38b
10850 CAPUSDT Oct 1
d0324a73970a1809f2e5700cd5a379a455da72e623c3d6127a827cfc8f8303f9
10851 MARSCOINUSDT Oct 1
64df32db3d393b98be26f864e7c720de7ad65835a85cd3d873d8baab7cde2f9a
10852 MARSCOINUSDT Oct 1
7198f24b39b54c886ad98d3e568b509a562fd8405f1aaf6a0c6f2844208c3547
10853 MEGAUSDT Oct 1
ef5b4d4d240d3fe7bf4783051a20cfb1cb20feddb3df32004c3a798de23d483c
10854 ALICEUSDT Oct 1
42390aa2cf06c13a4f2afe39d3f009364dc5edfd196d9d9af19b18a060f870dd
10855 ALICEUSDT Oct 1
3bdbdb54e7f43d64496b823d859401d7cf4b76ab7da1b60a1cd32ef60ce41f02
10856 PROVEUSDT Oct 1
b83b7e56c786e3870b24df9a699e3cfc77bac779346fb991cdff85453a6e7a7f
10857 ALICEUSDT Oct 1
b937078dae9e56d1b52c785cece78b3b5c41feeb7d2bdfbb622437cb2eec9615
10858 ALICEUSDT Oct 1
301d4511ab754b1507e5d6acc92c168182da658c50889c0e2a2268121a5e3b4a
10859 ALICEUSDT Oct 1
248f687721337cda554c878fd9499a17e6d89ec72766c29225a584445557d0fb
10860 ALICEUSDT Oct 1
c948b294e4b15f00abc8ba112b5449ff62135352cc4a7d4502155827a599d428
10861 CHIPUSDT Oct 1
4a4f2d14fde4320c14c914fe8ae4fe17ada7534a5022152edfd96a3e10db7791
10862 BLUAIUSDT Oct 1
174aee43ab2b83c343f25bb297315eddf76c27cc92f17517792f3fd5b9da4129
10863 BRUSDT Oct 1
2dcf5b51410dae0012600f2c2a1dcd9d187c5f0ac3d33c1e37a887f03a38cfe9
10864 YBUSDT Oct 1
861bf95fb9cfd2a47a742e67603809d583c3e05d9fc24c047060cf37a3643e9e
10865 YBUSDT Oct 1
01fadff1d1d6456456101ffecadc3ed553eae3c1e5084a05b2345fbdbe7fb990
10866 HEIUSDT Oct 1
aa083a4d46e760dfd12051252152708972415cc2182d360f9ca8b85680da349a
10867 VTHOUSDT Oct 1
23f69e0bb4588130f7b99c69a463541e16d06c92a13c15364a7ea7bc0fe65dc0
10868 TWTUSDT Oct 1
64b529c4a41966d82e5c692fd343bde7e4666b4608007bc851797690f26c300b
10869 DUSKUSDT Oct 1
12b1aad0d08e407ed8e176455b0d3269adeb7a37f16ec74bc93b096e6c8dd989
10870 NOMUSDT Oct 1
4de25cb96cb45748544a226d78e79f5a4c3a14cba3e3ba61d9db150f12cecbe8
10871 VTHOUSDT Oct 1
2ecb64271c4647efba14debb5f544d282885c8e515c921562200c98c47cc3700
10872 NOMUSDT Oct 1
5a6b6d3602ee2d254a59bf814a0bf957df33d335ca0f11aed12f9f713ec2c3ca
10873 NOMUSDT Oct 1
7baa263271a3a6e525ebf69147d65a3c503145dcdf067a3afb5dc3b80882b426
10874 TAKEUSDT Oct 1
616c882a7fdce008e88d826ecb98164e9243f928d1fed665c7cc30f1687465c1
10875 TAKEUSDT Oct 1
2d157441775fbcb6b8d109afc499ce25fa4fdf56918edc2702a85bc8deb2a440
10876 KAIAUSDT Oct 1
1a49c89a426d5c0251e045466767816485014f636cc155862ad40cad11acb966
10877 PROMPTUSDT Oct 1
55ca6e9ae6473de524dbd1861db91fb9da2c73fe5993aacf40da73e0ac45574e
10878 PROMPTUSDT Oct 1
784b591de2b0fc26db1ad72834eaa4383b63e50506e2734da5b16da43ae40a1e
10879 2ZUSDT Oct 1
622c33ad88ac26afed3d04ebba9a62ea5928bbc10cd976fd20689c662f608999
10880 ZESTUSDT Oct 1
b9f77afebd0494a57f4d16a56877048e23f96c3ec97fa2b45783570160c087a2
10881 HUMAUSDT Oct 1
e144bc580989760b1ab90b44561b6cf70733d63920a3a55ce46ae02cd1bd2f04
10882 HUMAUSDT Oct 1
8ad0d88768cadebee4b83bb68be2c606624c428328b915d39a33a76f6162148e
10883 HUMAUSDT Oct 1
15258874bdcc81b51086ae3debc0969bebfb88275b0b6c425cbf882a0239abb8
10884 APRUSDT Oct 1
6049352be106cdd35ba133076909623da4d035ce923edeacd6765e099bdc7c48
10885 BROCCOLIF3BUSDT Sep 30
73907c87b752c808300f82fa492b7bd314240285f06f034cda8ed25545227140
10886 MUSDT Sep 30
a10462a294feca4b79e8c64cc3269cbba98445a875ea5c4d30b9ffb8d8859c37
10887 MUSDT Sep 30
cf1c4153a6bd7a5e422de3ef7b9d429843348e77b18f96caa0fe3bc56b6fc407
10888 SPORTFUNUSDT Sep 30
9dbe5cfbbff939b230667d8f7cb725d8472d8b967d4eb181517e895519d061bd
10889 2ZUSDT Sep 30
db0d582e9b6457bc1a674d23bf0b95dc392ec5f5c5ec63964d03c0e57c1404c8
10890 ONDOUSDT Sep 30
4815516ef2269fda631ea90ce2592b52c360c8233c626af442b9a05e3bed6e96
10891 APRUSDT Sep 30
43c32f0f3e5f9a75737a7eec9640602ff805417d41f4bce38569fd190d299fd8
10892 APRUSDT Sep 30
98ecd83910695ac1274755fa1c56259be9299e8b7f6f34200342db955b25fa65
10893 APRUSDT Sep 30
1a8caa59606d1f1d1262a73b6d789f76b8f72f93d46f0193b082b6b31f72adb0
10894 AGTUSDT Sep 30
29f2d390c25c5725389ff7fa1592b8134d8a7a571c3cd8d1fea82a968b10710b
10895 INJUSDT Sep 30
5da63417fbde6b68feee3d06b44abb7e994bf5249d64c46d90d118c6b1167980
10896 VTHOUSDT Sep 30
c52c6583e3fb59c6f443efea733d05e237f7e07a9bb5157da470ce27edbe597c
10897 SOMIUSDT Sep 30
7b59bf45b1b31d33b01f231e19886e8ad899e99b1674db73252a1821717fa914
10898 AGTUSDT Sep 30
78d57a4c3b5e8011e73f3b129fe32f7cdd59c697c589097e2b7b507dde47180d
10899 ARKUSDT Sep 30
bb6f154349fe0dda24eab870b9efb6812bcfdbdad55fed74cc7a3b29c572383d

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