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

3800 UNIUSDT Aug 14
d8f5dec27a0e39f226fac63484a2d99956301ae01c15c96a0341a7f224ad0475
3801 INJUSDT Aug 14
32a8ca945e1200fa84ab35593a38c2063014c8ff791724fc3c97c396a00b1950
3802 SOLUSDT Aug 14
506e4a0e014c016e1201b72b3f275687a5ef852e9daa6841703997721f765f4e
3803 UNIUSDT Aug 14
baddf3515b574ea0c05945b00c7aeb8155e9d2232a5f5b37b98cb573d870121e
3804 ETHUSDT Aug 14
50310ef2eefde90a1be60f05aef6c10e5e4c69653b30c19131c4b9fe586c9c0f
3805 INJUSDT Aug 14
7fa3fdb80d3d057022f806b22b6b798ea55fcf46410b53a8ac53595bab6d5029
3806 NEARUSDT Aug 14
a891f0c49c23cf28a28aa5c10dcb3a488754b99eaff35b4c1e709092b7cfc629
3807 TRXUSDT Aug 13
96c6bc71e730c73d69ee8f86b4fe7800053c1d1e20ca3b9b298ab3d56ea36122
3808 AVAXUSDT Aug 13
cf9f872022c36be4900dd49669334514d80efec404e04c001c1a2d7777d8df63
3809 AVAXUSDT Aug 13
e7ae3bbb0ac93c458122cf4209d0b4b788c828057db57c8a387eb0cf04204853
3810 TRXUSDT Aug 13
637d6563742365021f48c5b3dba769decb5f2903456bb0619ae9f538a23eb74f
3811 BNBUSDT Aug 13
2cf6c285100a94c22453db7bf23646e34830ce5ec10bafd1f7c879b5219092dc
3812 ETHUSDT Aug 13
7d1a450e07e9c70668c864477ee1a68fc85d077f0b6a120e6d48c7a03d7feec1
3813 FETUSDT Aug 13
12d483d7b9045f6732ecbd02a5f72d7acb4505448cf8267b3894fb4f35303b1a
3814 DOGEUSDT Aug 13
0a3a7364e126be69434da840a9e6f6542e9dc0b26ea0b6d09e47ddb701c4e57a
3815 AAVEUSDT Aug 13
b4237a1d6f5b0e0fb7dca90da6d921d1d8f7be7a30654ecb3a66914d2184e8ea
3816 ATOMUSDT Aug 13
68037518c870c4e8f8130c8ff6503f94adc6c779963156a5c450cc03d0d6c1fd
3817 ETHUSDT Aug 13
1a111e03c76521b9f9d907f48fcce0dd66e6e73ad4f7c929663043cc41246346
3818 ATOMUSDT Aug 13
6ba98a69a298113e05d23da1d0ccac97cb2bfb9c1c5dcf789423380b811466d8
3819 SOLUSDT Aug 12
7fc9b80a66ed1cee06b3407759d0c5225475d5e346cea8f5850f7f4b9b571a8d
3820 ATOMUSDT Aug 12
26e85346fa9ef0533f07a1a2e31075dfaa1706502d107bc877c8c84104fe3ab9
3821 FILUSDT Aug 12
ba0874b69fb23a31b08aa25878d5bb634f96c5d3e094d501dc3478d0312648b6
3822 XRPUSDT Aug 12
236af6c4b435dd7461f538209ed76f9bb681d7c395d5503b29ecbaa6414f96ab
3823 ARBUSDT Aug 12
cb606c1c4f05309b4c7276ecfef69d66447cf560d1629519824c044fd98c9312
3824 SUIUSDT Aug 12
adecf9d240bb0f7d65f13d630b7fd836a1a12f1650552ecfcefc67938022e6b5
3825 UNIUSDT Aug 12
212afd17a2231a5828929981dec240028d3173f9958516c973526dc1f02f1014
3826 LTCUSDT Aug 12
ab02e93b839f082607fbcb8620738d2c718b8ab13dfcff0b080f08356bb2ca89
3827 SUIUSDT Aug 11
b75795034470f06041ebd76faf1f538b01eec7a9dcbf7eea17e7523937df45ca
3828 XRPUSDT Aug 11
9401dba25f52da071859ed6599fb110139528926a83d29d6377548c0b6ad0823
3829 INJUSDT Aug 11
a7cf93743a3c2600a9532b8ec2d2173dd4737f09c5287ea3c32988bdf2d5bab7
3830 AVAXUSDT Aug 11
e9ad89d59c80775fbbaac5fe6f161a7671514388e9a397e5f1c761500a77dc45
3831 WLFIUSDT Aug 11
69b1d76068983f02c44a786753e40a370a114f04d88b8c83345a871960fcc2dc
3832 INJUSDT Aug 11
5fd8c729d1c9008ae32580bad2c076baea9ae7f4e1e7b9fffa4069f8daac8902
3833 FILUSDT Aug 11
df60361f7ab19b9e2191ae6c18882da7deb7d8833f1f3990bd0d1757b6b8b873
3834 PEPEUSDT Aug 11
5e33b7ba36618e75c089baa12d3b31f93e5ba4ab7917ac017438e8d54e1f9ff2
3835 BNBUSDT Aug 10
d363c06a43e1a21278a3d110bfb562e50e61d9d28e57fc0cf0c92aa9ce456ff7
3836 INJUSDT Aug 10
f5074b22cbc7d8196068ceb7c3c35aef3d68ed0dc86d77b98a5fd7c61b17a7a1
3837 FILUSDT Aug 10
53106ed210a642df1cd350473f9ad111f28c8fbabdeaeb79f249b6a58e823fe8
3838 SOLUSDT Aug 10
36edc585272ccaa9973ae0f7d3fd1f8f958379670235a402c5508c616db11059
3839 SUIUSDT Aug 10
1c8a14e9b37db5e52ac65e8bd39db74fac5be1de5ead3f0988b80a1f34d10688
3840 INJUSDT Aug 10
27333e5b8f9104b66c0b504c4af0f8ef170c2456e9401971bb187b7094f2b2b1
3841 APTUSDT Aug 10
485eede43b19b16e68ce766c115c726ac718332ceaf863528d3baaa885f0f740
3842 DOGEUSDT Aug 10
5f9cd4448c6b7b8203578f3ffea0ef46e508fa47d8592e249d4c51cc484abb27
3843 INJUSDT Aug 10
3e95c98508e50d3106473b2ffbf6a50e5e33fddc5d4a5b549c01832ddeb13ecd
3844 FILUSDT Aug 10
0f2e0342f02455e2400217d254e93c488ec2eba84f5268501801fea1e7bdd2b8
3845 XRPUSDT Aug 10
454ee70328575897d007ccd4c672b5cd7207d6d6476cb937ab38ce8172d73eca
3846 POLUSDT Aug 10
a69448dbb81766b3d44785b88abb5b1bd9ce1b48438121c206550232f91c8a7d
3847 ETHUSDT Aug 10
2455ed192994a9fd1e81d5e482cca465f3d46aa1d30d386ead46b2a9ac6b54c4
3848 UNIUSDT Aug 10
b11db6da1614b22800f2f7409f209b5394f8450b1845a734f9aa1db52e037a50
3849 APTUSDT Aug 10
bf3ebce8264fc6bf87c75290ea164799f2dfd4663b8b4d6be55e9b0c28d2e23f
3850 ETHUSDT Aug 10
93b5e1281d85a979d19fb75f915abff4517a96ae110973c4b8fc86e9e3902c80
3851 UNIUSDT Aug 10
b001acbe52ba1862922f8b947ac49e55264c0722cdb5971737be57b3fee93aa7
3852 XRPUSDT Aug 9
11890a1f1e22c5d85a106baea43a849111eea93274de8cbdec745ec7a281dff4
3853 FETUSDT Aug 9
6103b3a3b2c9308f7e067905f80b79fa4908292b07400e2487bc6d2424742ad2
3854 FETUSDT Aug 9
75bc8bb7d06df332fbb87d241cdf6856c29408d31abdef47612a7cb0b18db295
3855 NEARUSDT Aug 9
63292330391b6ac13ec2e17467a608dc7da572a28199a906c1559a9b4dc6ff8c
3856 DOGEUSDT Aug 9
7bdefe6341b4d977ce71c28220cdb9fb4563fad2eec7f2f2088a551e843bfbda
3857 DOGEUSDT Aug 9
b54c7996a5ec674e2a249c75e1543e66a23c09b74ae8ea90ab229f71c6522a7d
3858 PEPEUSDT Aug 9
cb5aafb9020ce928e2e7dca2690a76ee0e2cc7e5199dbd4ae258a1afc40acba8
3859 XLMUSDT Aug 9
20f3c3bf4de9147fa6936990e821df0ea6cc4c4befadbcbc5a6840ee6c315e30
3860 ADAUSDT Aug 9
aca9245f3a78a63f91458560371b74546b7eb5fa3e0ff158e3c03e74b5e7dfdd
3861 FETUSDT Aug 9
c145c0c9e93a202862818a226d5f4be7bd9e8b26c13862e14edc79165e3df235
3862 UNIUSDT Aug 8
34238f77d0866ec60e4ffd859b7e1f721b55c2309dfa197bc47173d2b3c61017
3863 AVAXUSDT Aug 8
7830c07e2f256ae188e6704d95e2943e176857b1f34ae67519636431da0cff4d
3864 XLMUSDT Aug 8
20bbb04b50ed46fe7bcbd0548d89719d99bad32d59fef0667612c90d491c1cba
3865 TRXUSDT Aug 8
69fb458fff9088ea43540ee6bdd8f43cb6e95ee6c109153a5746ef67e2e96d79
3866 AAVEUSDT Aug 8
42db4c5cd302622eb4f419e617f492f2310d673f09f787e79bde167721019ca8
3867 FETUSDT Aug 8
ab89525eb98ce0fb295925fe63493dcdb522ca108c23c64c9fe0d9c05f7192a2
3868 XLMUSDT Aug 8
f03833b2cf4b0745fabf57c4ebba7e6a74a361457bbf5598be66f6058e292348
3869 SUIUSDT Aug 8
bf7b446177b85016cfae8aaf0d78a8dc993eca38526c67a97ce14e67a9bab20c
3870 PEPEUSDT Aug 8
e5c5074167ee0f1173fba0035ebdfd9edfb269cd7be1baad605ca1463e696f59
3871 AAVEUSDT Aug 7
776c0855790952cbd39e43fb4a6a7809347e68effc968ed25909029575b5af7b
3872 LINKUSDT Aug 7
886cbc5e34fd76d0e512da73c029e31b4794f8daf85be531bc1ac57d0f610f58
3873 AAVEUSDT Aug 7
8bc8e42d1760a8051b5fa7f64294578b4d63df177f2aee8471233b272bc6e343
3874 AAVEUSDT Aug 7
bfeedd27df47ef650387f99095fb0d1c3522b1b52f336013a370d6eaac05bd83
3875 PEPEUSDT Aug 7
45853b812ec8f420651d948384d0f6cccbcd405b7c666391f6f9c4a122424039
3876 ATOMUSDT Aug 7
dce5750e53d6cfe3131759cb1202d0d50a5d2076a79214ebd97458fe98bd6940
3877 LINKUSDT Aug 7
6f7f7ca96337ab99c627c841242a6bd209c4cc9e53419b66a49287e6d2d136ea
3878 UNIUSDT Aug 7
c7444a8addb68a280cd436d3c4cdf00540a89aaeb2af68a9a51d1ad0b2121186
3879 BTCUSDT Aug 7
2b02adda7a7f8af3c9b37e236a26f3e632b99af432d326f87b637ee8476656cc
3880 AAVEUSDT Aug 7
30ce0e8aad38a2184becf623fd3d6c5aa4529e02bfc440ace3d27b7543c20529
3881 BNBUSDT Aug 7
9a441944a1437a4c5eb8d0102ed149bbfc65b42b36783b15ce7909a89ca09def
3882 LINKUSDT Aug 7
206a3ea08dc552abbc57ce36eea28011863a8dd478c913861e47b083083c0614
3883 UNIUSDT Aug 7
dedba65f7a89c6c36f57bc27aea1e4890706c49cc16a252f9b01cab310ba0d71
3884 TRXUSDT Aug 6
b6afced7d101690d497ff9f20bdad17601987789509cc00f32fd81e8ab3cf212
3885 INJUSDT Aug 6
dca521c1e585f9442ad35183ee13d5c398551651f9b8933ef603835747dcd6e5
3886 UNIUSDT Aug 6
23d2388dc48f69ebd09e5c7c828ada7bb7bc5eaafe0c0a5a3a1aaa93260d18f7
3887 OPUSDT Aug 6
1bdf8fbd8447a72f453215a6cce9ad651ceec16e44273287baf8e74ea8c07a7f
3888 NEARUSDT Aug 6
080367f5bacd758222a289e245c523a39049151710be9f52a42ea1f3fbfad6a1
3889 FILUSDT Aug 6
0316f4d9d3cd270f4cadb361648d81fc46cd7ae656d13b32cb118bae5aa7c832
3890 DOGEUSDT Aug 6
e8e7947a3dade28d4daf24773548e6b265bda4f06e9c8b7a67517558e37b1e40
3891 LINKUSDT Aug 6
daaebf42331cfcf5c12b6e45b7c4e099bfb1d663f2782580e814f08a5310af0b
3892 FILUSDT Aug 6
7764f8b7fdd77f132debab2519ff3ce1f24154de278c7074d24fe05642e9e331
3893 SUIUSDT Aug 6
8adb3d09fbc632e21a318f7afca0ba3f8d759f3b3eb116b7e2ed3aa119ce091a
3894 NEARUSDT Aug 6
4d53c1177d277767b6161b95b038ee1a8c32215f73272d198cc2bcafa52241f8
3895 FILUSDT Aug 6
a0ba4abdd862861068f88a63f7e12ff96fe20740c5ef27843e40220fcd48efcb
3896 PEPEUSDT Aug 5
a10bb2249e9d943ec0b8cea830b5388a12c910c562447f8c40939bbc717ac35c
3897 ADAUSDT Aug 5
aa083a89eccf337b8ed3e5ba60c2fe710d8b83c4f8d120bc0f98de9d9058a122
3898 FETUSDT Aug 5
412d41b6a9978f6256c147a24d9e10b312cfe0c07c8b6dd6cd05ee68a681413a
3899 PEPEUSDT Aug 5
e9954724b3bbbd97aebbbf7cef99b4cc8e26029f238661d514ab12eee9465a56

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