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

3700 SOLUSDT Aug 26
99b091135d80b7065011a92effad3b6ed1265cdf799f783f681a263bae575864
3701 ATOMUSDT Aug 26
5190cd6ed72a8f08c177c458dadf9ff717e93986d8b33b8bba633855b5ef53b1
3702 UNIUSDT Aug 26
186229a159b6fccbec058e0591c67bc3c11dcf241a12118f836d149eac41557d
3703 FETUSDT Aug 26
8228b8efaf2e41db370b6b826df0137c3fa81b4103300a364a56e7be5b58f462
3704 BNBUSDT Aug 26
1111881a70601141ca72d93391a35f1a14a96fb1afe17df559e6b0535de48a3e
3705 ETHUSDT Aug 26
e208f9be05c958301de8e201c203072ea86f197e732a4012ff5e788a86947b7c
3706 UNIUSDT Aug 26
cf1cb74b79ab0d6a937a75d4e767bc8ae5c81c2eef9a9e260757e2a8ef8b3320
3707 PEPEUSDT Aug 25
cbc931f038c0a4dbfa21d0dc2d301471ee5c368329b5f4024eab3568c14f893f
3708 BNBUSDT Aug 25
edec640e7017b5c766c6bf6c8dc08fe8e7be5d6b2df9c7fa0f783378d67d5116
3709 DOGEUSDT Aug 25
bbecd5cdbaac7eb3d29fcca58b7bd6a66855af1f7dd8182ac6e17d2b6a278246
3710 AAVEUSDT Aug 25
f8bfdc1df44fea6b54c307c3d99c3aa4df44abc9b412014d8eb230de9fd93efd
3711 TRXUSDT Aug 25
ae6d635a2b9e13963ad409febea2d8ed31945cdf209a023cfc7519fc3915cc68
3712 SUIUSDT Aug 25
fbce4688089c6244ed4c414bc325ca0d9e9e8cd95823faf9b5b699352b985e46
3713 APTUSDT Aug 25
9122b6c0163e82a7ef9a815794397a66fb501bbd5dfa466d54175f2d0df2aec8
3714 ARBUSDT Aug 25
98bb394cfc1270844fb323f00a438a013447652882f9934d50ef332eb921257c
3715 LTCUSDT Aug 25
3ada79b6bded2ecf066621443a145bc9b75d2c740c404cf4f643efc1a471a667
3716 XLMUSDT Aug 25
87a35d7391123a8eabafd3d37b59f9742b8417fc21803c254769f811529100a0
3717 ADAUSDT Aug 24
42baaa7de0da0f1b2b77f7ab7a9cfa599ffdb77c044b0b6b5813d182922e3936
3718 APTUSDT Aug 24
e8f28a7e2746a2d4b481fd9017b785fffc4c6393a94390cd8b420fd0d7d8bfd1
3719 APTUSDT Aug 24
4c0b05ce01cab8279b61e60b2c141e3ede563bee84b2c3ade7c20fb56a4e4174
3720 ATOMUSDT Aug 24
127857ebc539fc6f7354ab791d4876e57a6e41c6342dfe24bc8a28e4714c7a4e
3721 FILUSDT Aug 24
fc93bd2880937f4d0c4e7815aa2880d6bd6806eda3c8caf237bc8ad5a69879b9
3722 ATOMUSDT Aug 24
20aa9e192a0575b0f5f86752dbd9e60bf2a67bb3676eec929477a767ee7a9a0f
3723 XLMUSDT Aug 24
c05aec27293a28511b8178af17a036921ad701bc3643f6c4e5741f83bd6b59a7
3724 ADAUSDT Aug 24
d6adafe165431c5341fbd9322053c2e2b811f0cd5d030e5a4a175bf4bf8e6e13
3725 APTUSDT Aug 24
c799c2c69e5ab5cb6da1625b271607748b2914d2628d5e45afb01a3e3c82313f
3726 FILUSDT Aug 24
a3ad7d6faefc2ffa3fceef1ec4b6907572af86e3d4c4946ae022e11a3bea5fb1
3727 INJUSDT Aug 23
4e2f81bb6f1a5b5f806d0b0f0e12b6d20a0f6a987456b339043fc3064e4f70e0
3728 ATOMUSDT Aug 23
cacdda7972caf0a4dadc1fd88349b204439c06816907214a54fbbf41469e4fc4
3729 APTUSDT Aug 23
04864bc99ab6dc85dc396d7bf5c28d160d2263de658c92475d099199425e96a7
3730 NEARUSDT Aug 23
ccf6dacf22e89392707cb81ca944c9df80ff3f6745babc6fa2725fbd6891e96d
3731 FETUSDT Aug 22
8f9b0efb0439f6220e0c7a99f7ada2edcc2222b3a50140f170288c1a919dab1a
3732 UNIUSDT Aug 22
4a803b017dd13802a0797bf8df820ccfc3cb280a6c354b280cb3f3649c8e1618
3733 APTUSDT Aug 22
48ec160e58463c337a357c51ef8ade0a9b27397f8d3a5e154d4576e85adaeb91
3734 FILUSDT Aug 22
2aca1f51214637cdf80211c6a54900532af07fdf4e3c693ad4dd1b028131ad62
3735 NEARUSDT Aug 22
67509bb07d8a29bb86dea2dc3da55e616774ae593439cc84436b69698a658066
3736 SUIUSDT Aug 21
0320275432d5761ea2bfc7c4ce61ee15f5e38bdb02a0257691738f376795639a
3737 ARBUSDT Aug 21
87b534ae4f2fc488ecf0b8804ee19d2e0eff4ba92a558543761e4629c6dc42ed
3738 AAVEUSDT Aug 21
8b32474932270cd9982c06ac20b6736109350e69479b51af5d5f3fc5ee4f571a
3739 PEPEUSDT Aug 21
eeaa36a4a5c6a86207dfc0f3d4c45d2317e7414fe90936c08e9225a3b2e48a86
3740 PEPEUSDT Aug 21
3c399b785ef14afa7c0d9e422f81cb379f46d9f101204d344c384dd29a2a49e2
3741 XRPUSDT Aug 21
f082c355c9297ef9c27129fe049c1a98fc268e9fac8c0475ae34dfdd42618273
3742 AVAXUSDT Aug 20
e336bce849121dec61b82ce1a754ac09b3d8daf8a29629b08d605d353df534de
3743 LTCUSDT Aug 20
3f029e9aebe7b2577acf8f644d1bebe689636ce6b4c919b0ae23c6c3306f9153
3744 DOGEUSDT Aug 20
d65c14e02865098216341d73399f7069104308257a752ded0d36dcdaae005c7d
3745 ATOMUSDT Aug 19
b78b14dc604387bb724a65293dd469a99c0272f7e85e79cba1ac34aa1ee11fb5
3746 TRXUSDT Aug 19
5ff063614891269acb07c74c00012a6e24c5338176fe13fe654379707d65ce23
3747 AVAXUSDT Aug 19
59c8da6585571f917fa4fc43a0d08963f6e83082150267dbffe1cad8e84af0c7
3748 BNBUSDT Aug 19
3ab1513dde69578a6407e8738f077f1c511bee96c63be77abdd88dd157fee03e
3749 NEARUSDT Aug 19
fdb69f33698070d348814ed81629dcd72376d27c0529dfc464b32dc662f632e8
3750 UNIUSDT Aug 19
30ca2f0e8413c3e0c5adcf45f43f3ebb119adcf6be1de9a74f04c15fa0bc9fb1
3751 APTUSDT Aug 19
97d4350371c686a6cebaed503f9f8794614f434185124135d9563d41bbe85b73
3752 AVAXUSDT Aug 19
2753b118e319c75d7c39106d3f025e952618780fd91bcb2d90de447738ddca38
3753 DOGEUSDT Aug 19
c1dab6de90f0e508c0dd8e798460252c75a21b525991c67b16e214c097d5d9fa
3754 XRPUSDT Aug 19
096b9fa18df30e715011ba8ca2463f0add5cd17c9d943a96879e3967acefb68f
3755 BTCUSDT Aug 19
c5fddafe3989bb126f92d26a1980bfaaecf78c8e9ddc122b82c71018dde308fa
3756 XRPUSDT Aug 18
f56a9cd7eec43aa35f7c139f77e3d623874b1d2af2a629b88a67ba3304a81fba
3757 TRXUSDT Aug 18
8ec26f484a79b8f69f36c33ac4b2112900ba486d9331af286cef0e08790268d3
3758 AVAXUSDT Aug 18
95fc50c624bff30a2beb381cabc5ddabf633e0c964fc382c34dedf5af461a5d1
3759 NEARUSDT Aug 18
7d93eed7b942f9feae585d3f4678d0172b104eec90587516030aec7b98decd59
3760 NEARUSDT Aug 18
c9f454f672e503a6db8e11713d8c0cc25393bc04e4e4a2b4c6e1252189e90a59
3761 ETHUSDT Aug 18
5e0376893ef7b2447868c43c2214ae6dd24ea0bbf769b3af549e0f7dcbba53f9
3762 NEARUSDT Aug 18
28906f5614e379725cd5ac9129a5213e9eb2e742944165eb2493779e623475ca
3763 POLUSDT Aug 18
66320417c52fc227c3b873039f91496c06483634046df6ee961ad33df35cc5d0
3764 LTCUSDT Aug 18
adcec2f1409178e3bf6f80758040e92075dfb9229da744028991ed667635d28b
3765 ETHUSDT Aug 18
907998ddaad04c07d53adff2882cd7952930f592d48d58afe6bcdcb6b4586416
3766 XRPUSDT Aug 18
63c02f58b88af15c29744078c481179acadea1db76abb59630cbc8c7eab444ec
3767 AVAXUSDT Aug 18
d5b91d0a2fa7568142da788620a69df3d0deb07279e9de70d569bd91f2d465ed
3768 XLMUSDT Aug 18
f216e8eaa8824381c71ff450b87387935368b38dee9043483e978d3456b1b356
3769 XRPUSDT Aug 17
220b7290e16231662475c9bc3569fc08e775b518c3d05ee20f1fb4a62ef20c29
3770 XLMUSDT Aug 17
be63148358242675ebd3f1d7545c53c40feb0fc4736a644cd4e7b48fafcf4018
3771 AAVEUSDT Aug 17
9137176912aee1024326da75c2ba70ec40fb28bff91a40e103a994a383eddcac
3772 SOLUSDT Aug 17
777a88d6610e90bebef4b11bdcf6a56d5c3e71cfd27a7bb56b7c4f3672bae1d5
3773 XLMUSDT Aug 17
dc3ed0fb6940441833965fd111556c719f2a5ee2fad670036ff0bb1c3fd8eb0d
3774 XRPUSDT Aug 17
09d49a54639871dbe72ce3f2659bd646e1957ac6a87db6f50f30d1437150e282
3775 SOLUSDT Aug 17
f29423016b769825b98eb0b33c7c6399d8450e7157ad0557d6e9b34774eb4640
3776 XLMUSDT Aug 17
26b1c69cfbb7ab574c4f83810dd880921e8ed13cf39770c435034a390f65452b
3777 XRPUSDT Aug 17
b58d66e71a5eaf3799371b287d68bd749f8854477dc3d28f0c511f5fb5dedae0
3778 AAVEUSDT Aug 17
85bd33aaab5a51ba78d0c2d32aa74252c2242cd29e09dc4c6c901e60471ac8f4
3779 ETHUSDT Aug 17
e4c171e35fb5d194d2c6cf6354564188c98e1ae83a05a05eedf9f2f5c9630782
3780 DOGEUSDT Aug 16
4ffbfa7081bd0c8332cfe9602a16e8feef4005d220ffee24976a4ae6fe6c664a
3781 SUIUSDT Aug 16
b861c688f2a2ee1c34a93a6ada2cd50de6657affc66ff86c1e13e89c1b74e41f
3782 FILUSDT Aug 16
0e45bb7cae0f97f2caabdc0942df6152a65490a5a5b57aca2caa97e7176b7321
3783 ATOMUSDT Aug 16
5dbcbefa570aba3eea7cff2f1e0f336312d5fa9f428000bc89aa8272fcf57bd7
3784 LTCUSDT Aug 16
21c0527f7ce4602bc577033327e3c511272c6de3dfeab2ddf7a97fd0e0d9d958
3785 POLUSDT Aug 16
79738c3aadf3cd4f02374c1013976c53f7528e6e23858f67d2df4eec8ad38d92
3786 SOLUSDT Aug 16
a4afae420847c66f8987499fa92eb390daaf8e2b2021ae98945292dba77437fe
3787 ATOMUSDT Aug 16
c4d1e8d404d289431fd8658590388d25a87b8afd92d8e4b48c68a75b0103e1f3
3788 ATOMUSDT Aug 16
552792508912a6225ee556db0d5fd4512d3d44b1c6ef55072827eae2e29f315c
3789 SUIUSDT Aug 15
8b0cc18946b645486118544af42ecbef8115906133a88f04bea09321c0b5e716
3790 ETHUSDT Aug 15
8e15c5f4ae7663fdeccb124c28bf2dbcda3a6eda47d39758ac3fe49f278a6691
3791 ATOMUSDT Aug 15
97df4f6272a378438242184277dc09b776679e8d8f38538ed1e7f3d4629b8742
3792 OPUSDT Aug 15
82b14030e43f917fdf7965365349c2d1b2a6e8f9470b89a8f694e69365560ee8
3793 BNBUSDT Aug 15
f17dd85818a2614de40ce305f5061890c968596d6e91d088a8c88495f4749bca
3794 SUIUSDT Aug 15
de2819433d77eb5a1215e4289c05b6b07c8982cc38399492e08d20414414785f
3795 POLUSDT Aug 14
f01535dc5450ff7604f8f7bdece4df0b45243b6b2f48f78c2a7f112fe416ead8
3796 FETUSDT Aug 14
549c9c79ccdd63f1647dcf4dd101fc1bbdd77bdaddc495b3aad7e230f7d74a4d
3797 XLMUSDT Aug 14
fe338051115560600f594aa1e4ce2cb999c51d51437e15890da82f53a4d3e2ec
3798 POLUSDT Aug 14
ff4555a77e450923f1e178fc95d8229855fca08bdd67c487320869b07e7b659f
3799 ATOMUSDT Aug 14
7cb95ab7a85e18192f413856d72643cd0df35a3d7cd69af159641e39ce786358

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