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

21700 DOGEUSDT Jul 12
79560b49011fadb3d63c4578a5ee0c564002ddda1d104aeef592304822c694b9
21701 DFUSDT Jul 12
c849b83873b43e192cf8ee8d4e9248b0b928abd67ac31604cb8298a282dac09a
21702 STEEMUSDT Jul 11
6bfa79567aaba40b158446588c4f44f7a9b6afd2ed875934eb0a4b3c54351f6e
21703 HYPERUSDT Jul 10
9345a4fd169084bc604d212812f2d8f8ee0a0ccc4d26cea096d69f277fe8b25f
21704 HOTUSDT Jul 8
3b2a9e167beadffad0e16fc70289cbcca449da7afb21662fed016c475fe2ae5d
21705 BTCUSDT Jul 6
fd2cd085fbfb7c972f1ba79fbb9fc8f8281566192970aaff8a230c93819c5724
21706 ONEUSDT Jul 6
699b8dd69d8497235aabbcf03c453112d74d7e21aac5199f1cef9cd8d3361564
21707 ZENUSDT Jul 5
73295a357888233206f8545dc0678ce398a830902fa4e28de0331c029ab18f06
21708 AXSUSDT Jul 3
7b18de906ad28e5b134a87db7aeb35fbfc5a64bd0b3265ee373938745539493f
21709 SFPUSDT Jul 2
b19ccb21029aaf3c001812d783a35537de1a23699c4fcc7a4fc32d46973cb641
21710 BTCUSDT Jun 29
5c273bacdc2d035306e9ffd1ffd45d172204b6f495ec8070389fbc0a21bbb890
21711 HYPEUSDT Jun 26
a0f0f72dbe03ad57e5afe0bd8dca16480200cec0b4670c21f0a4e3b6b4f684c1
21712 BTCUSDT Jun 25
3f1bd9679f50c42fbd6d99a4234f0b08d8da73c5a3e3fcd906136b8a157ec758
21713 BTCUSDT Jun 24
e7aa3de3e1df870c492a74df346ea35d953a0d6a5cf27bc04d2bcfb7aaf8b793
21714 FLMUSDT Jun 23
c9a2b9698c65abced44ed6134efd33c794ce986373fc57b8a74a1be7f60a163e
21715 ETHUSDT Jun 20
05a8cef5dc2e707b686e4a2e8754b5e1ffc07f801ea8f25079e62ada544f4557
21716 FETUSDT Jun 16
8adee84cbba1a9808ae5d96bca7cf265a5a0ef9d8b8c8d3c73e3e72d5f57863e
21717 AAVEUSDT Jun 13
a53892197377d80723a9c36829e577ea0961396b94fbca59546af35baac94229
21718 HYPEUSDT Jun 13
d5edb5bdd814fd4e23f789a75d3eb3c51e54488329af337efac8d57868375ef4
21719 VIRTUALUSDT Jun 11
b0b9989c994fe191057ac297671af247636fb7dad839a3b8d02bcbf2a216699a
21720 DOGEUSDT Jun 10
992e2d683b2e36c22f104616cfe36cc9c8a8fcd9de69fab5c2042a4bc2a6765d
21721 RENDERUSDT Jun 8
bf820d73b2dd8cf883037f0fe205070d3515f4c8d171d786275c7e0ea18ec7d0
21722 BTCUSDT Jun 6
34c7ea8fa9290c98fa4fb2155779d3cfb9c2e3f1a78d82f77b631f21c271f2c5
21723 ETHUSDT Jun 5
abd3d23616c6dbf0263374fe19565e61ad68211c7a12a93974241cb5e3dd3572
21724 RENDERUSDT Jun 4
4064ce2fb36f78f520690fe6558216a127d1ddf406b00b10b908ba3d5ddd8e2d
21725 FARTCOINUSDT Jun 3
e1b3f7e25b0d0d6efa39dec506d55e3125dcfe10200284239e9acbaee6e8d1f0
21726 BTCUSDT Jun 3
076dbbc26e7ba8757b8f3c7b544010dbbb4fe1b29e6e9a36b54e5e6f6beed223
21727 LTCUSDT Jun 2
fed067f641f4cc348d9573665616f968ccfae191c56741b821d7047a579e28e4
21728 FARTCOINUSDT Jun 2
79547e2f3aae0ffa82779ddc5e5011b45612aba943e567601e2d7c9d661c9c30
21729 ETHUSDT May 29
e9d6d6d3e0a58bcace2632cafa05579e04adc3adda00079115cfe991ebbfc71b
21730 SOLUSDT May 27
a44246dbb9c358790ea48030862b74df3f7b3aa46fe5c49121b28119cb1fc0ec
21731 BTCUSDT May 27
04f24221436eba416da8887e87c2e1fca028f89acedb9fde6df9c772a17e8b67
21732 BTCUSDT May 26
fe89738f7bfc7e5487c5c05072d09bfc271a4c350bacbb3859fde8f17e88ca6b
21733 SOLUSDT May 23
94de586ca1c76597c3f0fd3afa39c11a70862a97f37780f1153709b1ab94831a
21734 AAVEUSDT May 22
0b73c5364fb833f9e13a7ffce481b2000b19ad3ed7ca6b0dd702c080e03f16b2
21735 SEIUSDT May 21
7cd12ded6502c16598a84f5ff6e7a7a2f0a8d86bacf6dc89a2a9ca26ac20e469
21736 ADAUSDT May 21
16dd94dd894f3814ca492e5d52c019a6a2ac2bf92f7bac0eb05e5c0297661471
21737 BTCUSDT May 20
78d330955c4f79c6dc4dd9594fc2e0919b96e6a9f3fe5ca4ce9731f7a6f7d0c4
21738 SEIUSDT May 20
602c55ef61c58270653a69b8368ff7de1999f77a5c07d35b6d53e496ed0dbbd2
21739 AAVEUSDT May 20
162ba8b7588e8fee2ac4dae27b72406f491880df23643054ac708deb65fa24f4
21740 SUIUSDT May 18
c468ee67406aa57ccd3201312e5b4c3ddf480c4a51c01d882b24dc12cfb3a96e
21741 AAVEUSDT May 16
c0dca15708d499e023bd3ffd70309fa2e86e3e6cb9031195cad051d4107f2d65
21742 ICPUSDT May 14
cf84fe3613b56364f972a1802d2380177c247853966ecb47d5281b552e847b31
21743 BTCUSDT May 14
34ce49c533a1d91ad2ae933b27b70734acced91d5cced4d9f1d9efd48531915d
21744 AAVEUSDT May 13
a5a298bff17c838e42f91ca4488edafd91cbc0989a02ea1b1197b9b95096ff04
21745 LTCUSDT May 13
9435b78ad6bf0964909fa820ee3914fae4d4ca0a4f3cb1557d17c4a761dda432
21746 SOLUSDT May 13
22d61079618304017c897372c9b79f488403db7fafc48282d4f8439234ea302c
21747 ADAUSDT May 12
4738bc12fa04cf29c3207d035336af31386c348f0f9c88676184244aac710614
21748 ETHUSDT May 12
ce664eb1afd0b20e40e4cfb7e64ff22b301530cb7cc1f4ff7b3babc8453529c8
21749 XRPUSDT May 9
6fa2ef5d08b54acc4d7c065a1aa21a2c8aa14d896e7282b43d564a3fba5231c9
21750 ARBUSDT May 7
1c0f228260c5665697b130ee58b616353a299443cc63a6602d1cc7b8be2ae104
21751 XRPUSDT Apr 28
67731cd6da11087c9809988b46b9c3909a8f5b13560cca96748c3d1b79546107
21752 CHRUSDT Apr 27
05e591c900c7556782d67b188b4929bac3cc27958858e82f783b4980cacd4d82
21753 KSMUSDT Apr 25
1319b1ca2a10cfa4805c920025b213710f974805a624951af4b65b6ff0024859
21754 ENAUSDT Apr 24
8a96663d209f18717bbe9c0540fea7461a43f07c4f1bf4afaa135ea58fa503f8
21755 SLERFUSDT Apr 24
7a4ac33868742faae9a23f0db34f2d30c2894eeac2f026be8b903ba557557b45
21756 CELRUSDT Apr 23
33dcdfb9882d7315f08bc26a8a20a9957247c43beb3490b2c166110e873f40eb
21757 NEARUSDT Apr 22
e916f090db57b0aaabe3abff2b122f9659c67ccc0506a9b94515de381a452f1c
21758 LDOUSDT Apr 20
6c329c50c62df794e66fb937ba7e00681a0b083e310312dd83f192a5deabf594
21759 OPUSDT Apr 19
1372f8930248d889713a4c336d4d3468a98cda51891b03f010ecfd726ca1f638
21760 IMXUSDT Apr 18
bfba6206d2fda660d076fb6694a094927d479bce56b1b2cb666c94f40fc7d22e
21761 ADAUSDT Apr 15
5335d534c09fdbea798175c95f74fbd1b39f70a5bf30db23ab0a04ea2ff5414a
21762 XARUSDT Apr 12
044c5370a54aed0aafa2b8939b998af2922fb659bccebcb05c4bbc1404576787
21763 TIAUSDT Apr 12
54e922bbf6fc972c3833eb1b9461fb50b6c99276216a9ea7e330564127cecc11
21764 MOVEUSDT Apr 11
61c5eec1b388d6e27eb8ba7e3e68ef331317f2642afe826a3ddfafb5d35049ed
21765 BTCUSDT Apr 10
1961bfc53a13d2ad18017c302cd0a22b44b2e582e88816b76ae59e8ccfdd0f40
21766 OPUSDT Apr 9
0ed4061148fe78df3fb2088ab62e024621a3b1d519ff54081bccbff9bc52340d
21767 OPUSDT Apr 8
36e9c3678b5952f8b1c1e25b4453631fc5abc4e866db68296a8003748b8d8089
21768 QTUMUSDT Apr 6
0c2c27814008ad54cc61518d66ce29bae7850d2ebd73af5b058a280802ef4107
21769 XRPUSDT Apr 5
43ab68b7fe14f2ecb4e167b09b89a4b083a947745e063d24ac4b965cd2829e85
21770 STORJUSDT Apr 1
6171d8015730f8f85b70bc1c080e2c6b64cbd6480b39e54ef4d6a7f9f3f97c42
21771 CELOUSDT Mar 30
c58f45685a598c1bb092c1d83c6c6e1c429829e1ec835273595b431fac23ee93
21772 NMRUSDT Mar 28
9cc06fc8d5ffce62fa53f9bd05904f2d9cc6e2ebc14a7c151406b7982cce37cc
21773 KDAUSDT Mar 26
ce501e9e26ce5eaf0235701093626a5b4d4ab08c3bdcd3d964dcd06785f7005d
21774 IOTXUSDT Mar 25
2457740510f3e9244fcd1636db443e1e194cbfc23a7f22c7b3dfa7aa2627ef74
21775 POWRUSDT Mar 24
7696a311fedf92d61a2d0189c6192ab3afcdf4c9d51fae60b0a2665061934f82
21776 GMXUSDT Mar 22
1fa8f1b6a136948656d868fe4287d4ed462c3dcf5f52ea0f41894ecd80f7b6a7
21777 ONEUSDT Mar 21
2cc62acec96ad80efb841885dba7fedd9dec893d2e106962615cbfeb5de32248
21778 LSKUSDT Mar 20
afa5fdb19016e8229f4233876b7f2b2154da9607bc279bfde1d38f0c4f250ad6
21779 MTLUSDT Mar 19
e0633788232e051d911cce9497b78527b3bc88cf8026f5b493fb0df189e9a514
21780 RPLUSDT Mar 18
8d0520968b0b6c10060ad7987846124bd517d7e1c39dc2f2dc4f069690137be6
21781 TUSDT Mar 17
9a207efeb77de140f17d702f8b28010dbd99412335a72e5f62f0659500fcff15
21782 YFIUSDT Mar 13
663f6250a5f249612c49de14f1f73755ce57b47da3592ea5df30fc56da8b83e1
21783 XVSUSDT Mar 12
f13787db50406736d33ed69c6592716d24c4042ccd5329298a78b21061d0737e
21784 NKNUSDT Mar 11
87f679ec269c392b092cd83d5acad05e3b64e05527edc261a80ee90d4f05ea7c
21785 HBARUSDT Mar 10
84ce64731492d863630bc23c3003c78e3489999e126a723651afd064327b5475
21786 DUSKUSDT Mar 8
ea0812b5defe291f642471c16f6ee6d56b50cb898909c0790cca6897ebae5086
21787 CHRUSDT Mar 7
5a7b401f6d50eec0aa2782517d4223dec0c099ad809778962d69baf083e01840
21788 SSVUSDT Mar 5
dabee9a8588d30c3b64d6afb83e5920a9a712084c48bdecaabc6cd364e419746
21789 XVSUSDT Mar 4
7158bb0d61f646c6901ff506218deb254ef87764fb1335bbb3c349f94ec78cff
21790 COTIUSDT Mar 3
901f9dd8a35bb518ba9b1e03717b1e714c1b4707fbe1a2aa8d659307ffdf10fd
21791 WOOUSDT Mar 2
f3868daef7668c8d1cf86bf95c5cf7c824a0c8f007c38e830be08f71a7b2ef5c
21792 BANDUSDT Mar 2
e5302c093602a7f8838340fdc08ceeabf439e8774899b1a9788db26bf95f08bd
21793 ETCUSDT Mar 1
e3d150604bc167e95a331e5e0d665b3a394d255c220ccf4a8d40d55e524ceaaa
21794 NTRNUSDT Feb 27
70946459ed0fc3c331b36e49ba132164534b270b214fdd9cd80eff277d4cfffb
21795 SCRUSDT Feb 23
93235fafe2acb9239487e29ed7272f70620fa04910331b89ea9d853966e73054
21796 ANKRUSDT Feb 22
a0943041cd5b49d35cbe3250532e1f593eaf143cad1bba4edf097d7238a13aa0
21797 SCRTUSDT Feb 21
bf93dd534de4bb9c82ee7e62d245754a957df05e33b3eeedecbc909aa4d4d213
21798 C98USDT Feb 21
3768a58419d986d760eb17e66ec3122ea399d54a474b980d03275f7f78d3c370
21799 CTSIUSDT Feb 20
ea354e8dfc0c411a57aceef3a70f49327c3ad0fe212d8ead23132e9a5b287dde

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