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-0930-R34YZ3EP
Content hash
b31f4d194f285ef41a1b1e49456f58a3b5f07dd1f0ee0da624864802c6d1df7d
Day recorded
2026-10-01
Articles recorded that day
19
Attestation UID
0x603b46532a7efbd9420f294207f0abcd39e475cccc5bcbbe0e361a4bb85dbbbe
View on EAS
Transaction
0x542521066dc4058a3602b27ff9baa48863be20de6eaa6baaadb6df2c602e64ab
View on Basescan
Stamped
2 Oct 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
0x46c625022f701da7d0d07312ff7d3876d165946c39d763c45928a653f03ededc

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
    0x7f401f10bc4085964fec8fcdac6139ad7dc19e422a0432ae8380ed1fd701659e
    0x15bd0976a38c505000ec69b07c7a7f55b0ba1587b63563f9e890e0da18783d52
  2. Step 2, combined with the value before it
    0xdd704ca8ebc5e03232745b32b3e97c5e04d609fd07c73a8852b720c90d272ecd
    0x0ab328c5b83176bf187c863d77c2c89688477cf558273880911733051b6287cc
  3. Step 3, combined with the value after it
    0x2e082d1aa420cbd652c110cda0f521687c258392077db5dbf470140edb847c34
    0xfb1af2902d2398d75ebcddae6fd629a2a64746c29c4a7449e07bad3292332261
  4. Step 4, combined with the value before it
    0x787621a4178b6e49933122f88a9ce82eac89c191e91b57f0fa099d31def8f00b
    0xa572e1caf0ceea7eeefbfdc95285c283f2e0c69a76251d97d02813de8af7832b
  5. Step 5, combined with the value after it
    0xcf24b85b1c54001ae98242451fdf6ac7d16199d8241d31c4592832adbcb4f53c
    0x20f71ac084da418fd1d5b2ebebba09656abbfd62201c9e167d4ca5a15ba514be

    This is the value for the whole day.

Value these steps arrive at
0x20f71ac084da418fd1d5b2ebebba09656abbfd62201c9e167d4ca5a15ba514be

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
0x20f71ac084da418fd1d5b2ebebba09656abbfd62201c9e167d4ca5a15ba514be
Read from Base
0x20f71ac084da418fd1d5b2ebebba09656abbfd62201c9e167d4ca5a15ba514be
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":"No energy to cook? Try a “throw-it-together” vegan dinner:","type":"text"}],"ty…

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-0930-R34YZ3EP/canonical" | shasum -a 256

    Should print b31f4d194f285ef41a1b1e49456f58a3b5f07dd1f0ee0da624864802c6d1df7d

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

    Should print 46c625022f701da7d0d07312ff7d3876d165946c39d763c45928a653f03ededc

  3. 3. Combine step 1

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

    printf '01%s%s' "46c625022f701da7d0d07312ff7d3876d165946c39d763c45928a653f03ededc" "7f401f10bc4085964fec8fcdac6139ad7dc19e422a0432ae8380ed1fd701659e" | xxd -r -p | shasum -a 256

    Should print 15bd0976a38c505000ec69b07c7a7f55b0ba1587b63563f9e890e0da18783d52

  4. 4. Combine step 2

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

    printf '01%s%s' "dd704ca8ebc5e03232745b32b3e97c5e04d609fd07c73a8852b720c90d272ecd" "15bd0976a38c505000ec69b07c7a7f55b0ba1587b63563f9e890e0da18783d52" | xxd -r -p | shasum -a 256

    Should print 0ab328c5b83176bf187c863d77c2c89688477cf558273880911733051b6287cc

  5. 5. Combine step 3

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

    printf '01%s%s' "0ab328c5b83176bf187c863d77c2c89688477cf558273880911733051b6287cc" "2e082d1aa420cbd652c110cda0f521687c258392077db5dbf470140edb847c34" | xxd -r -p | shasum -a 256

    Should print fb1af2902d2398d75ebcddae6fd629a2a64746c29c4a7449e07bad3292332261

  6. 6. Combine step 4

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

    printf '01%s%s' "787621a4178b6e49933122f88a9ce82eac89c191e91b57f0fa099d31def8f00b" "fb1af2902d2398d75ebcddae6fd629a2a64746c29c4a7449e07bad3292332261" | xxd -r -p | shasum -a 256

    Should print a572e1caf0ceea7eeefbfdc95285c283f2e0c69a76251d97d02813de8af7832b

  7. 7. Combine step 5

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

    printf '01%s%s' "a572e1caf0ceea7eeefbfdc95285c283f2e0c69a76251d97d02813de8af7832b" "cf24b85b1c54001ae98242451fdf6ac7d16199d8241d31c4592832adbcb4f53c" | xxd -r -p | shasum -a 256

    Should print 20f71ac084da418fd1d5b2ebebba09656abbfd62201c9e167d4ca5a15ba514be

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

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

Read the specification