Verified on BaseThis article has not changed since Vitahash recorded it on the Base blockchain. Everything below can be checked without taking our word for any of it.
Stamp ID STAMP-2026-0921-XFJP55WW Content hash 047c45d5e148532d9b360ed2aa6534ba9166bbf7a1465cc5389a55488a1b3048 Articles recorded that day 17 Attestation UID 0x1f213f55bd670a855ae8b0870fc67759ee11c02ef4667cb86d3970e0edbd0eb8 View on EAS Transaction 0xe4d0221e56b55109b987db243cd4023fc0a1f16f550d08d3f92dcde459962b57 View on Basescan Recorded on Base using canonicalization v2 and record format v1.
How this article reaches the blockchain It was combined with the other 16 articles published that day, one step at a time, until the whole day became a single value. That one value is what Vitahash wrote to the blockchain. Change a single character of this article and the starting value below changes, so none of the steps would land on the recorded one.
Starting value for this article 0x4a991384c3dca059b219a527f7b89bce8b08829acf3636ca827aa183be79fbc6 Built from this article's content hash and its stamp ID, as sha256(0x00 || sha256(utf8(stampId)) || contentHash).
Step 1, combined with the value before it 0xf271b64fc210636385c01dbd3bab2d078da224bf117f53b787242db14fb6bf49 0xece1a6c70b419b7b237cc3a6b40cfd92ef16ef8d9549e9f047ee074700090499 Step 2, combined with the value after it 0xc0536d4873d92afc49a6c0ec48ebfeef6aa47369c5295bc2f020a0271d200053 0x80f80b2a96d9650a38aebc68813999957c360068d0e11c8e962ce9d17923b6d6 Step 3, combined with the value before it 0x529f26fd25c09a4ed5215072598f03f4b1a2f7e78c790864275f21cb0dc72486 0xaa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db Step 4, combined with the value before it 0x0eca22b26d0db70c42dae0cb682df52b3837567a10d18bbf2462382e322043e2 0xecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248 Step 5, combined with the value after it 0xc7e683881a4958e97b0fb8413d4370ce39396ec6307425e2078cc2e56c2cdcc8 0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae This is the value for the whole day.
Value these steps arrive at 0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae What the blockchain says Two values, reached two different ways. The one above was worked out from this article. The one below was read back from the record on Base.
Worked out from this article 0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae They are the same value, so this article was published that day with exactly the text above.
Check it yourself Every number on this page came from Vitahash. Copy the article's exact text below and check it against the hash above, using any SHA-256 tool.
The exact text is not available for this article right now. The command below still reaches it.
For a technical reader: the terminal route1. Hash the article yourself This downloads the exact text Vitahash hashed, in the exact form it hashed it, and hashes it again on your machine. Nothing Vitahash wrote runs here.
curl -s "https://api.vitahash.org/api/verify/STAMP-2026-0921-XFJP55WW/canonical" | shasum -a 256Should print 047c45d5e148532d9b360ed2aa6534ba9166bbf7a1465cc5389a55488a1b3048
2. Build this article's starting value The stamp ID is folded in with the hash, so one article's record can never stand in for another's.
STAMP=STAMP-2026-0921-XFJP55WW
CONTENT=047c45d5e148532d9b360ed2aa6534ba9166bbf7a1465cc5389a55488a1b3048
DIGEST=$(printf '%s' "$STAMP" | shasum -a 256 | cut -d' ' -f1)
printf '00%s%s' "$DIGEST" "$CONTENT" | xxd -r -p | shasum -a 256Should print 4a991384c3dca059b219a527f7b89bce8b08829acf3636ca827aa183be79fbc6
3. Combine step 1 The published value goes first, then the value you have.
printf '01%s%s' "f271b64fc210636385c01dbd3bab2d078da224bf117f53b787242db14fb6bf49" "4a991384c3dca059b219a527f7b89bce8b08829acf3636ca827aa183be79fbc6" | xxd -r -p | shasum -a 256Should print ece1a6c70b419b7b237cc3a6b40cfd92ef16ef8d9549e9f047ee074700090499
4. Combine step 2 The value you have goes first, then the published value.
printf '01%s%s' "ece1a6c70b419b7b237cc3a6b40cfd92ef16ef8d9549e9f047ee074700090499" "c0536d4873d92afc49a6c0ec48ebfeef6aa47369c5295bc2f020a0271d200053" | xxd -r -p | shasum -a 256Should print 80f80b2a96d9650a38aebc68813999957c360068d0e11c8e962ce9d17923b6d6
5. Combine step 3 The published value goes first, then the value you have.
printf '01%s%s' "529f26fd25c09a4ed5215072598f03f4b1a2f7e78c790864275f21cb0dc72486" "80f80b2a96d9650a38aebc68813999957c360068d0e11c8e962ce9d17923b6d6" | xxd -r -p | shasum -a 256Should print aa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db
6. Combine step 4 The published value goes first, then the value you have.
printf '01%s%s' "0eca22b26d0db70c42dae0cb682df52b3837567a10d18bbf2462382e322043e2" "aa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db" | xxd -r -p | shasum -a 256Should print ecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248
7. Combine step 5 The value you have goes first, then the published value.
printf '01%s%s' "ecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248" "c7e683881a4958e97b0fb8413d4370ce39396ec6307425e2078cc2e56c2cdcc8" | xxd -r -p | shasum -a 256Should print f36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae
8. Compare with the blockchain The last value above is what the whole day came to. Read the record on Base and check its merkleRoot field is the same. Vitahash is not involved in this step at all.
https://base.easscan.org/attestation/view/0x1f213f55bd670a855ae8b0870fc67759ee11c02ef4667cb86d3970e0edbd0eb8The rules these commands follow are written down in full, so anyone can reimplement them.
Read the specification