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

1000 CHZUSDT Aug 5
4c2bfe8f82770afc803e1e9d63ef4e8fec96eef3192a08ae0213b945b98a7f7c
1001 SHIBUSDT Aug 5
a577243fc17a6af4ca48cde5d19d36db9eef88eeb7b7aa6ef54c8215712446ca
1002 LINKUSDT Aug 5
d2ec1721e17a7c8e805dd31ebac6d0a9be8191dc23ab3a0fce1bc0cc45754c02
1003 UNIUSDT Aug 2
817a9e491b34121cb7231856e1bdb2e33d79d138ac0f1a0093d40da552a21201
1004 APEUSDT Aug 2
e27c29294ac9d283c4bd8d5ebb404d81b6e11aca6adf1a38b78a71b8586208e8
1005 ICPUSDT Aug 2
0868b7e771c9a979b1e55cd4f57fb186d126f3bb4c34c2ad378a3f8f8c54efff
1006 DOGSUSDT Aug 2
03be80eba159816138ec2bf39791f36168a4d96af63cc17edf44a7f89e82674d
1007 DYDXUSDT Aug 2
62ebe179d48c2070e0439809ccc828fd13fd852f514a0e92d9c140d891307390
1008 APTUSDT Aug 2
850ef29c46dc87e64b671400e7b6d2be09e164d58e137382c926a19a03029e32
1009 LINKUSDT Aug 2
52506eb9bfbd0d508ef05731013c81f818889e7a22f5fbf85696da4ade627dfb
1010 ADAUSDT Aug 2
f9240380ed2207d99b81f57ae6ce11d51402d28893999d52a736ceaeaaa48993
1011 SOLUSDT Aug 2
c11e2da4ba4496ae1c8ff897ca9c118345a756aa2a8a12ebe186a2d8e43ea889
1012 AAVEUSDT Aug 2
7faeee1b98f1de92c7a50eef70f60fc2fecbf38e8609fe299f0eee135c53daca
1013 AVAXUSDT Aug 2
4a97c09159ef5ef0d350480d89f515fca40026839b1b996c02b01367277a5191
1014 SHIBUSDT Aug 2
b6f769c74c57906577f7138f22f2c86065e81dc206993cfac0cb448db75bfc6c
1015 DOTUSDT Aug 2
36f63998fcc2ba5b051a58fe415fc0196aa906bf5594f3bb997b7e5d352bb2b8
1016 XMRUSDT Aug 1
96c53b6230597d14b96e8293af69d90a541757003b0bfebdefaa245b7b6836b7
1017 FILUSDT Aug 1
09f9e888e930e8488ae45c308ee7f9ba4ea5e3dbda89e3db3d55beda1e2430b5
1018 SUIUSDT Aug 1
eaa6c8698579fe6b7bdfb2fd57a2745cb8598ca0531e28cfd28e49efc604f31b
1019 APTUSDT Aug 1
871ae32a3ddd8453e478ffd0290c26b231357124275cbbd0d19badb0add2ead5
1020 LTCUSDT Aug 1
24721b890599f7599a7f526a4d5351f517a2b9437be5a4539521e238ca080b2e
1021 COMPUSDT Aug 1
b029feb5bb88a7f6ffdbc202d19c7616fe1adeb7e789054dc2dece70d3d63edc
1022 BTCUSDT Aug 1
384c6e930a67679c0d2355cf3172ffbdb62019e3ace31d6313f6892d77059ea2
1023 CHZUSDT Aug 1
737a345baa12d0b3d943e9dc83c3e3ea8d81d5ec2f85b9336815871478aa05a1
1024 DYDXUSDT Aug 1
d84768a9cda1b4f6c026b646d582450f5643ae56053c9cabb7c6a32b356e682a
1025 XLMUSDT Aug 1
6ab74f4406e46cb3150218fd7ef7686898f6289591b0b6365eaec5e220daf51c
1026 TONUSDT Jul 29
4ae36982607fa9f0d35b83474a6f7edb20d8b035e911160752cd08985fb7fc66
1027 UNIUSDT Jul 29
8e12d002105e0434157601c18a932814ebd6d8cdfdd078f936f7e973fe682299
1028 APEUSDT Jul 29
e9bafe98ec73df774f561b7d69272c0852c934dcb14f40022bc171a8f35ce683
1029 ICPUSDT Jul 29
464d7e796f68a2e222caffc0e1539f6f8c7dae80e5043c45c23d70e81572ca91
1030 APTUSDT Jul 29
de91381cf0ba2ed5eafc064e04e50fba79fde53ca1df366f3eea366878164a57
1031 LINKUSDT Jul 29
dc3d75eff7cf3f4b9446c7f31050c716fe270445d64613c1be5cdac81413e82d
1032 DOGEUSDT Jul 29
910fac07147c89a907bba1b42d8a665f520e5695afa6e3783a7cc7d9e795203f
1033 BTCUSDT Jul 29
d86d64611b4106394c39c61cc6ad8e59e66554697e409f8c1f572f4095cbaad8
1034 ENSUSDT Jul 28
b911d5fd000b73b088330d467af1735bfad08f83be53c23bab22b1ecd3d05e12
1035 APTUSDT Jul 28
0a95109913ead2a760ea41e7288dd304b5e914b4f52b2d04a1f6eed7436504c6
1036 BCHUSDT Jul 28
59c3b0aacdf1e505a8825066d261c073e477dc83114c4521ede1a0583ba70830
1037 CRVUSDT Jul 28
6789020d1e63fac2b6cc76c0837d677a1024e9801b82026c181fda29604bb18f
1038 MANAUSDT Jul 28
472a34d7c98a1ce175b91bab3b3372718e5162a388b2c2bded018ca112cfc2b7
1039 ETHUSDT Jul 28
dbef8e2c72dd602609ab108f5ae0073ce4db961250435fbb89ad6f0cf440716d
1040 ICPUSDT Jul 26
9fad30bc9b9bede29dd6f808f9d5a02913ce47a322727f75e259967bfbf5d0fb
1041 FILUSDT Jul 26
172c1f5c330be61b1e901b088b95938052803e64e2f84ef5f9d0923bc2d12162
1042 DOGSUSDT Jul 26
80b32eae516b469bafcb2c36f3557f8717eb6eb2ef22a6e51ff7ec5086d2937d
1043 TRUMPUSDT Jul 26
114365b84c71bc8242f68ddcfeb93ffbd671fb551e855812010d4d2dbdadb884
1044 PEPEUSDT Jul 26
c63976ef4716244bdb0fd31dc86e7224d861639d93967a16721c6aa83ea40a27
1045 SHIBUSDT Jul 26
34119aa80305a3b3d1ac89a3317902ea3a49d1b0030d4fee7fcbdda2b5a395ca
1046 SUIUSDT Jul 26
c370da8972510f3509ad1a0af92bc98018b0318262d0c0e7f69341f018019d7a
1047 DOGEUSDT Jul 26
6bcb1cb30c0112a557a0f3a46665b76d7ed3ec3a1011d9127a3bf539deca75aa
1048 BTCUSDT Jul 26
56916ecb4930bf29799fa2de6491ec8d3dee2e2fab7a1d31f014a146525acf63
1049 DYDXUSDT Jul 26
b9f13d919a87c9ddb9b465770c55a91401d6e11dd1cd82a4e81eb0791f66bafc
1050 ENSUSDT Jul 26
14e8c7d60c2405233d59901c932e3d29575d252fb821ef648105e9b401fd5542
1051 COMPUSDT Jul 26
88c700217a47595150217deb2d57131fd56703fcdc9bba3ec903d1e0ba476501
1052 GRTUSDT Jul 26
cad8625c923d5fc5b6ebf69f6020480b96b0a143410895e1dab52732d951f40b
1053 UNIUSDT Jul 24
6c30d2a8ebe9b2eb33f0c0b602144b84d8b8dbcba0647bc9cf08a90a86b21061
1054 DOTUSDT Jul 24
5bf688075d681204268c4035c1b7805b8ea6ddaaa5bb0116df9e6bed3008a073
1055 LTCUSDT Jul 24
951629cf837f56c55edd3893e50a716020043bf652e8954f0b112b33f7d7a101
1056 AVAXUSDT Jul 24
45d8fd15d0675bf51359c84d93cfd8dd42764aef6773375afea355bd7870c099
1057 ATOMUSDT Jul 24
aa200749e0d5bd295b5cf7ef9ae75285814c9bab00b3e61828b693adf6376785
1058 FILUSDT Jul 24
dc108b65340c7a7c4e4743b68af0a04ea631fc7284b830da309f712aafa331cb
1059 CRVUSDT Jul 24
ee0f20f9d6ed27209439dc7dd578abd3779ce4d812c1289058fd2f7013b185ab
1060 XRPUSDT Jul 24
411e447303db245cee102f7e65204165fad9177e437025a0206c9d85063d678c
1061 AXSUSDT Jul 24
ddfb88b86a3572c8360064d90d568a5ae4f454e736d568b1fd0f475ea7c63716
1062 ADAUSDT Jul 22
69807f2ed619e69c333fbbbef990d47f7de64f63a0c3645de0fa79b8575ffccf
1063 XRPUSDT Jul 22
b533acc39eb192c40eac7acd4ab00168367ef9812aa7bc3d04c139cbed44251d
1064 SOLUSDT Jul 22
c6e18577588737612531744fceecf9b25ac709931efbf1bd02bc05a3be986d23
1065 SUIUSDT Jul 22
05cae1cd090e91eff079d9d10b547b447f69d5b24d9b7b044a06f555db8b2cec
1066 TONUSDT Jul 22
99732b9495ca4e5eb41fb0926e089b73544c7b0019d5c2a69e8bfd3983f80c07
1067 PEPEUSDT Jul 22
0334806c71197634174e44ebf66a2b555edb084154b583eedb57c63269033e14
1068 APEUSDT Jul 22
f4e852ca4fd7c5b539581d0fc3fd11854d5658b19bf64db9a69a6271dcb0b83b
1069 COMPUSDT Jul 21
2a78d0ed69726cfcbbc8613067ae91d80378d35eb3c6072d6ae2b99c726c1362
1070 XMRUSDT Jul 21
4b3e3f919e95bdf22c1a7b8a471d13a09cac5261e466f091dd307f38b7d30fd7
1071 BNBUSDT Jul 21
83133069e8ffc92e7adee952e7135ce290b7006af268e553784df0314396c88a
1072 BTCUSDT Jul 21
1c20233d717aaf0da0f26ea5235510d448ee797b5e5790c05313613a25269bbe
1073 ETHUSDT Jul 21
0abf0a18ed31cb99368af582dc5f70dd3ffb8b0274788262919fce954f9f0757
1074 APEUSDT Jul 20
75447796adfa219f346273e68e335afc017e7134f1c08f3549b2c3c8f56bcd79
1075 TRUMPUSDT Jul 20
a005d2a89a4e824d12213582bad3329f8663cee560f7376691e0171a9f21b3d8
1076 PEPEUSDT Jul 20
00dc5b11ddb9490ab761563c981c95c9afab3e79fdb5a328a4da19a6895a65cf
1077 AAVEUSDT Jul 20
2a4894d30db2e3150a8e3b77c321ac3c409e8929ed639dc6afa6deb4b1adef64
1078 DYDXUSDT Jul 20
532c306dda88423761f371a98e05bf98f71705035eeab9f81284f42963c7f567
1079 ADAUSDT Jul 20
39b2fa08a1935046831160e57dd0fa57fb7fa2a61bfaadc07791d9bb45a042d6
1080 SUIUSDT Jul 20
e507fcd21cce98f21feb7a0a6c4a64d2a09e8ae6fdb6a7b31da595524ad14233
1081 DOGEUSDT Jul 20
020c429b5a63c23924110918851f6df6a7afd38240db07f582726c7238b953cb
1082 XRPUSDT Jul 20
2498b4f0f2f7dcbaaf6bb57248cbbdb84c6e01965089736ebec93607ef7efbaf
1083 SOLUSDT Jul 20
eaef3b8a110bd36c30b2d835662825f2a5a650ad3371a5779a0f1be64366be97
1084 JASMYUSDT Oct 1
ac42f487b2e3eb56e3baa58b0a7751287b20694c2d9409b905aede157f038e52
1085 NEARUSDT Sep 29
41386f6f6172e324c54d7be768e0c962bc32b6205cd0c0f47e87312876fd3fc1
1086 NOMUSDT Sep 24
734152c032794a6835bb1fcd1262adf5063d5e70c6230ec601dce55db71bcd07
1087 FOLKSUSDT Sep 24
27929b3e161ef95fc768492361436a4123dc5c9ed2a11f71a6b2264466ddc41b
1088 GIGGLEUSDT Sep 22
69742f3307f137838253164aaa65979afa3b9fd3558a48a043eb544f6c8bd641
1089 AVAUSDT Sep 22
98d66881c464bb9060553baac20f39d190121c54972ea0d6e575cdb67ab732de
1090 BNBUSDT Sep 21
0226e2e3588a8469f623c4ab787fb9b1f25fba92dde966ccd27d1460bbf98317
1091 PTBUSDT Sep 21
4294f4a903a13eab7900a9fa6a207a7b7bd05baac44a7f1cee3e0bcf265a7840
1092 ORDIUSDT Sep 19
e0a1700874ab57b40f2ce6e7dd9cdceeb5b86e93a1a06c33536a000be1597ae2
1093 INJUSDT Sep 19
0a1104fe032ae859598cbf87c9883bbc48b1a28dc1757a51516f63cbeab2672d
1094 AKEUSDT Sep 19
6daaac533b77a9618ae8fd61077c85cd5bac6d7c2466d0761bedb63d642633e8
1095 PUNDIXUSDT Sep 12
d7089501c093009fbff42fd90db7f7c3cb4e438a8658c7bc50d0c3a638250d66
1096 APLUSDT Sep 8
76e465765ed89a1818590b936323e861369cd193dd1e4386e0f1be1f1df6f2e9
1097 BULLAUSDT Sep 5
7cd8cb4a499ec93e62bb321b74ece75737053ccdd98e32aed93b6afd53cceae6
1098 ONGUSDT Aug 25
12e7bb56be455c1d55a3ab29570d707856c63fb7a3c039584ea519e3f8860701
1099 REUSDT Aug 20
8041b02fd7b081989cefcc16d7e9e5a576848f3cc83c223678f40bf0c2b5fddc

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