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 12, 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 160 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.

15900 DOTUSDT Apr 13
351913206da3f1c9d0134fa45ca8d0b88b760b919fc75ddb95c85e5a8a0ac69d
15901 TRUUSDT Apr 13
e8b5167eea8a3b9239c18f27313b41fa7c35b8fce7066dd6afb5790edcc1c55a
15902 NEOUSDT Apr 13
15add26a148ecc0e9802ffe6b181d1f448c36bb8a1f1616c2e751f66644ba080
15903 TRUUSDT Apr 12
756d9b2821072dc15a51c5c0bb1627a19b1ea1801210aede83dbba6e85b86f1e
15904 QTUMUSDT Apr 12
df5aa498b45adb1dc40cb2c829978ac9f68e181afe0eef67a1e34bba5d631103
15905 AIOTUSDT Apr 12
e2b9710178b39c98c2bb61ee916450ede557e19667b6e0aecc3e676afebd45b5
15906 KNCUSDT Apr 12
ee66f1d5167a6e32e32231430fb8d0c308ac89bc9e3cc8fc3a6b16bdca8dd5bb
15907 ETCUSDT Apr 11
87f506c69f4bef4b9eeb055047aedd4905a0b682d726447935051f6a1e4e9e31
15908 LTCUSDT Apr 11
603a1286349e613ae50df407901771c21152ffe4fcbb46f4442e9a0046ccdcc4
15909 AIOTUSDT Apr 11
bbdbb6b65886e1e8b1ddb4e2f20bbbcebcac9fc2285067f43193e0b7195da80e
15910 KNCUSDT Apr 11
17e0244ab0fc96f9c2b795567a285429c9e961e824a0db3df0d494568565bd10
15911 BULLAUSDT Apr 11
7832c8e0b98066477b2fc8871c979c49a8128359038f13c252a4cd0b2b6b27d1
15912 ATOMUSDT Apr 11
1398b955954cd064f03643d39b67791c76cb739bf93bc9d9608611ff333ec142
15913 TRBUSDT Apr 10
6e0bf3865a626bbbb393f42989648c23ae390e5950580d5536896b70087a9c64
15914 BULLAUSDT Apr 10
b73475e9138a46fd6a8ce2fb62b5469ccb127ff05aec5963fd274f2e26483ab7
15915 DASHUSDT Apr 10
7ad1a962fb5687f668e7d7e3048e0f912801aaa535acd7c74d738cde433c2fdc
15916 BULLAUSDT Apr 10
36245ad4b2737b77b92da86a41798c849eb7cc4eddc355682b940ea52dee2845
15917 ZRXUSDT Apr 10
1d7f1c51e079f7b18cf03ba0fe890a512050f4c23e8df75517e4529261211bd8
15918 ZILUSDT Apr 10
238740f3746d0da9abeba807b9190a18ebb9201fabf2837134bc04bbfed08deb
15919 THETAUSDT Apr 9
c1ac03b7a8a64739e9e52bf22528185a304e73c4eeb7d4bbf8baf8b8128bae9b
15920 ARIAUSDT Apr 9
44dc61567218878b95da8633300acee9bce9cb3456a0aa6b5f259f62b3ba60f8
15921 XMRUSDT Apr 9
057494b320acc20827758204a0cbc9964f9a4b493b8311148338b55a07d4f6d9
15922 AGTUSDT Apr 9
2893fc6cc2068e3904e3c3fa109152132f2aa78fbc2c24d5b7fcfc79c4c372ee
15923 VETUSDT Apr 8
a8822978e487bdb0262a75eed139a5feeedfb94fb8d6f84cb5af90c748646c20
15924 ETHUSDT Apr 8
6a88f46b4a1ece235b9be639c0cbe76745833954af8462ad2ed7f95e72ae6abf
15925 SWARMSUSDT Apr 8
e276a951285de4f000da8072129400f3b21661290a4c7b6bdf5461b0a7ee202c
15926 SAFEUSDT Apr 8
0deb80b28ed281084eebebfcde5f6285e83465a17746e6caef28df5b21a0e671
15927 ADAUSDT Apr 7
664c4c2bcd16b6e415bf35e0d2cab2188e8377711891a967d9a0f85c10f4f311
15928 ETCUSDT Apr 7
e864edffd13cee198efe7f5c0d29780cc957d84b8102995cc1894c90a16158a3
15929 PRLUSDT Apr 7
45bf8dcffde204e15293a5878766cadd6e3283cfb32e2b2b178a692eeb4850fc
15930 ETCUSDT Apr 7
ae2626093a99f5cd1cb9b58916cab966ac13bdc6707d1a6d2e20386fdec47903
15931 POWERUSDT Apr 7
96f42995d79749dbf01d96d3cea4e2e876e1087d0cc1d71435eda6dc4cf345dc
15932 XRPUSDT Apr 6
2fca82e05f1cec60584106105e6afdcf397e92abacf23cb0abbd26aad2123dd3
15933 TRUUSDT Apr 6
b3cabc4862eca6a0bb3ff4a465bb83091116c64dd23ef3104e78949a32ff4d81
15934 BATUSDT Apr 6
93a80e745810d226ae34469f21ebc1055c8e92012e5a0ebbc366738140aa05ce
15935 PUFFERUSDT Apr 6
d43d96e3b3c0cd16dbc3b84fbbdf80cb281f9c5527185c4b3e18ad59ac7719d9
15936 TRXUSDT Apr 6
62b9bb2d8e36410f0e3119ad9e9ee8b11386567de6c44df372d4989066c3593c
15937 SNXUSDT Apr 5
a5e3ab39326a67ce0f2ab8de1339fb70f0f02433796ec0b56436cf51ef73cd02
15938 IOSTUSDT Apr 5
21314a7f6dee65e23358f2ccc04a6a978b269d97058683f4631b3995de76ff0a
15939 BRUSDT Apr 5
80f950c38a8be816d3ca3987175af5a8b975705e2bbe962dcef53f335355c2d2
15940 TRXUSDT Apr 5
544bbd88232856c5891c4cc641bb469a096c3814eafc69c143de24640f4f9c9f
15941 SIRENUSDT Apr 5
094b1f4fd8f2315a7cb0cd41af87fdffb3f85faf5ea164bf80017bc5dc35eb3f
15942 BCHUSDT Apr 5
73baca65e54beb7a140dbb54533d8673ea583c29f8c1eeaa93ffa6ed04e115c7
15943 RUNEUSDT Apr 4
b6b768b1c0b39ee750348d45b8ee01effc06a730b22f03c8ca8b34c29ddbd087
15944 STOUSDT Apr 4
98a754e7b4d57215e3d69f6fc1d185a6cac698df0f0039a2cfffeaad8087e63a
15945 BNBUSDT Apr 4
ddf7fe7dfe62770d10273078b874df257a0f11d6a71d024dbd3184d3f6610727
15946 VETUSDT Apr 4
f7753d9ac358bcc7c7db8a3999b8a646cf8c3f3f48258afceba6482e11f2d021
15947 SIRENUSDT Apr 4
0f83fc47cefa7bc640cc4d082528f05c68a3164732227a0938f4543f05a990e3
15948 ZRXUSDT Apr 4
5abb2aa89c8664a38310a920eac4793197944e36e625c5a426d8b60a94708cc8
15949 VETUSDT Apr 3
75360ecd78005847759e9c42d5103ebaaa6d535966f6ab5ebc8678122cfcf698
15950 FIDAUSDT Apr 3
564cf09826f4b8b1619e67376bfa5a61e785d85b540950fadd0c6ba195f3d7da
15951 VETUSDT Apr 3
97d6028fdb0e99ef172f4af1d078353d2d2acd2f80762f34a107bcf994748952
15952 SIRENUSDT Apr 3
f762ddf6f4d0942a5f345898ef8dde94f99ddcc4f77a956ba604844ae47527b8
15953 QTUMUSDT Apr 3
3b7247485c8d6a3c8f34ae363e00c898938272a9db75c1529a82be6a331a1915
15954 ZECUSDT Apr 2
a10b90f7903435a712f19d107ddcd45b9d1ec5290952d22a80a9dc81dead752e
15955 PIPPINUSDT Apr 2
9e2967d41612c04d2f2d8a038389a156f11e0b79ca97f8de5d46200b084c3b84
15956 BTCUSDT Apr 2
4a4054f8648f52fc5339d6abb2161f913c4dc2b9e03f65d3118c60faaac9f775
15957 STOUSDT Apr 2
9b4b3ff7f6c882833f58d62f846037de6ecbf33c6cce16b69c21f9a4da5a238f
15958 THETAUSDT Apr 1
f880e51fad82a0a6f1da4c97c7418f8bb9d6141b5133515089b17323a89106b9
15959 BANUSDT Apr 1
0d6449605162d112afd8b3bcc7b7439b73fc6ad0e17b636497c9776b5c1b6f6d
15960 DASHUSDT Apr 1
ae003333504ae8c515a8e4b7c15ca5031fdce977f266e8efab9f40ef1d94370d
15961 DOGEUSDT Apr 1
4627e4c15cc08147aab4427ef1fe002bc3fbfd58f411e432126fc286b8a395ad
15962 ALGOUSDT Apr 1
2777be68deb90aeb6502f02ea68e2f4193e6b1de641c95dacc129e0ccda4868d
15963 BEATUSDT Apr 1
0ea26c5464243ae871702407075acb6eff66f0961fe56ed8f91a1c95256cff26
15964 TRXUSDT Mar 31
b2568eedbb1b94b407fba271f6b707d7fc592aca66d1b0aea79470a49e8f305f
15965 AIOTUSDT Mar 31
1e6a0e970bbc647c58e894caf4178571b96b6b0dea6562b75d36371fd956bcce
15966 KNCUSDT Mar 31
dbd1d198dd163421f0413cf60329d6b01d4ffd7fa0b47268fb94d1702711a224
15967 ATOMUSDT Mar 31
d26686e6facd21ed29a7ac1f43b62b8186512a0f06959e25e96d8290d7b1cb54
15968 NOMUSDT Mar 31
c550fdecd32d9fb213128e462f364df35d1de0bafef496c8e69707871c3d9f4b
15969 ONTUSDT Mar 31
b0f976610ef7f471f7c2185f52f983a649bd88207d956a1875d662bc3696b467
15970 BATUSDT Mar 30
0fbb7c57fe1b336d81fcf5627cf9f8b43fbcfaae3931332e1141ad24e10ca4c5
15971 UBUSDT Mar 30
11279221364cb5ad444a3d6c1fca53f3a476faf337eeb305e2c372759b64a1ea
15972 TRXUSDT Mar 30
e87439f5fe16fe178f5a7886509af405a8cbe04c63401a3a43385d8806de9a78
15973 PTBUSDT Mar 30
72f3b9b7bc9228a519f2ecc664a2327f47fd24066e43ddecf02f41c556dd1dc5
15974 QTUMUSDT Mar 30
76e0c3a7c1e4c222298eb49a87eeb1b7edbaa05bd52bc267e07603cc115c3103
15975 TRXUSDT Mar 29
80f349b7e5d11abd1e3a70256d8cca1d1127ab64a366f831a2f83e92d62abeec
15976 ALICEUSDT Mar 29
4338cd29e8a49bac4f0a03e9476c9ccb31abb70c983085bf43aacb4a98e40bad
15977 THETAUSDT Mar 29
ebac94f33f3f87b439bb13da5a5142dea9a159f80918b387a98a5b73620af634
15978 UBUSDT Mar 29
9781ab0dd4ae1e87d89d285be5182605171dd10b810a2b115184d40b9b47eb99
15979 DOGEUSDT Mar 28
892941c94b67e1b0395403c895340358364ca5cb1b7f828b3dcf7a2fd4a9f1f4
15980 TRXUSDT Mar 28
2bf5dc21afd9c6997661216c72a4e84d8f60a417c2fa4beda01f86c9c20575b2
15981 PTBUSDT Mar 28
1463b842d101c8ac7ff7ada843232fead02cfa174a3d2cf4c1e660089db594ff
15982 ZECUSDT Mar 28
a93c1abb25e76e82fca46425dd68aadb84524485ef785ea558e013fcdd76d520
15983 RLCUSDT Mar 28
64fd7d9e3141d060b927a5e9d5b7db22c086f870a85a6cd8ed5bf605cab4c79e
15984 STOUSDT Mar 27
e85c27200fb494946cfe1e7bda2c625ba829cc75aa2a96baa5d9bd6033620e3b
15985 THETAUSDT Mar 27
aa85f9d9a7c094d70a9ff5f43e490a5e7d407ecc8f046190edb9e1c7a80e070a
15986 SIRENUSDT Mar 27
5848f628429265fed5ea1743669d4b6c894582a9513a22cac5cab9612c38c5bd
15987 KNCUSDT Mar 27
eb636a1dbc1c8d99297e682f9e26deeca5b985e5730cf5bf70e5f7069adb043f
15988 ALGOUSDT Mar 27
3a0c9b7f89e531e285e42dd7dd550a6a999719fa0c042a24ed938d07902d4c50
15989 NAORISUSDT Mar 26
884b284076685b4d98b45415f47a4b4b220bb11fa9ec2a79589f576781d62541
15990 CRVUSDT Mar 26
794592ba432d1adc224eb17c5bb939e375df68f1cf08d5d97b02af6203579c0e
15991 CYSUSDT Mar 26
ee0554f557882f4d52fe32b1b46e48651fbc3b79fc46146fa59f6e13f8052529
15992 KNCUSDT Mar 26
319ca070cb8d4ae733dede88d5d7d438734c50979d87cc8aedf03c84c7cb5b34
15993 KNCUSDT Mar 26
6a5d0e911b6e9b4df8cfb22f04b8d0b90ce00da1c10742ea7fd4e2880516aa70
15994 BRUSDT Mar 25
672b94c340f14511893dee52e035d4fe175b2678a6854a609ee8ea6b998610c9
15995 NEOUSDT Mar 25
7261fc13ca8af0ca3abde0affe9c0280675d98fe4e3b40f87259131753b7703f
15996 TRXUSDT Mar 25
e2d93349dbf8b4069622e21df4577b3ca5782dbb1bfaee9dc7db2c89e0df401b
15997 CUSDT Mar 25
7f1b0828a1eab00e84aae99541d79915d89a51bf3473c12ddde93e45d065c1e5
15998 BATUSDT Mar 25
14d0398e7d5479899568c0039e38354334bd9da5fa2f4ee63b96bc1fe0d562a9
15999 XMRUSDT Mar 25
8c192f757992362b8bfb13925f50f655a10e07b1efdf2d07073f346a84968e7a

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