Verify

Verified on Base

This 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-0920-SHHPIZCV
Content hash
b410abad575d60e1b14fa976e238973a48cc68b22281b6f68a06278bc12140bc
Day recorded
2026-09-21
Articles recorded that day
19
Attestation UID
0x8b3c2fd36a922edc6b9b5df7a32564ad6b8254e5e4d73310406d45385ea13aef
View on EAS
Transaction
0x7487c62e52e4f2f9b08c668465c50f1ad9bf79791f45570457388f46bcdbb8aa
View on Basescan
Stamped
22 Sept 2026

Recorded on Base using canonicalization v2 and record format v1.

How this article reaches the blockchain

It was combined with the other 18 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
0x9bfd9ec9db4e0e07e7c365bf8bdab8d5fb0b233938b106d540f1ece65eb72059

Built from this article's content hash and its stamp ID, as sha256(0x00 || sha256(utf8(stampId)) || contentHash).

  1. Step 1, combined with the value after it
    0xf5b11c82b51a0226432674ed8fe9345173acc5d41b30e4a805865a6efcd2ef46
    0xc3915aee40cebb54643aeeb08072263467d9cb4f28394989eb357ecd904df4f9
  2. Step 2, combined with the value after it
    0x3750d385d09a19e5b93990028017c32fa15e92b70ab31cd9ef2544cbca452dab
    0x479b684ee12945e233cef1268197f35a57a7b3bbb30e0d62c1d038c6ca0deae1
  3. Step 3, combined with the value before it
    0x0c4283a6fd6aee23d00d563d952abc54cb028b62bffcfdcb96ce75e381a8ff07
    0xa65919732d1594acc9afb550ed2ce10e8bf96a42ea9b49984733673443822e5e
  4. Step 4, combined with the value before it
    0x6e74ab88876a58402acac210af008b9f1012f01a329a0a8a206ba9a146828ecc
    0x2e6ebaca17a3bf1331e377895837d2a1ed000ada39219e6311b1166e1f7b9603
  5. Step 5, combined with the value after it
    0x9ea770e708ff5a992ebbe1dc432ce6a573002e55cb9a4793a315029f9ce7b7ec
    0x86fe5b1cd501a45cbc53b8151487586f6954bc5f77a2874f0eb0602698444b31

    This is the value for the whole day.

Value these steps arrive at
0x86fe5b1cd501a45cbc53b8151487586f6954bc5f77a2874f0eb0602698444b31

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
0x86fe5b1cd501a45cbc53b8151487586f6954bc5f77a2874f0eb0602698444b31
Read from Base
0x86fe5b1cd501a45cbc53b8151487586f6954bc5f77a2874f0eb0602698444b31
Read it yourself on EAS

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.

{"abstract":null,"agreement":false,"authors":[{"identity":"RoboNextGen","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"Chris Smith says he developed a romantic relationship with a customized ChatGPT per…

Copy this text, paste it into any SHA-256 tool, and compare the result with the hash shown above. If the two match, this is exactly what Vitahash recorded.

For a technical reader: the terminal route
  1. 1. 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-0920-SHHPIZCV/canonical" | shasum -a 256

    Should print b410abad575d60e1b14fa976e238973a48cc68b22281b6f68a06278bc12140bc

  2. 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-0920-SHHPIZCV CONTENT=b410abad575d60e1b14fa976e238973a48cc68b22281b6f68a06278bc12140bc DIGEST=$(printf '%s' "$STAMP" | shasum -a 256 | cut -d' ' -f1) printf '00%s%s' "$DIGEST" "$CONTENT" | xxd -r -p | shasum -a 256

    Should print 9bfd9ec9db4e0e07e7c365bf8bdab8d5fb0b233938b106d540f1ece65eb72059

  3. 3. Combine step 1

    The value you have goes first, then the published value.

    printf '01%s%s' "9bfd9ec9db4e0e07e7c365bf8bdab8d5fb0b233938b106d540f1ece65eb72059" "f5b11c82b51a0226432674ed8fe9345173acc5d41b30e4a805865a6efcd2ef46" | xxd -r -p | shasum -a 256

    Should print c3915aee40cebb54643aeeb08072263467d9cb4f28394989eb357ecd904df4f9

  4. 4. Combine step 2

    The value you have goes first, then the published value.

    printf '01%s%s' "c3915aee40cebb54643aeeb08072263467d9cb4f28394989eb357ecd904df4f9" "3750d385d09a19e5b93990028017c32fa15e92b70ab31cd9ef2544cbca452dab" | xxd -r -p | shasum -a 256

    Should print 479b684ee12945e233cef1268197f35a57a7b3bbb30e0d62c1d038c6ca0deae1

  5. 5. Combine step 3

    The published value goes first, then the value you have.

    printf '01%s%s' "0c4283a6fd6aee23d00d563d952abc54cb028b62bffcfdcb96ce75e381a8ff07" "479b684ee12945e233cef1268197f35a57a7b3bbb30e0d62c1d038c6ca0deae1" | xxd -r -p | shasum -a 256

    Should print a65919732d1594acc9afb550ed2ce10e8bf96a42ea9b49984733673443822e5e

  6. 6. Combine step 4

    The published value goes first, then the value you have.

    printf '01%s%s' "6e74ab88876a58402acac210af008b9f1012f01a329a0a8a206ba9a146828ecc" "a65919732d1594acc9afb550ed2ce10e8bf96a42ea9b49984733673443822e5e" | xxd -r -p | shasum -a 256

    Should print 2e6ebaca17a3bf1331e377895837d2a1ed000ada39219e6311b1166e1f7b9603

  7. 7. Combine step 5

    The value you have goes first, then the published value.

    printf '01%s%s' "2e6ebaca17a3bf1331e377895837d2a1ed000ada39219e6311b1166e1f7b9603" "9ea770e708ff5a992ebbe1dc432ce6a573002e55cb9a4793a315029f9ce7b7ec" | xxd -r -p | shasum -a 256

    Should print 86fe5b1cd501a45cbc53b8151487586f6954bc5f77a2874f0eb0602698444b31

  8. 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/0x8b3c2fd36a922edc6b9b5df7a32564ad6b8254e5e4d73310406d45385ea13aef

The rules these commands follow are written down in full, so anyone can reimplement them.

Read the specification