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 12, 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 169 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.

16800 TRBUSDT Apr 17
d7d35a7cc3f6b30ed60caa8bcf0e9a3fd5adec30de77f2f3b47442c92b3b8d3b
16801 RLCUSDT Apr 17
04a246b6f8ee8bea7b0b4e8ce97adc9574c01980aa2c6324fa9b89fe984eacff
16802 LIGHTUSDT Apr 15
5af02b283f5be308985c3e79027aec7dcdeebdec0dd2a7c5dc0bc8d55fca11ed
16803 ENJUSDT Apr 15
4791bc34b932793bd6cddd4081b3010e6e3840121f31baf5f988926b22a4ffe7
16804 ATUSDT Apr 14
22c3de75d1de9ed811b7bf1ced3c72d508848a838aa3be164148553fda90d5dd
16805 LABUSDT Apr 14
b80fae493f9cb2f813217c30e72567dd3251dfd630c86ac9469670dd2e94281c
16806 ETHUSDT Apr 13
61a2190b9acb444a17240ab30de4b7039aceb22fb18453ff71774ee0d67a4b6a
16807 SPACEUSDT Apr 13
0d67e4eb3ccba2ae5965272d586564b48ea145e42767b56a2841e802b20a2759
16808 BASEDUSDT Apr 13
d906292d2fe8d0ecb2319ca00348e7ccf2f0db24ab433557f74c62914bcaa858
16809 SKYAIUSDT Apr 12
6b416dc0545211a5f9bf6af697d9a7fcbffbc10cc98a046bd046bcbe8fa7000c
16810 ETHUSDT Apr 10
3f5381662c23d279163163bfd631622bd58937744eb386ad10be07439c988210
16811 HUMAUSDT Apr 10
ee26965f8b24457746262c30f1d9243252f7dafeae01c818e385a1abe4988e92
16812 NOMUSDT Apr 9
e5576dcf6a36237d3fbe3be93c93260f11b9fa654e3c41012915fc5c767a81a6
16813 BTCUSDT Apr 9
2f9bfd934d4baf663560125de870ea062953caeb3ce3427612de43570df343b9
16814 BTCUSDT Apr 8
b890d712f5201262d37a5005fb99408c8112f20ad847a54221914e8ad8ac3cc2
16815 ENSOUSDT Apr 8
115f12710f4e71fa25ff64006ccbd59f0014fb87115b351c806e9ecd6d1f093f
16816 TRADOORUSDT Apr 7
6846598853293bf144baa50281c1e9872431cea9edaddb45de4d361ba0dce0fa
16817 MNTUSDT Apr 7
7d78cba704797b3b59c6344e178618360517141cca06d24a7d63485dc1452833
16818 FLUIDUSDT Apr 6
74080a2896b8965de83556bd3a653a7579efe1184ba39e678fed23395697d448
16819 ZRXUSDT Apr 6
149cc1786d9a550723f90dc2f061e4b1f0be7a04641a933aeaa8b7fcd0092a20
16820 FFUSDT Apr 4
7f3187760fcbb41887d375024a0829d3acc76fffbeed8d5966bb78baaa584053
16821 ETHUSDT Apr 3
bc51b49786ddf5f74e7c435f24c01cbd160762e14e06159e9b505a51e4a7477f
16822 MASKUSDT Apr 3
919d9c3d375fbad27d342972208db372406a9f9f6ef57e285a3e6eb042a8c1a0
16823 EDGEUSDT Apr 2
5c12b5019f4f725966ae07d3ef71ab9d1aabf97c573078b0e752196c00ed8c3a
16824 SIRENUSDT Apr 1
f52246e9787d6f9e92eeab2dd7541756c573c02891e1aa42cfbef5dbc996f457
16825 WETUSDT Apr 1
497031b5693697321783247ff698e9939a779df14d7f11032f313bfd2dab1e5c
16826 CUSDT Mar 31
9d3fe540ce6761f03441ec1def4c778f6b9578e670f00892ab715022731b7581
16827 BTCUSDT Mar 30
268ff9d0a23d7213a7612764860026075e5657f7563306d793f7d5efd9ec5b0f
16828 WIFUSDT Mar 27
01bd329cafab6bbc4e90719efff47afcd8f41d84db01cb2df87080143c4293cf
16829 BTCUSDT Mar 26
c3e3ab3f2aa3905f0063358ae65082cf5a6981c2ca1d4b8190b32da23ab7f57d
16830 RENDERUSDT Mar 24
e6b155f062f9dbfac326d4c134016004297171007abe42cb76f2a3f1de52b172
16831 BTCUSDT Mar 21
77f31467af36098d2fa3bf2a6ab30bc12404b1a217ff67924e46d0875bd1ddb9
16832 QUSDT Mar 20
2197057065dd0b99ade537f6084622a94ee0193e39ba5e1c4398e4433b207353
16833 SYNUSDT Mar 19
d63b1f855ee9c6d260f4f471fb0b652f4006775946572eede4439529f48eabd9
16834 SIRENUSDT Mar 18
76403c1748f5add6e39acf9ba2f61d450dfe5cf00808b9d822c404cf7b427081
16835 DRIFTUSDT Mar 16
6a9cd402fc9f99a60f7ec7f6d98e32ccbbb412b97f7c370b4c5c8866b9c21f22
16836 TRUMPUSDT Mar 13
fa3fd232fb5246779ec75ff3abe50dab56f92561889740dcb12059610fc84457
16837 SFPUSDT Mar 11
4a3ea229f3008a480ea8639b953d370ab9f969b06541425e4998f25c8258d6db
16838 USUSDT Mar 10
7916022d32747126a1ec2ae839204c21de6612fbd07659bd241fbe5f28d2578f
16839 ROBOUSDT Mar 6
1bdf162bbc2458f105f562ed61fd3d4ba3551147bd346bbbcd8c7872b8430cb9
16840 BTCUSDT Mar 5
33c27cb4001dd6c2a343c331c330c74dd726e94e0e35cbe38562167a24b67fa0
16841 SKYUSDT Mar 5
6c957cf18ad4653594b9ca84d5c7f38a354e9e9dc3596f9b915c66a9134745ed
16842 BTCUSDT Mar 5
0560b736656bae228a5ce8f0d7461584c3969180ed398f7029f2808f8bc88646
16843 JSTUSDT Mar 4
2cb6007d3d358648a9884a7e28f062e635c34fd8e698779f8c2ce1c8895c6c4c
16844 AIXBTUSDT Mar 4
0c5b6e5ca513f9d79b5243a86ed34705d54efeef0ac5874c59159ce76b585dab
16845 BTCUSDT Mar 3
542e3ae552aaa40b024e2af2c6c08309e503f426d54acfb8abd55266909ae6fa
16846 SAHARAUSDT Mar 3
e10ee2c4c06bf2971c2de6ddc4978c83c194f87d2812c03a3433c0802fe39283
16847 SIRENUSDT Mar 3
3ad3d990d87d83966d2436a5fc68f1add17eb5c55df9556e632fb28f34b0aed9
16848 ETHUSDT Mar 2
1d3ba01b837f0154354783d3baf02ade76cdd7f949e27aaf6d5b24cba190cc24
16849 BTCUSDT Feb 27
b31f32f35d947b37a31a73cffeb6d85d39bc1e146c00476533f0058ad0026463
16850 2ZUSDT Feb 27
c44264955c29b2d095ad86f1e615464f55163c5b252276c67fb8a11e4cfa779d
16851 ETHUSDT Feb 26
9c9ff58e39dfff7c15e7171436b24f79ad160f5c9d0dae15fd5113081f5439b0
16852 SYRUPUSDT Feb 26
f43e5f1ca376dbf737274f977bce05523c6bc9d07c3a420ad5ac9b0160660ce7
16853 FIGHTUSDT Feb 25
51dd31aeb7e8174c7a133311303a1577c91a714483b69f26edb935eda7d1bc08
16854 PIEVERSEUSDT Feb 25
1970a818766bfc592ad40f2f8a5e6c92868594578978235b4e02265da43e90ca
16855 BULLAUSDT Feb 24
e408489af6890fd8a4be973e6e8d93d745bea9cdc003cc09493ea02cccddd1eb
16856 BULLAUSDT Feb 24
28653500cc669fb747d05906ddfd86805bfa8e3b24951485ffb722c4885b46ae
16857 ETHUSDT Feb 23
9c3f5b63d2c393a2398ba37dc2aa41a2fdc9cba73d8e21094f612c673fa53529
16858 BTCUSDT Feb 23
1f9c520bcc1f3c2fe5a7cffa7689ce4d3e10af5cc364f9aa5555dddf96e40f0a
16859 FILUSDT Feb 21
bed50868abf5c8c983989f058957e226f8ff0c2934c48f6a7620e20606552b84
16860 BTCUSDT Feb 16
97b5949a9118cc49eacafdc5d9ad94cab325b69d1d09e351a0d53c351e1def57
16861 BTCUSDT Feb 13
337bc9a291dceeef92512d9b773b0c7fec6ce52da5ea627d38cd93238417438c
16862 WETUSDT Feb 13
4ee103a10cae5a09f468b3c03a8b8ef0c243be2b900ad29e74d007eb7aee5e76
16863 MONUSDT Feb 13
903d3eb29dea3fd3d34e1a65e5303ac1048d28da080a128b81c7367d5749581b
16864 BASUSDT Feb 12
58e466edf5b3693c10a92c1d4808517ea2b6325a923e7c12666d9c4700141912
16865 BANKUSDT Feb 12
39f0ad33a16a46f36b35d529e7889d43302ac29f0274e898b434b082264f8635
16866 SONICUSDT Feb 11
00113d19ab9947b984c47c9969b085746fe430cf514d95d6725f32d16b80ad09
16867 CYSUSDT Feb 11
64d48f204dff10b9de4bcf207e4432753c274d6f9c337735f7ccdadb77a1ec1b
16868 BTCUSDT Feb 10
6c60b47d7f9c5926ae263acc01b90d9b2c6407b60195d67bd29a8e315b8a83c4
16869 INXUSDT Feb 10
9163fac42e47e371f60bc13ded82b093301099da99ca92c95bdf3913c9e30650
16870 DOGEUSDT Feb 9
6f7d659855bee2262dd0cb227206b008eed497ba887833cea4a83502fdab002b
16871 AWEUSDT Feb 9
26399c1448d06e6e567be4c92371df01fc0b8cad7ecde7882ad6df51ab075a0d
16872 BTCUSDT Feb 6
78c69da8eeda2cdda953135048c2f52fbceadd70109ca0c17cf86e8b5c18c860
16873 ETHUSDT Feb 6
6cc340787e25061daca5c59c233d713fd9af52daef3c5a590147441a4dff3c66
16874 BTCUSDT Feb 5
991a42cc25acb5bb9a8753bcf182f8b697db8dc28897a4ba7bae2e1b1b8676bd
16875 ETHUSDT Feb 5
04628218655c589d6b96108cb1a67855baa05b20bb6b148d0bb2c241922388bf
16876 CVXUSDT Feb 4
8c4ff4c4ae04fb2d41cd7c8b5491d7986e754600991abcb8ab1b4d3c7da70ab0
16877 UBUSDT Feb 3
895bf5b30023791140a4c8c34cffa3179fd03bd533b0059002941dfd2c68f2b3
16878 MORPHOUSDT Feb 3
e44bc9f624093759ad80c34a37a208029c96f2c4b10b469ae58fb052c666d413
16879 BTCUSDT Feb 2
6caef748f8565365bf5bdcb5f2c8570e1c2db2e4cf68f4d23edeedc0bff2619d
16880 FORMUSDT Jan 30
30480f87ebc7cbdfd66afa5f92bba8eb5260492dcee99f42b46df9520333cd18
16881 PARTIUSDT Jan 29
9eb98c197685b92da85e7e1b249fe429e8219be19d40430dd11aa35fb97acd41
16882 AIXBTUSDT Jan 28
6edd5041fae683e747afbf98fc6a37cc611f20c8ded6eed498ce5c2d57a9a307
16883 PIPPINUSDT Jan 26
a1a654de73381e55337e329a8159573f3bfffa38866dd68674ea5a48ed1c37ee
16884 LINKUSDT Jan 23
6e2fc385b821f2fcf3601cbe25f4ef909fbcdea3309c04c5d1f9131bb2a82921
16885 CLOUSDT Jan 22
6132e9bdbb2915678e274aeb493fe642d3d3704b822bff13eb1467f86d142e9a
16886 AVNTUSDT Jan 21
6450410f81e100aa9e9d2b0b2d1dc593abc95728a764f1d4a4628de40e518c6d
16887 ARPAUSDT Jan 20
35bd0b7eaa791a1df062bb79a1d38e8315074d56c63f2dfcba989f02fb1ed892
16888 PARTIUSDT Jan 19
4b768c9aeacd392d24b15b86235b33def3f21da5b3b148f9eb6085177a05634f
16889 MAGICUSDT Jan 16
964fa8435f91f50b90a3291bcccca977750b632d5f9181779506960f4d57eb70
16890 COMMONUSDT Jan 15
56e289f434dda9287c7079ea16452079e5a4bdeb661310d5034459fafcd14cff
16891 ICNTUSDT Jan 14
10ee0e5eb3f602121a65cd391850d9115b5f5bdbdabc7740b9155718115ef2b4
16892 BTCUSDT Jan 13
4fc46b51b20f1231e10b1e67c05be4273f567677cbc9e3e0239050e172ba66bd
16893 DOLOUSDT Jan 13
5dc10b91ac6d494beaa762dd87686d39fcac02754ec67c5b9633e8f7e811af9e
16894 ETHUSDT Jan 12
a2784440252a8d1fdb69c265e1f7b39ff163c3455d05cf3b2c1416a5d2c04128
16895 BARDUSDT Jan 12
85f3ec5e941aeb152f44c618f1ad678fd0a2993a1761de246fc1cb40e890ee89
16896 MOVEUSDT Jan 9
d5b050a490305e716e1573e283856f1f9944fdbec37e907fbde9033a5b3d9900
16897 PIPPINUSDT Jan 9
33b28d80cbeb3e675d91106ad6ee4aa6bb4e441a5c5a6c3de792774b339dcf78
16898 BATUSDT Jan 8
b000290f13fb66c180be4fecf41143d1112a226f194360aa8dfb0128e7798412
16899 GLMUSDT Jan 8
a0e6f4296a5bd7637db6c827840dacedc6360c15f3a456a778b0ab4d00bb3dfa

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