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-1108-LN37YVEE
Content hash
8f92865cc1315dccfbbc920ea8adf44bbe44ce6df45e1b99c8522bd2d8603173
Day recorded
2026-11-09
Articles recorded that day
15
Attestation UID
0x1bb2e246680a04397b432d223734470d6ce47b75c89b35e7f7092df08b007c08
View on EAS
Transaction
0x0d6604a01395a1e7bd8141dba86ad9a0243b7713d0e2512c8cebfca881037e5e
View on Basescan
Stamped
9 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
0x83cab518103877bd7596f95604a9a5566f1a30faed9673a5bf2693f567fb18f1

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
    0xb91a2863cc733664a32612bc23b6cac3876e99e83486371554916c4d92c51023
    0x564651c4dc2f4601d0b060f22de8a7a7d26c78bb8bd911ead78e906b8f3936c7
  2. Step 2, combined with the value after it
    0xd7cffab730ba042877eb912418691fc1c3e183d141e09cb4f7d7081e3921c4eb
    0x6bc06dc72f5dc6d837df8cbcc2c35176ccce2cb8cbb648535c1f024ba8451202
  3. Step 3, combined with the value after it
    0xb8c26df3d7b683d96a49bbe0af969b9e1e10031344d6320b33b8604fda53571c
    0x48bb8d36bc9e4989e1abd7db5b8019afde13c7ba60804c888de69b70b630cfd7
  4. Step 4, combined with the value before it
    0x1af48d2f24d3b4525281700797451b50c58cc07806552eb1cc2e7d2dd141b158
    0x633ebd26ef3198219cdb8a14837c36de2d43289e37d57c1b0e4544bfc4cc76dd

    This is the value for the whole day.

Value these steps arrive at
0x633ebd26ef3198219cdb8a14837c36de2d43289e37d57c1b0e4544bfc4cc76dd

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
0x633ebd26ef3198219cdb8a14837c36de2d43289e37d57c1b0e4544bfc4cc76dd
Read from Base
0x633ebd26ef3198219cdb8a14837c36de2d43289e37d57c1b0e4544bfc4cc76dd
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":"poweredbyplants","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"You don't need cow's milk to get enough calcium! Many plant-based milks, includ…

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-1108-LN37YVEE/canonical" | shasum -a 256

    Should print 8f92865cc1315dccfbbc920ea8adf44bbe44ce6df45e1b99c8522bd2d8603173

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

    Should print 83cab518103877bd7596f95604a9a5566f1a30faed9673a5bf2693f567fb18f1

  3. 3. Combine step 1

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

    printf '01%s%s' "83cab518103877bd7596f95604a9a5566f1a30faed9673a5bf2693f567fb18f1" "b91a2863cc733664a32612bc23b6cac3876e99e83486371554916c4d92c51023" | xxd -r -p | shasum -a 256

    Should print 564651c4dc2f4601d0b060f22de8a7a7d26c78bb8bd911ead78e906b8f3936c7

  4. 4. Combine step 2

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

    printf '01%s%s' "564651c4dc2f4601d0b060f22de8a7a7d26c78bb8bd911ead78e906b8f3936c7" "d7cffab730ba042877eb912418691fc1c3e183d141e09cb4f7d7081e3921c4eb" | xxd -r -p | shasum -a 256

    Should print 6bc06dc72f5dc6d837df8cbcc2c35176ccce2cb8cbb648535c1f024ba8451202

  5. 5. Combine step 3

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

    printf '01%s%s' "6bc06dc72f5dc6d837df8cbcc2c35176ccce2cb8cbb648535c1f024ba8451202" "b8c26df3d7b683d96a49bbe0af969b9e1e10031344d6320b33b8604fda53571c" | xxd -r -p | shasum -a 256

    Should print 48bb8d36bc9e4989e1abd7db5b8019afde13c7ba60804c888de69b70b630cfd7

  6. 6. Combine step 4

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

    printf '01%s%s' "1af48d2f24d3b4525281700797451b50c58cc07806552eb1cc2e7d2dd141b158" "48bb8d36bc9e4989e1abd7db5b8019afde13c7ba60804c888de69b70b630cfd7" | xxd -r -p | shasum -a 256

    Should print 633ebd26ef3198219cdb8a14837c36de2d43289e37d57c1b0e4544bfc4cc76dd

  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/0x1bb2e246680a04397b432d223734470d6ce47b75c89b35e7f7092df08b007c08

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

Read the specification