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

1100 PORTALUSDT Aug 18
a6a0e1f094140b9f255332c8bf50ec70b8aea61dec3f4ea953020e8fde8166a1
1101 PORTALUSDT Aug 17
e99803b26b6d584c3ee468a6b0ad13b44089415342a90dfb2043aea45faa4313
1102 VELVETUSDT Aug 11
622887470651c5e2d34356b4fea27132296bb71b4d6645abb8495e1721e2bd25
1103 PRLUSDT Aug 11
51340c06fc8148277da340aee35a4e9bce2cc829df8ba2fcc20e0d65f6a8f275
1104 ARCUSDT Aug 8
99d7eff19777a0fd0e3b48c26f105c49e3507f8e0dea228632f96f6dcdd72f2b
1105 HEIUSDT Aug 5
7d628d918cd3616b23296eb172ebfd2a14c34a8a785d9793156a610947d637e7
1106 1000XECUSDT Aug 1
3f8ca005853c3f517feaf8ad85a804f86139152540a7ff960d8fa2980c0bfb8b
1107 KOMAUSDT Jul 31
728841cef8614e751519676fe57e5fd9179a0d3ef3e91ae4fc04450855161dbe
1108 PIEVERSEUSDT Jul 26
ebbc72763b4b3a15efc71ec09a55d0e225573a3ceb39e5afe295883ed040cce0
1109 BANKUSDT Jul 25
2a279a38ee69325acc408bd0fbd34dcd994454332d000898e6f0b8df9f7d4c32
1110 RIFUSDT Jul 24
89275af7eafde8c0b2c88ff8c8fb50d83ba282905aefa0a60d112d41f64d9648
1111 ZAMAUSDT Jul 23
06e9cf9b05f616a02e7786fc9090dc5ef4473e57e587c27192bee0b7d632aa8a
1112 PUMPUSDT Jul 20
9a76b6cc9e527a1f18e7cdd47b78f0a277d9fc5d84ac0dfb4ae670e76e93bcab
1113 BULLAUSDT Jul 19
bf4c2dade453a3819109762ec9926101c26683181bf91880208ea8f31c74a8b0
1114 TAGUSDT Jul 19
9fe94ac7bb30bf89aad335734ba00650c001c067c0c503a67e934387f0e4e2ed
1115 ESPORTSUSDT Jul 18
3a32aa95aff99168971dc29e6ba35643a6dbf0bd08d6aa52ef7500875927ff81
1116 STARUSDT Jul 17
4716e6651c5364a34b6f57369a552ad805a1ce18caa43c4f86f53d04984d7b7e
1117 STARUSDT Jul 16
e7baa50501163221bdefd9cb2dbc9a9e3c49303af7d219fa9a6de5791e066f19
1118 ALLOUSDT Jul 13
b5422de3173d36d8c5d5098355f762821e4b138ff5eb1d46e3e73ef9847c7b47
1119 APEUSDT Jul 9
3718e0fa191f347c48342d9a281b5e6801d9dcedcc32f6f8f2a85c52adcd197e
1120 CAPUSDT Jul 5
d631b2503239b181b4390748e8820a57a43dbb2bb1e79f07ccd04850ed1d6798
1121 BSBUSDT Jul 4
8f46e296fb0e40651840d83993488dd4e4e2b88c3a11a801a81b16a8ba098946
1122 LABUSDT Jul 4
b7ee8be3bb5b914e36501d682d7186d130b6e98d2564fec10d63a72072ccf700
1123 PENDLEUSDT Jul 2
d79f3c93872296ddfd8a957126814ad3178567f0a3c238f9947af3aaa06f0af7
1124 TLMUSDT Jul 2
7e8e11f079200339fec5000cef95b7de06323535d865b1e00ca4a341fff9b55b
1125 MYXUSDT Jun 28
b856f3ef5e46034f46a691482168975fb7a6758c2862326d706d2a21320c6267
1126 BANANAS31USDT Jun 27
d0441868c500731649ccd16123dfcead5b42cb37e58d34a90986c96bf74650ba
1127 TAGUSDT Jun 26
870264f5529abba6785b921ac0652d4b1b0fb897f6151a819c138e101a756fa7
1128 IPUSDT Jun 26
a2705dbe736db24337f495d2ed03845837eb535f895078dbe3f5cae5b15fa278
1129 BICOUSDT Jun 23
7fe3af92061fc5312392e0ff62353c5bfb5968d1d44d1403deec947d77e815e4
1130 ARBUSDT Jun 22
a53e3093bf1a0cb49abfbeed5588df8f6607c5b56201983a3eae23988ea77ad4
1131 MAGMAUSDT Jun 21
0a2dda92a83028b117407f6cf39e037dd2fe2cd54a6ce0d46942611b5795fc1f
1132 MITOUSDT Jun 18
cfa9279df1369feee37558699f7928af1779726c695500cae59660032b403565
1133 VELVETUSDT Jun 16
8627136f863c8ffd6f84dc996507ba800ad8b59425d460e8c96255775d3a04df
1134 INXUSDT Jun 16
37c0476eec263768b5565f563de99c3931f1620ebf36a23421aba500bf36f975
1135 USUSDT Jun 15
d676c28d26ab8bff70527c08790904269c9906ecab69bbb97817061a38da906b
1136 BEATUSDT Jun 15
71387a5ab302175d87923ea712305ca8a6a836bbb0c772d65b7c0d0283c226b8
1137 YBUSDT Jun 14
aa1aaef640bb24a781c2587c44aec6d16fe0db6740b480d45cc934afc6c4ed30
1138 SOMIUSDT Jun 12
c240cad5c7d8128663f82a21e0f6e78c7d6484736f9ce1dbc09135db1e65f56e
1139 UBUSDT Jun 10
34f54366b844089973b36512148d8035acdd4d3bcbe41b1dcddc3fe5425eb460
1140 ZEREBROUSDT Jun 9
b63cdc334fc97c4c7a3944f58f3e3a25ea5fbbcc491eacdaa7f94a15d24b54e7
1141 HUSDT Jun 8
361c052b77d66cabf8a43afb82c08fdcd2256add0b7462b1365ea737e9477aea
1142 EIGENUSDT Jun 7
8f284b9a461b5a4ac0e736c03f76777bff101647fdd25eaf3d5ac61d6108162d
1143 HEIUSDT Jun 6
972a2cf9a8477f2002587ddc95e160f702e7cc47d5adc96d18f0d6210d67b57b
1144 EWYUSDT Jun 5
2976ee5e5ce37974e0201e2aa1c6e659436e40fb0543925613aac6ed6611b45f
1145 SPKUSDT Jun 1
7c1d48b19059423bc1e23dae752e160ee0c5d8cd1f02d03425c6d514ebe9f5b3
1146 QNTXUSDT Jun 1
aefc3bf926a2dd353e7c575207244553ce48298add144fe501aa53de182550bd
1147 JELLYJELLYUSDT May 28
e7eee1e9843952b19d01a4ac5f9f8e60666f6ee927dca8c8059a7547f0a734c5
1148 METAUSDT May 27
798d4dd41e80ba5c689899014a1c3716387da6581003b7e76e5c87c5c5645076
1149 BASUSDT May 27
25122033c635356e77740894e1cf890a5d074950f7a7b0ee4a230f036963c620
1150 VIRTUALUSDT May 26
4fe81b4d959145fcbb41b74279aadd087631282a94078c71d774d970e78f466e
1151 NILUSDT May 24
5df0f26acb60e3afa2d52fc2195920486e89cc5e5cd409e1f85003623d874428
1152 GUAUSDT May 23
46143fdc03089b5bc4dbde3956c1ae594d17fbfbc577f607544ae694bcf102a7
1153 GENIUSUSDT May 22
d2129fa6581c6de25688526d8246397bf63aca96864fb8bb68d4c7b2dab9727c
1154 BSBUSDT May 22
c96c8cec4d4626ba6790f6428508cbac0254d549916038c098e218a7bcc85722
1155 SPKUSDT May 21
7f68e2e4bd706d15ad858730bc55e340d6d4c5dfe295866f3c4887940897a6b2
1156 RONINUSDT May 19
4356617332a327ba300bca42d3d12e97b1c7d39405482f35a3eba9f01d92163c
1157 GUAUSDT May 18
cf1c0b485556da4cee2691b557ff3193a508ef4263aadf8c28bbc9352a00678a
1158 BABYUSDT May 15
57f5a324885bab45e28d339211e29d060954229562ebc5ec583ddb330943784c
1159 AIGENSYNUSDT May 14
90c94f5f68895c54c669053063e0027b4117d7bf99d2efdc2044fc08c84f18d3
1160 IRYSUSDT May 12
f45df33de96c54c8df81ed5aea444eeaf1c35e4dd0c915c882b025524ab3e50e
1161 NAORISUSDT May 8
19ca85bda91000926a24347570b20418e724674ee3bc23221ca84912dcf650a6
1162 DYDXUSDT May 8
d98e9ad33825b4b8df221e475162b5486c4b86a1242342227692027e8c5ca207
1163 ZEREBROUSDT May 6
5119eab1f664af3c719b3e67cfe45f4b044b4ebe322fddadd46778ab4a62256e
1164 GWEIUSDT May 5
7db3f63eb765239bd40bc6030f6aac8c07cfad707c58815ee1e05b074c0c2357
1165 BSBUSDT May 4
984fc7e2eb6eaf5d3bca9a022feddb2d746069eea200cef9858b0dca60be7602
1166 DEEPUSDT May 3
50325f8e843971e6dfeca61f58315539f817655993cf614341b4c2ea114b5466
1167 BABYUSDT May 3
a14109b0a4c2ba8c58f5ef71b3431e1b9a12cfb046bd94af13f9a2db62cf13e2
1168 HYPEUSDT May 2
60e06210459d03014d86f8783c59a71a6e8b12834bb8556a7a179ae73ee39079
1169 DRIFTUSDT May 1
5b206f1cae35d85138c843e83e33f757e284e11b8d94557cd41af7ccbebf4d64
1170 TURTLEUSDT Apr 28
e9ab746d4dbe48a595cf18357c99ad9719f69320d1e5aa97acbac35eb6ef62ab
1171 UAIUSDT Apr 27
16ecc792b69f8f493136d2bf551c002df2e5dbec9de28c315c81c2886a0d933d
1172 TACUSDT Apr 26
caabc38bfa651b3cc765426dedecec9bf778caa527aaa512dedd48e319458bce
1173 ZBTUSDT Apr 25
606566b5e6943a7322b6f37f2cfeda3b5eb136b54e5d86253946a317e3f2f6c8
1174 TACUSDT Apr 23
63d68e9dee5de57b5356cf20821e4267dbe4de2f68017dec1d7b3e41bd961818
1175 NAORISUSDT Apr 21
80f5f75ee4219b971330143f29a028f97b2ba2f9ebaeca5666beea5a1b14441d
1176 PIEVERSEUSDT Apr 20
8ac8d3d18ec58cc121ff8dd3f58d54f1176b552b12b10c1c5dd263aa05b5c249
1177 MERLUSDT Apr 20
bea4ba038a30a8f594026d0a4ddb06e3e0f79c62a0760b08204fa52deb4ddacc
1178 PIEVERSEUSDT Apr 19
0e47e26f1ad6bd275dacad227d2ceba1b3f082543aabf6ae5ed064f3298c5c59
1179 PHBUSDT Apr 18
b7835a5c3f81441c2f70f1f0cad490cea92e39c01896f216fe3b89a2456e995b
1180 SOONUSDT Apr 17
1fa88a7c138c407cd0f55b1ae47aed4a73dca9ae752824d105d9148ca335addc
1181 RAVEUSDT Apr 15
d5ae91f7853f97b536a40fd2dea5931a8c253af9fe7736871f4e3b78355d0547
1182 PLAYUSDT Apr 13
2dd206ad657dbb33310cdd6814aa3091d76b90fb7092a8e4b8dad888b13a3a37
1183 AIOUSDT Apr 12
6b518610ae96656213742c5ca3aa9dfb118f92642afc5a8eb8e3fa13e52716a3
1184 AIOTUSDT Apr 11
de61a01f96bb768cf8631ff04b25caee91ed17529881da006684dba5dbf8c3d9
1185 VELVETUSDT Apr 11
c67954d2be5e5d4e654c0ba1bc3876ba5df6f061b4bf49c29c2f06065c3b357b
1186 RAVEUSDT Apr 9
24fe8fb4b1fee6c0e5d8e58a7a1e0a093a41b8e27428cf701d65e8a327daa739
1187 CUSDT Apr 9
d97e2133ccb45adf40fe20624ffa04238b691e1905517c51123a00e39668ab8a
1188 PLAYUSDT Apr 8
d194111c0079ea8779cb69f51d1db8a5bb8c2cdab2023bba7e21ac14f9387483
1189 DUSDT Apr 5
511540307e2f1f2e4be848331e2a6c31774ca45bf9296876589b6877e2c72a3e
1190 JTOUSDT Apr 4
7729b582ff24646929436ccfbf12ae37f10e34f52cf8e14d6fe2c29ebf96fd25
1191 BTCUSDT Apr 1
e03aa88a34897e4f3b800fd499598f07047fc0db82843e0a62ab56200beb0660
1192 PIPPINUSDT Mar 31
4eaccafc349b37d1ece7d06ebe0c95f47f79a08449c4101af7565c9c760571fd
1193 ARIAUSDT Mar 28
dc99c212430677545c95f451cfe01b8136ccb663f5d883dd1807e4657eefe3fc
1194 SIRENUSDT Mar 28
cf231d88f0d0a92b1864ca93a4a70b1ddb669994a201cfab040f0210c956682f
1195 BEATUSDT Mar 16
017559f72b783b8c8ef8810696ab8444807dff8a96e5386cd8aa9f0bc71e335f
1196 BASUSDT Mar 16
cff15f354eddeb933017fbd77e74ad8b6f5b0a9d862a98bc7dcb61fe253db81a
1197 TOWNSUSDT Mar 14
e386e137d21384b53d58a020fa0895e638794c66dd640613836b8fa47d5434dc
1198 OGNUSDT Mar 12
5ae61b064900f90768dc904a2e377c14dba9b5ffee28bb18a637dc8319dbf00d
1199 OPNUSDT Mar 12
f7aac67a45f924958258511f082795e633e106bb93a7ffa3e094d2e499a6bb2a

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