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-1111-A33VVHYS
Content hash
c2495eff43b26f180fbbd0e2ae4ba3426c470845669c75ad50f05246e74b3329
Day recorded
2026-11-12
Articles recorded that day
15
Attestation UID
0x50df2185cbd58d5b68be055315d8f5c260e9b17207dbc4621c1524ac4626c138
View on EAS
Transaction
0xd4a23bc461e1d791b33a3b4653e1538ca74bb7141080be8314018ef8dbe86970
View on Basescan
Stamped
12 Nov 2026

Recorded on Base using canonicalization v2 and record format v1.

How this article reaches the blockchain

It was combined with the other 14 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
0xb558633ae960d4143c522dbef916ec80bd072f8a9ef21787f8537328da2be2ee

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 before it
    0x83c9226b38ad7a28f4fe9e7a3f609596fb1c6f563b64add1eb9ae273ede99dd0
    0x6f89b61aad0cd8c446769fcff8a6c7022af8007792ee33367936d6f318351a42
  2. Step 2, combined with the value before it
    0x8375f9b0ac27d96fb958596c86b31c7351fd51a552ed0cd1fc3fe1ddf73848be
    0xfcc436d080a03757ddc359e2c9337252110ebe374f3c62d0b882eacf3c53f959
  3. Step 3, combined with the value before it
    0x9f80ca6a1730975994751930c29f9713eb46565001391df91c82e9eca82666e0
    0xda3c1e21a060ff4b04daac50eff2f35dc1e9a4d7abd1ab04390e3c753c37169d
  4. Step 4, combined with the value after it
    0xc5de4ed408e416d7a81b8b4dd7000cca42760dc99871d9dc13715f36f8b0cf2f
    0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

    This is the value for the whole day.

Value these steps arrive at
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

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
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6
Read from Base
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6
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":"ThePetTales","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"Dogs and cats may have different personalities, but that doesn't mean they can't be…

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-1111-A33VVHYS/canonical" | shasum -a 256

    Should print c2495eff43b26f180fbbd0e2ae4ba3426c470845669c75ad50f05246e74b3329

  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-1111-A33VVHYS CONTENT=c2495eff43b26f180fbbd0e2ae4ba3426c470845669c75ad50f05246e74b3329 DIGEST=$(printf '%s' "$STAMP" | shasum -a 256 | cut -d' ' -f1) printf '00%s%s' "$DIGEST" "$CONTENT" | xxd -r -p | shasum -a 256

    Should print b558633ae960d4143c522dbef916ec80bd072f8a9ef21787f8537328da2be2ee

  3. 3. Combine step 1

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

    printf '01%s%s' "83c9226b38ad7a28f4fe9e7a3f609596fb1c6f563b64add1eb9ae273ede99dd0" "b558633ae960d4143c522dbef916ec80bd072f8a9ef21787f8537328da2be2ee" | xxd -r -p | shasum -a 256

    Should print 6f89b61aad0cd8c446769fcff8a6c7022af8007792ee33367936d6f318351a42

  4. 4. Combine step 2

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

    printf '01%s%s' "8375f9b0ac27d96fb958596c86b31c7351fd51a552ed0cd1fc3fe1ddf73848be" "6f89b61aad0cd8c446769fcff8a6c7022af8007792ee33367936d6f318351a42" | xxd -r -p | shasum -a 256

    Should print fcc436d080a03757ddc359e2c9337252110ebe374f3c62d0b882eacf3c53f959

  5. 5. Combine step 3

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

    printf '01%s%s' "9f80ca6a1730975994751930c29f9713eb46565001391df91c82e9eca82666e0" "fcc436d080a03757ddc359e2c9337252110ebe374f3c62d0b882eacf3c53f959" | xxd -r -p | shasum -a 256

    Should print da3c1e21a060ff4b04daac50eff2f35dc1e9a4d7abd1ab04390e3c753c37169d

  6. 6. Combine step 4

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

    printf '01%s%s' "da3c1e21a060ff4b04daac50eff2f35dc1e9a4d7abd1ab04390e3c753c37169d" "c5de4ed408e416d7a81b8b4dd7000cca42760dc99871d9dc13715f36f8b0cf2f" | xxd -r -p | shasum -a 256

    Should print 35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

  7. 7. 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/0x50df2185cbd58d5b68be055315d8f5c260e9b17207dbc4621c1524ac4626c138

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

Read the specification