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 13, 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 96 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.

9500 LQTYUSDT Oct 14
a7f024fb89d2d668a5ea4a96bfcef0844d6c3d64c89138498aa8756b09dfc17f
9501 NEOUSDT Oct 10
a3ae23cfd0700eea753ca46325ed732b9162f536c25984f2f802219a00596916
9502 CHRUSDT Oct 10
ed2dc6546230c9430b15c1eecf61c80b9dc55f42496762ff341c1246c0e35486
9503 ETHUSDT Oct 7
58d790efacb7643e268c9389825833ab5aaaee56bebf15cb501a87dcb7e5cc63
9504 ZROUSDT Oct 6
e712db007d2ab3faa6647bd226d56d426b5c966e332d5477a6faad24902900c6
9505 CHZUSDT Oct 1
0aa4c5d87b68e49e8490f2a4cf510a89d65368b9b7a28505d68a5be2fa912f08
9506 WUSDT Sep 27
eb811480bcc40bb5add76ba2450746ff450cb2fe86c63240a051c2140804f352
9507 ETHFIUSDT Sep 24
53efea24c8e3daf7ff48a10a530dcb80961dc2925dbec42ecd5803e7cffd51b5
9508 BELUSDT Sep 18
48d0628610ae5b62674d7bb473968b3e438f254e043524f2c5daea19cda145e0
9509 CHRUSDT Sep 18
930c6cd5a1017b4dde72937ce2f446138e92afba05bee678ae089a8b4412edf0
9510 WUSDT Sep 14
4ea610338d1104a76a02e2a4e464776c02c2780ad72d0c43b6c6af911f1e0ec6
9511 GALAUSDT Sep 7
e14b9d95e2baf63cee172c891143f8571c6e510dd13e423b1516fdfb1bd996c9
9512 ARUSDT Sep 5
f746414e5a7e21dfad5a1ca8c17a5fc7813c86007ecfc1b47d3284dd33d630c6
9513 MANAUSDT Sep 2
28b10eb16ce62c7743319877ff47ca929c6d3515d2ffb6a0415c283d9f2642ab
9514 COTIUSDT Aug 31
1f9bd8b16554ba34e5ddc928bec8764c4acf24205afc3159039453b79dd79c6b
9515 CHRUSDT Aug 28
539da97967725252daccea11825ab2427cb986538a5ee3d95659ef9f96f57684
9516 RAREUSDT Aug 27
ec1e6092d7e9fe7b35ecf7558b28b3fd3cf07e896932b5045246d97298856687
9517 LTCUSDT Aug 24
2dfba307423008392bca23aa6d03fff52c3f3bb73396182e1fe48bd2faa04ebc
9518 SUSDT Aug 22
83b8cedf30faf98d25ed300094368fa6fecde50079206eb3b9af3fc5e034a710
9519 RAREUSDT Aug 20
9d00390f60dcab6949b5c7e0ff9156f1413e0969fde3cfa0eb4e7c2dadc54b6e
9520 WLDUSDT Aug 13
f48f4e9b1f0026fa23adf9f6bf24d44d84e2a8f83d9006f7db4402dca5ba5c36
9521 BELUSDT Aug 11
25c1612217e68b59422be224faeeafaa51c4150ed435ff4b22476bc0bb10c5b6
9522 LPTUSDT Aug 9
3152bd5d91e91ce0a5e50a3a3ab2d202cac6a36e19dc68c343b9f711d03319fd
9523 BELUSDT Aug 6
8ede7b761752d31724f7e160ee00df387faf8452ac05bd2348659f2b6b25b1d2
9524 BTCUSDT Aug 3
7c8cf6d9e9cb3ac81dbd609f4e625bcf351d5496fd58dda7e54ae4843ff21a75
9525 NOTUSDT Aug 3
8f8c5a69e8ea655d0ac229931d2a455fa25b27c37b0848c6dbe8a16565a66b7d
9526 DYDXUSDT Jul 27
76c7de6c56a9625191b46ee72414849e852c57748a8874acd6a94fcd1a5215ae
9527 ZROUSDT Jul 23
deec3ec9735fc40a1fb2e6f1fa744d335c5c7a812d8e33985ebca30df6af5d53
9528 TIAUSDT Jul 20
01e7d0c4ebc370d64a246ef373588259a24abda6de2039565b593f83dc78e5fa
9529 HOOKUSDT Jul 14
47ade4d1fdfe5134d26ec3779650d76360352389af2b080e146b3e9758e8bfb3
9530 SOLUSDT Jul 11
4d9e9f91051f51142cc5234bf7524127f98ff05f5fa98c9d57cba8c4397b9327
9531 XRPUSDT Jul 7
818819cf4cc1cc41c3e53aad2a7605606000c38d9685b4331498a35d3acb3b5b
9532 BNTUSDT Jul 2
2ea195847ead9b0f10bd6cd2233ecb2397b83ba8199fcb50bfd6458ae29749ec
9533 IOTXUSDT Jun 30
4f63280d0f91e38ff09608afb746b0f38e5153bce7b0e65b25ec6616015c3e65
9534 JTOUSDT Jun 26
a21b081d96c2693cc4cf7159c94af98d7ef6e2e1f617268c59d430902be53832
9535 APTUSDT Jun 18
d053a9f13db87cda31534a0a4dfa9b425a3c5792fdb35c12c59a85f1a1a75607
9536 BANDUSDT Jun 16
1cd4768866da0874f588e845ac571b50598807019e7ed7c4387f3fe9404c2916
9537 CFXUSDT Jun 12
4c6ced1c06ee84f1dcd9d4211488e55a3e3e4fca96a18c2786e867ce1406a49c
9538 STRKUSDT Jun 9
1186a8e533371caf255a2f776acb3342a538be6c3cfe6297a538d300cc013150
9539 BOMEUSDT Jun 8
f5bc7748d12b3b4e35aa6d9b98bab7844b2a1e3e22cf1889b9993006dd9518ef
9540 FLMUSDT Jun 8
338c6854a79816d60473ec8b54c6064fead0da193c8b846fe14f73e879a250fc
9541 RUNEUSDT Jun 4
2d875e2d113e2f00fbe3a48195b336e59babf7cb9fb8f72c731289bbcdaf6e1f
9542 ENAUSDT Jun 3
c28a81547a6737ac97e5121eada49f3c4d296c31553a9d7a817f2a5eaf1435bb
9543 NOTUSDT May 28
5bf80abe7aa20b01dffa6b430f0bd52feaf052e3254e12f20432b39832a60006
9544 ENAUSDT May 27
bc965989a7471ab0286807eefbb6ca2a4ce4b113798388ba6f0baf400e26a9e8
9545 DASHUSDT May 25
745f3aea10b8a72856ff79db7224a6ad11e3608e6f30973bbc9de29c5c25b7f5
9546 C98USDT May 23
71110c1d9bf74dcb215e54828c9984ec0b77309821b93e410086ff230c0e979d
9547 CRVUSDT May 22
f14be5a3cd49d1a42e0a459e19d7f67b163cc572ebf21c4d6b7e460297eab93a
9548 AXSUSDT May 22
feedd2250325d675d53ba44c27c8eb1fe1c0bc62b18b7da952062456d6602752
9549 BELUSDT May 21
590ecf310c1efc0d878a0617c5ac66b01a5d2f9bef88bdec34b26bfe6d03ad9d
9550 HIGHUSDT May 17
4043e29e93b77a59c441370a4534f2efc4fa4ca705c6290a34c3a30f9b7e3f8e
9551 KAVAUSDT May 14
9241f034ef9eb65e14661ad7be1879f2fa2bb35f1bdaae6123e32a7261744385
9552 BTCUSDT May 12
92bfade386e116a00a4a9c9392fada95e38c1b6116583366116477b30b6a628d
9553 COTIUSDT May 8
8f478c58b8a45f8bc5b9f043ee10bb6464c87515517acf9925617d5c2367e069
9554 CELRUSDT May 3
03103da5bd3b5d064601be8d6ba85f6d1ffc9d9036a279da780ce97a2b6e098d
9555 NOTUSDT May 2
8a365d93315e2f50a54147a8f628ddb315ef31412a4705492dbd5b5922c35f0e
9556 BELUSDT May 1
4aae72ad09af596bac3be4220c1fcda4aa3f6ecd60e870523bcb2c409a62f29d
9557 KAVAUSDT Apr 29
386a0b8de2a027f846017481c50d65c635927e2b99f1a7c16b6b61ef5f09426d
9558 IDUSDT Apr 27
cb9b41ee58846d892603e16c38dd5b9a63fe6300fb9d441f1de8f3439ab9f50c
9559 BTCUSDT Apr 24
c725897211e590e506b8a2e8325d90ac94473ad7824d5980625d1e7f8fb68901
9560 ETHFIUSDT Apr 19
c31eb5ec2366859c4e61fe518b30e37d31f5994146a6a4490e9b6786703e9be3
9561 RSRUSDT Apr 18
797e88917378c68ef26c0cf32eb0fe931262b1f5e37afd2aa2e8f0edd0260686
9562 NOTUSDT Apr 14
ffb5a969e50a879bfb1d82038ad6a9088ffcf4018045b2bff9e7cc7fa1229bf6
9563 RUNEUSDT Apr 12
9d87a8e442e87e103ee780475718a91c7f61281cc4f98f262399120c38b805ba
9564 BNBUSDT Apr 9
9da78e6aad4be6ddcdda82a819879dd938db4090ced0ef9b3ad8ab52de3a1331
9565 SUIUSDT Apr 3
ce189ec6706c739bef5cd23de7237f1b531820354c6f5a3639bd04f7033c49dc
9566 BTCUSDT Mar 31
c7a7c1ded7d4577572fd5c4d65054601d2993c4b8978acd90edfaf03f5f84e80
9567 BALUSDT Mar 27
f92e4ba95de6784110203fc39278fe57350153b9111fd855ff7e1bb2f7ec6835
9568 BELUSDT Mar 22
90574a17aba23c5235552adcd53b56e6c5a92e85410b94444d2ba36e19769cf3
9569 AAVEUSDT Mar 19
b26e117b1adc1446f021e1846395ba99e7139cb104f6225a42e0bc3677eaee8f
9570 BTCUSDT Mar 17
013e41a1557ff69ce3e94662a4d81481ccc188fce1d8bb86b2bba1a361c8f9f2
9571 GALAUSDT Mar 14
9d17bf549bd0cf7216a0a9d226803aacaef06fea67c933f4ad6f354e2e6b1b35
9572 BNBUSDT Mar 12
f6d5a685ea10ed8db375963fb1e7ed2d3f366af0db4e61ae8147166f03ac138a
9573 VANRYUSDT Mar 12
fdc32693f387a2da4db83e07cd815da89718cf48b761d37bb8b27459fb0bfb34
9574 AAVEUSDT Mar 6
17c829563491b6fd699ab9be5167ca0404ca698480f12ae3446b8331f0246c1f
9575 AVAXUSDT Mar 2
bcaf50a9c18d928eaef755363b1ffe8b0216c8fcb60980eb75bd697fd5e8a945
9576 IOTXUSDT Mar 1
3d4ef4b058fd1a72d2b01326f42e78fd90f55ec9b683cc7d3aa463c1e3294f18
9577 DYDXUSDT Feb 23
904055faf063d112ef6d4c9218bcd0e8618e1b1ba35663cc19b02cac0c8dfb0a
9578 API3USDT Feb 20
874b7a3fd49f6c051590789c1d02521ea5014184b9516be3c733b4767183c8e3
9579 KAVAUSDT Feb 16
3189ea6170986b159bdf463a4f76b297adf68193e9f5964eb18e927b99c0714c
9580 SOLUSDT Feb 13
16f4cc01c87a273c98b953ddbb8bafa32ca688886f80a2f4c04f7ce2ba576ee0
9581 AVAXUSDT Feb 11
a68935dee200dfb291a50e489e7eb83c155c996efe0c3988b971d1ef2d09abe9
9582 ROSEUSDT Feb 10
0830d410dd5192f43a03513439070fc189cb422cf40f5b6cf64f7a33f777291f
9583 BTCUSDT Feb 8
d09e2547730f1d21bc85706a3d1c0b5f3ce269300cbb928f94f23da565455a69
9584 DYDXUSDT Feb 1
19c301eae1ff92536acdb23cfef7573c1d035ef5174888555b244afa8e78c570
9585 STRKUSDT Jan 31
48401f92578dcabaa1ada1ad96aada96209cc1f9f7ae68017f00e139bfd0dbe2
9586 EGLDUSDT Jan 30
903d18322af0d621792a1d16ad75a5ee06a6492ee21dee66ca48efc7b4eb3151
9587 RSRUSDT Jan 26
8ff030552d31be4032ab5b2532fd59e8f26cffbbf7906144e3dcff1a54c75b6d
9588 KNCUSDT Jan 26
7161e85c318c0123fc26282c13716311ea4ea2a4c922efa1d3eedfba9724e0f9
9589 SOLUSDT Jan 18
c658d1273c602b8b6c1f44273a70a9e823b5fc5c8189823dfc5a486c420b9599
9590 GALAUSDT Jan 14
88b0c1a2a5434723822910c6c84a0e246e0204ad96dfec156b2949a782acee6b
9591 COMPUSDT Jan 11
9f1f3162a494e746d666897bf4baef95cfd67eccb98f198454344caa8665e8e6
9592 SFPUSDT Jan 6
ae91cb0d1028f35c3b9cc72393fb4709ee8e1dfa4e50f485feb67e670cbd7896
9593 DOTUSDT Jan 1
0a98924eb1d0b18e1af7bce946dafad702cdc1e89a807cd9bd5be28e42ddfe5a
9594 AAVEUSDT Dec 27
4e6c50e63b406e92950207ec6ed070130b400d0353af88d6ac09fcf9ff91f581
9595 TRBUSDT Dec 24
8bfb405e15c97353f91e7d6e3b73cc41932b8381f88e511f42a3192aa309b3fd
9596 AAVEUSDT Dec 23
5e06c61e89d69867b85ecdbcc835d5ff71dbca0ae8a8521bd815895f7c1e6890
9597 ETHFIUSDT Dec 18
e4582a0f89578b50307f678d41bc7252dfd67b2e76a5928ee895aeb7281f6380
9598 BTCUSDT Dec 15
de33c57fe7e166812ad66d999602df8974e476878c1eb30e23c6cec11e998ec2
9599 ENSUSDT Dec 12
6c98131e060cfa4c5543306236172c478ddf7e9d8997eaeb36d7b575340ab4ad

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