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 10, 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 18 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.

1700 SOLUSDT Sep 28
82a95a6a18d72369c886f82330a42c02770d2ecf0e0b783468b7983abd731006
1701 ADAUSDT Sep 27
9cdcca2863a3ff83432ecbaed742aadb494e31a0bf416b6c6d5d3a9e0d35236f
1702 ADAUSDT Sep 26
205ac604b869214743650a901b1966a71d5a6d9726d94b5e34ac462b67c933f0
1703 ETHUSDT Sep 25
815e87f12a396cf0fbd8b0297b7568d728dec77e77a2d5fd89dc01758ae2e99b
1704 BTCUSDT Sep 24
cf1977a523bdf4c15ccdaddae6abbcfe7b3e8bef585891994d95a44e64be5862
1705 TAOUSDT Sep 23
8c3b7fa771760fffba50170756536ace410e4d8a60f8abccb170b62855014ff6
1706 BNBUSDT Sep 23
fbfa603231fc5120bbd452dd589eff4f1142b81f51b0041c1c368d885319b307
1707 ETHUSDT Sep 22
f92782e60d374ec6c3fa2d3d8d2cd55262e898d4eea8e7d47c5484bf9988bdb4
1708 SOLUSDT Sep 22
8af7f6a6a1d7642272ffcfd76567f1e0294d61f348155d771824d17008503f4d
1709 TIAUSDT Sep 21
53ba87898dee64bc78374b7ebdfeb34908061e4cb47a3c6629618692ebb1d2c6
1710 LINKUSDT Sep 20
8f02d8b4d1caca5de6d792516b4c35dd75bcdb2228f095cc0290c87ee10cfba1
1711 BTCUSDT Sep 20
5f2fde065a3e18dbfe5a3b01b189496ca015fbf53d51160b2de0fe61778c26c2
1712 ZECUSDT Sep 19
80de2e14eb2bc6979dbda498921eaf173133a06bf74f4de79c9a3fa70ddcac9b
1713 ONTUSDT Jul 6
95dd91c956e6d690c0b509cb58ece2250db0229b69a9170fb0a8b91821a80513
1714 IOSTUSDT Jul 6
18bd0bd011db0fa1f9a23f6d690c61d635213094dda64914bed9eae956b1b9e0
1715 ATOMUSDT Jul 5
55e771a3fd5178476885532cb76ab9a092dc30184f7aa900053babf5ccfb58d1
1716 LINKUSDT Jul 5
c92a6b5fac74975d5f69bd89a408185befdd0b3b642a07cfc2dbfa56102fdc65
1717 BNBUSDT Jul 4
f20c90599834841c506ec94154addaa389b3868f9c02cebc646a0201dafae3ca
1718 KNCUSDT Jul 4
1b40798b84993097c2c406db699b32d9c632f860f67dd0fb242debc35a2461d9
1719 ZECUSDT Jul 3
82a3e8ef6da6f67ebc6c0cf46191b2dd22a3feb7f1f28e3955ab7d2a3b08a5c5
1720 TRXUSDT Jul 1
f13be63f3d627c32e160c057dc4ef193740bd56ef223bb0d0098e0654c3433c0
1721 BTCUSDT Jul 1
56658c2a30b1171ea02f675df7267fb3bacc6ef9a6e5e90dd51eb6317f0eb58a
1722 ETCUSDT Jun 25
52f28f70763c43ae2a137fc780417716a95b8e7a2b0810f4206ebe0d8de1ffc4
1723 KNCUSDT Jun 24
63d0b56696b624a4356e754dfcb9a84db24782d8c50f455e949449af504c7070
1724 XMRUSDT Jun 22
dde580e1329494205faf5c407e79b291d73b6a1072bc8ae54a1fb46942c63cbb
1725 THETAUSDT Jun 22
1f65a1b0be6da133d252a51ba1770a02440384416cec088d327389aad27de085
1726 VETUSDT Jun 21
47dd709f9e2ff95d19c248b385e82544b9da80209aa3acf919d6e995fa1213ff
1727 RUNEUSDT Jun 21
4f604926b741138c11b1b27f6fa73bc4a194371e00f0750b0f97a4eadae83efc
1728 ZECUSDT Jun 21
593a542479ff78ba4f8997da7d9f1c306e3287ea6ff4e4e316b0c4dffcd20d44
1729 KNCUSDT Jun 21
020b0da18d1ef19cb0804e73c17c5b509123c0ad4a8955bf6c12a01e5d0230c1
1730 ETCUSDT Jun 20
4b4c5d33893292ef3519f9ac608c5e0ebe1903c33d9095ac03344641559c78ff
1731 TRXUSDT Jun 20
5ebd257e18241eb267f2076cfcc940f1e5b9a7c9582bfddbc239649618e175a9
1732 ZRXUSDT Jun 20
2aa8e7281d320cec9a4000adf6c01dc000331ba3f85dcfabde7aa8a972cbdfc7
1733 XTZUSDT Jun 19
5f055b7828bd7aed21da5476df7823df9a33b5c01da8b1e6587c70058821eede
1734 XMRUSDT Jun 19
5e23d70132225c6238579b660bbd3ba2b3f57978b0933339a50141491a56cb25
1735 TRXUSDT Jun 19
e4ab3c3d4e97ff50d44c8bdabb9c20215ddcbfa11e410f4f14bb9ab1e9eb94c9
1736 ALGOUSDT Jun 18
2e759e69f8ad5848f1e9c2f5324a5b4472c6690f608b2730cc7f35e82e460114
1737 BCHUSDT Jun 18
a57ee07faa33b15d25fc94712013f4296beceb30231cba94d763b4b5929b99e7
1738 LINKUSDT Jun 17
97cabc289426b57c096ebd7e7950252e76cd064b566bbd632f42a39bbdd511d9
1739 ETHUSDT Jun 17
1bd9704b2afdacc840396a72218126947fbd5fb57fcbdfde99ac0df83d540578
1740 TRXUSDT Jun 17
880a063bbde497ba875f1b16d18f094b816c67c484d1f4e59f945edf6e7d55d3
1741 ALGOUSDT Jun 17
7f2274004d821c491cf13ba2651d80307a365d4de7eaac620b11016ae468d33b
1742 TRXUSDT Jun 16
b85d7aa2529bd9246e5f8df2d11ca132394ea5a4f2ce01b54b04febe79967a95
1743 NEOUSDT Jun 16
9580abb47f8aad8bc6c483c84ae5e9e86b976875be21e5124d429592a9a2c7e3
1744 LINKUSDT Jun 16
46dc0e3ca51ac728d4e4d8b2157c38f966f4ae82915b1ca08f6ec792d7a9ecd9
1745 CRVUSDT Jun 16
1b2688b482a262c8e27b009e0c7fb1aa257d18d960b54084d42c2cc8db6cd51d
1746 IOSTUSDT Jun 15
2a24db93ac8da0c9a8da9e2d98a0fc7b29af8c96beea8fcb525038d0c1004851
1747 TRXUSDT Jun 15
5d1e8a664c8acc7439ff0b04114ac4ee99cba992c3649257204b2459bfb134f0
1748 ZECUSDT Jun 14
ec47592282d82c5766921b94034c6c7d269d7ad83de7b16c342ad2be952f48cb
1749 ETCUSDT Jun 14
526476de81ced53f7802cfd3b663fbdd30d56ea1d4be12d2eb5cacc2a0966256
1750 DASHUSDT Jun 14
cc96b60d1364d88fe442d8ff12ccbb17b1945bd1fefa0da95a2530f5d3b66c70
1751 ATOMUSDT Jun 13
0acf7eabaade64121c2d594c4c5c48948af891679b0dd4d2c7229004adb15200
1752 ATOMUSDT Jun 13
2d6219807cceedc49d1fa40cd5d337c838dd205ed85e9842ed5fceaeef7644e3
1753 XTZUSDT Jun 13
df8364861bd2499b10ecb14e41bdca191ce192ca20643f9fec9cea1e922752bb
1754 ATOMUSDT Jun 13
88c5651bc15ca38b3823af1586448d5e66ee29fcb3483231b75ba4c91a0e04a1
1755 ZECUSDT Jun 12
5658e6679655955805d44e9f65cafb4c630a5b8c232338cf41eeab0fedf36da7
1756 BTCUSDT Jun 12
ecaee824685809956b380361c41c08a6e437111ca6124b02a51a84f640d679b1
1757 RLCUSDT Jun 12
3a78589b0ca37afc950faf8567ef3800f4ebdac9e9e2861e0bbab7962f2b5003
1758 KAVAUSDT Jun 11
db5e6cd447140d6d6d237325720746a350cf02ac7db27cee79f95192bb969de1
1759 LTCUSDT Jun 11
8ba036ed8b1eb8b50ffd04472f948df8bb60161f51d02e1084907217058b2f63
1760 NEOUSDT Jun 11
b07061305ca0fb800db254ac487968b773bd8cac8ef09e93248261e633d5d408
1761 THETAUSDT Jun 11
e5970dc85178168c76aa647040526f34652d441cf30b604a553a777c0478018c
1762 XLMUSDT Jun 10
a35b151b9ddd1c6a820cf492848230276b8fcd903a2ae7bef0885628757db3cb
1763 ONTUSDT Jun 10
9a4c92b7e4afeac5af6a3aea7bd10e83c5ca0c0ead328b1483e4bba93b581761
1764 BNBUSDT Jun 10
3c50da763420cdd21699f1cc23d44d0a0645520a38ea9a49f9c44adadd4d56d9
1765 XLMUSDT Jun 10
0810bf34ee5c665a1ae06c60156e33bdea9b339973adc2ee6e0e0654177b5641
1766 ZRXUSDT Jun 9
c232c8c512f2c2c5e1f3a20ca9cb6ba2d2b3e3c39a86648b69577d933b2adc3b
1767 SNXUSDT Jun 9
b8bb38ed11cf5cd2c6e7ec67d911e5fca2289910e8c868bf07a74d1226c7bc77
1768 KNCUSDT Jun 9
ba7b02c55cdeffb4839c64b99df6d61bc2284ff3938304d14f4444fbd5792123
1769 YFIUSDT Jun 8
bdabe3e8b9fc720ae675011e3f1c8f888ccde1294ddd15276ca7d7e0f5510a18
1770 IOTAUSDT Jun 8
5eac1625392c0959010f3acaaa4f5883f9c7579a9af779fa097b1c58eba65bde
1771 XLMUSDT Jun 8
f1ec06752588ead6316ef4ceb45d6a0c213e69af2f1b5ec1f74cb145c6db1386
1772 LTCUSDT Jun 7
8612c2d5969a2d311e563f3072979e5e8a1ca298676736ff8d1aaeb339edacf4
1773 DASHUSDT Jun 7
6e51c87a5f4aea5489dd157ee227e9b202ae146a6727c4ba006c828aa13735ac
1774 ZECUSDT Jun 6
136c168a0ff0b385c6c09d307a64dcd87ae6300871369bf576625f2efd424dc3
1775 KNCUSDT Jun 5
f413798d72c8c689889575a43dbb2883e10879b49e905e0fe4668ffce1319d82
1776 ONTUSDT Jun 5
06426ada3c1da93d2f291ec3b56be8ba7f553a91df57acd59d59c23040dcdc2e
1777 QTUMUSDT Jun 5
747241ccd03cfcd67994dc38ab8667f811e89ee8e6595c1ff1c13dec2d969b9f
1778 XMRUSDT Jun 4
8e07875b96eb2d2164160518205d627da1e28e2efd4bf1de2dae6b8e0d0720b9
1779 BATUSDT Jun 4
3ee53d2b94ba827d838d378c28bd1e7ddea3d4d7225e861ed34d008925e971ee
1780 XMRUSDT Jun 4
c354add18e841b50605b3090061756ac9e14ca66a822c39458c92d1c4c3ac2a3
1781 BNBUSDT Jun 3
40ba6a2e92b85827e78adbc474bf55a1221f51e6d941878247726431b35567b0
1782 BCHUSDT Jun 3
a9aba9dd32c904db818761dedd43bc38b8c1a0742902c4f16fa42a5eb3a76ba9
1783 ETHUSDT Jun 2
3f62985556e3762b494f485e9272486cca16e571ef53245d2abe16ce5ba1976a
1784 TRXUSDT Jun 2
b148246814e36805017796e999e47e7a3720054035858976085f7717f252510c
1785 ZECUSDT Jun 2
7719148e3dbef4fa28352748445c12f59ade924418ef435da240ae8b0a737470
1786 XRPUSDT Jun 1
8d68d3da90770a594accd0011b0d172079f62ddbb5adac285d6a4b69d1e612a2
1787 KNCUSDT Jun 1
9983f4a66611754a8adb5a6854806ade771ebc3533b84dc1e2a08cb9edc760ee
1788 THETAUSDT Jun 1
31c832730026bb28f740afe4c2ef5ac2736f6331c9735e004d8785d243ac6925
1789 THETAUSDT May 31
d645e825f169a1370e6bf3134ab550ab34e2a25b3bcd75e940325d7b2d7beabc
1790 BTCUSDT May 31
1e7befaaf6b563b08b3c75127fa5823bc639b74a0ad61f4837b1bd6abad7f685
1791 XRPUSDT May 31
ab52e08bab49daeaaaac03b938a0bd770a67eb35f311b1446a3839584e40f4cb
1792 BNBUSDT May 31
d0dfbaba8b458bcabd5a45929da8b87d4de7908668b4d977b8d2abf843996050
1793 BANDUSDT May 30
a20886d364213b9d04fe68711fddbd1ae24c30aa0891218dc79608a24bae5b64
1794 RLCUSDT May 30
aba7c30f1399f44b4e77d5e9c4fa878f3a49f8e35ac294acf09945c6d8ea54f8
1795 SNXUSDT May 30
a0398c122aaf22988a1b1d7dca2929d356737220cee137e63547a32b662db2e2
1796 XMRUSDT May 30
e0f0ea360d71a16f0babcce56fa0fe922a84128227506996d117438bfe3503d4
1797 BATUSDT May 29
f39cb03ac3d21d74ef1ad97c0c83106f0ad2c44dc1aa53723ef9ac457fadb877
1798 STORJUSDT May 29
3e5af32db6a869fb554af8253b10b2499be59c93215c7dc43de5bb1191ade721
1799 QTUMUSDT May 29
fd7a38eaa6ffed2d72b8eb2a365b7bde3c535fc772825d43d2419d84a718b74f

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