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-ELBFH36I
Content hash
e6205d42425e8cb1f9244ab23f527b987da4a33a2ad1dc2de04512246386fe02
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
0x62a0cd004c5339228930b701ee65c24dbe19be820b2cc0f1f52b007719ae3517

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
    0xe8e188d66a8196143b91d124a3212956efb21d4cc06f284e370d3cdc5270cd2e
    0xc89973c53140d0d2118c2c03dd51536e3d546d0b2e4e6a4f63dbfdc8cc75d30f
  2. Step 2, combined with the value after it
    0xe5e095b267ae0746353a19d3491113890970ede62be3fcf50b3fd366b09c6d60
    0x2b68bd6b5bbfd613fb4b6e577cf7432b5e3b6532528a42e8753648dfca00420b
  3. Step 3, combined with the value before it
    0xf5ca5212eb7b386f27b278faba727e8f416dfa75b2e3165fb1980386ef538f84
    0x787621a4178b6e49933122f88a9ce82eac89c191e91b57f0fa099d31def8f00b
  4. Step 4, combined with the value after it
    0xfb1af2902d2398d75ebcddae6fd629a2a64746c29c4a7449e07bad3292332261
    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":"mayahale","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"OpenAI just announced Dots today. ","type":"text"}],"type":"paragraph"},{"content":[{"…

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

    Should print e6205d42425e8cb1f9244ab23f527b987da4a33a2ad1dc2de04512246386fe02

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

    Should print 62a0cd004c5339228930b701ee65c24dbe19be820b2cc0f1f52b007719ae3517

  3. 3. Combine step 1

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

    printf '01%s%s' "62a0cd004c5339228930b701ee65c24dbe19be820b2cc0f1f52b007719ae3517" "e8e188d66a8196143b91d124a3212956efb21d4cc06f284e370d3cdc5270cd2e" | xxd -r -p | shasum -a 256

    Should print c89973c53140d0d2118c2c03dd51536e3d546d0b2e4e6a4f63dbfdc8cc75d30f

  4. 4. Combine step 2

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

    printf '01%s%s' "c89973c53140d0d2118c2c03dd51536e3d546d0b2e4e6a4f63dbfdc8cc75d30f" "e5e095b267ae0746353a19d3491113890970ede62be3fcf50b3fd366b09c6d60" | xxd -r -p | shasum -a 256

    Should print 2b68bd6b5bbfd613fb4b6e577cf7432b5e3b6532528a42e8753648dfca00420b

  5. 5. Combine step 3

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

    printf '01%s%s' "f5ca5212eb7b386f27b278faba727e8f416dfa75b2e3165fb1980386ef538f84" "2b68bd6b5bbfd613fb4b6e577cf7432b5e3b6532528a42e8753648dfca00420b" | xxd -r -p | shasum -a 256

    Should print 787621a4178b6e49933122f88a9ce82eac89c191e91b57f0fa099d31def8f00b

  6. 6. Combine step 4

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

    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