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-1003-5NKA2HQZ
Content hash
be63dda771adbb382dca727dd4d5c50cc7543607ca3ab9b764224a8571b1f140
Day recorded
2026-10-04
Articles recorded that day
18
Attestation UID
0xf6e9fba3ba6b1c6c69752bbc92919500502fb2928b7ae486ffe947b18c4abd7b
View on EAS
Transaction
0x22ca88a7c468bd5db1e7c0a5557a5c96ef85c6db922f1c80cc3508747dd1824d
View on Basescan
Stamped
4 Oct 2026

Recorded on Base using canonicalization v2 and record format v1.

How this article reaches the blockchain

It was combined with the other 17 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
0xf3e2d6345e3642ccb6d18b309fa799ddf6735a92e592d52e614b94ec4a2fd6a9

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
    0x0bfa52f9a3d737e03777bd8359151d5089a4e7d785bc27af0e9f128345af710f
    0x13349a7286666f1081ab7c52ca5dbe504d659ee6a894709564167ec9baa618ab
  2. Step 2, combined with the value before it
    0x442c545db4530226e0a400b97a04e5b6cdf2307d443e82b6aeb1e7eefe2a71aa
    0x1426adf9cdea7551753aa7000f5a5b1697ae9f9b7b5735753c8e43ffc00383bc
  3. Step 3, combined with the value after it
    0xf7ed38dff2e0b8832c63ffcd8af5e7c62b165861ba079ff29dd735f628be6845
    0xf06af4023575444307257bc7eb7d2206954e59673b7705a6aaa0edbad5a1fdef
  4. Step 4, combined with the value after it
    0x6084880ccb9031ec74fb9ebfcad8c7d373e8fe72a594da8699dcaec3990083df
    0x88a50bebd7946b0333cbc87ec0a580bef54324b77b7c68c0b3e83aede9bf5b95
  5. Step 5, combined with the value after it
    0x216bda84faad1a65f88feb948ad35688f37f31cccf0507ab5ad4a533c3656efc
    0x08e365db5235a29439034a399eb9251c1f4830b35051a287fee77ba91b9fcbe1

    This is the value for the whole day.

Value these steps arrive at
0x08e365db5235a29439034a399eb9251c1f4830b35051a287fee77ba91b9fcbe1

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
0x08e365db5235a29439034a399eb9251c1f4830b35051a287fee77ba91b9fcbe1
Read from Base
0x08e365db5235a29439034a399eb9251c1f4830b35051a287fee77ba91b9fcbe1
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":"iSpace","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"Robot Rolls","type":"text"}],"type":"paragraph"}],"type":"doc"},"disclosures":null,"keyw…

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-1003-5NKA2HQZ/canonical" | shasum -a 256

    Should print be63dda771adbb382dca727dd4d5c50cc7543607ca3ab9b764224a8571b1f140

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

    Should print f3e2d6345e3642ccb6d18b309fa799ddf6735a92e592d52e614b94ec4a2fd6a9

  3. 3. Combine step 1

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

    printf '01%s%s' "f3e2d6345e3642ccb6d18b309fa799ddf6735a92e592d52e614b94ec4a2fd6a9" "0bfa52f9a3d737e03777bd8359151d5089a4e7d785bc27af0e9f128345af710f" | xxd -r -p | shasum -a 256

    Should print 13349a7286666f1081ab7c52ca5dbe504d659ee6a894709564167ec9baa618ab

  4. 4. Combine step 2

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

    printf '01%s%s' "442c545db4530226e0a400b97a04e5b6cdf2307d443e82b6aeb1e7eefe2a71aa" "13349a7286666f1081ab7c52ca5dbe504d659ee6a894709564167ec9baa618ab" | xxd -r -p | shasum -a 256

    Should print 1426adf9cdea7551753aa7000f5a5b1697ae9f9b7b5735753c8e43ffc00383bc

  5. 5. Combine step 3

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

    printf '01%s%s' "1426adf9cdea7551753aa7000f5a5b1697ae9f9b7b5735753c8e43ffc00383bc" "f7ed38dff2e0b8832c63ffcd8af5e7c62b165861ba079ff29dd735f628be6845" | xxd -r -p | shasum -a 256

    Should print f06af4023575444307257bc7eb7d2206954e59673b7705a6aaa0edbad5a1fdef

  6. 6. Combine step 4

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

    printf '01%s%s' "f06af4023575444307257bc7eb7d2206954e59673b7705a6aaa0edbad5a1fdef" "6084880ccb9031ec74fb9ebfcad8c7d373e8fe72a594da8699dcaec3990083df" | xxd -r -p | shasum -a 256

    Should print 88a50bebd7946b0333cbc87ec0a580bef54324b77b7c68c0b3e83aede9bf5b95

  7. 7. Combine step 5

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

    printf '01%s%s' "88a50bebd7946b0333cbc87ec0a580bef54324b77b7c68c0b3e83aede9bf5b95" "216bda84faad1a65f88feb948ad35688f37f31cccf0507ab5ad4a533c3656efc" | xxd -r -p | shasum -a 256

    Should print 08e365db5235a29439034a399eb9251c1f4830b35051a287fee77ba91b9fcbe1

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

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

Read the specification