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-0921-SME62IVQ
Content hash
8003bc9f2d6e19b0f143b19a1eb070d03f018687adf8a3b5f233b901410141b4
Day recorded
2026-09-22
Articles recorded that day
17
Attestation UID
0x1f213f55bd670a855ae8b0870fc67759ee11c02ef4667cb86d3970e0edbd0eb8
View on EAS
Transaction
0xe4d0221e56b55109b987db243cd4023fc0a1f16f550d08d3f92dcde459962b57
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 16 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
0x97cb31258ca16e07bfcb2ffe6a755c8da13562e96a037af55c0ce2e6dd13ffab

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
    0x46d15a87b79988e28eb928038460b5b381ebc51081feca1ff40b6fcc2a0bbd62
    0xadf811045d10464654046d7aae645ea7eb816236ceb3d3a22f5c538e4f12be12
  2. Step 2, combined with the value before it
    0x56583b90b8647a8653b73460371858d47492910a8549c6a56c0b1d4eab275138
    0x529f26fd25c09a4ed5215072598f03f4b1a2f7e78c790864275f21cb0dc72486
  3. Step 3, combined with the value after it
    0x80f80b2a96d9650a38aebc68813999957c360068d0e11c8e962ce9d17923b6d6
    0xaa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db
  4. Step 4, combined with the value before it
    0x0eca22b26d0db70c42dae0cb682df52b3837567a10d18bbf2462382e322043e2
    0xecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248
  5. Step 5, combined with the value after it
    0xc7e683881a4958e97b0fb8413d4370ce39396ec6307425e2078cc2e56c2cdcc8
    0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae

    This is the value for the whole day.

Value these steps arrive at
0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae

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
0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae
Read from Base
0xf36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae
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":"Has anyone started using ","type":"text"},{"marks":[{"type":"bold"}],"text":"Muse","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-0921-SME62IVQ/canonical" | shasum -a 256

    Should print 8003bc9f2d6e19b0f143b19a1eb070d03f018687adf8a3b5f233b901410141b4

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

    Should print 97cb31258ca16e07bfcb2ffe6a755c8da13562e96a037af55c0ce2e6dd13ffab

  3. 3. Combine step 1

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

    printf '01%s%s' "46d15a87b79988e28eb928038460b5b381ebc51081feca1ff40b6fcc2a0bbd62" "97cb31258ca16e07bfcb2ffe6a755c8da13562e96a037af55c0ce2e6dd13ffab" | xxd -r -p | shasum -a 256

    Should print adf811045d10464654046d7aae645ea7eb816236ceb3d3a22f5c538e4f12be12

  4. 4. Combine step 2

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

    printf '01%s%s' "56583b90b8647a8653b73460371858d47492910a8549c6a56c0b1d4eab275138" "adf811045d10464654046d7aae645ea7eb816236ceb3d3a22f5c538e4f12be12" | xxd -r -p | shasum -a 256

    Should print 529f26fd25c09a4ed5215072598f03f4b1a2f7e78c790864275f21cb0dc72486

  5. 5. Combine step 3

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

    printf '01%s%s' "529f26fd25c09a4ed5215072598f03f4b1a2f7e78c790864275f21cb0dc72486" "80f80b2a96d9650a38aebc68813999957c360068d0e11c8e962ce9d17923b6d6" | xxd -r -p | shasum -a 256

    Should print aa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db

  6. 6. Combine step 4

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

    printf '01%s%s' "0eca22b26d0db70c42dae0cb682df52b3837567a10d18bbf2462382e322043e2" "aa31964092c5a622211e75a067e0a32f54c3b3084584ac01ae79b4d7e82943db" | xxd -r -p | shasum -a 256

    Should print ecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248

  7. 7. Combine step 5

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

    printf '01%s%s' "ecd2ef55fbb24edea8bd5bc2eb5728a495d728bc26b616121ed7132f32678248" "c7e683881a4958e97b0fb8413d4370ce39396ec6307425e2078cc2e56c2cdcc8" | xxd -r -p | shasum -a 256

    Should print f36382898b35edd4c52ff783e6706cfa388193f7a151e26f06bb88aef136e7ae

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

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

Read the specification