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-0922-6V46SMGY
Content hash
797b63dfb16ebe01fc470a96714e5a56945e790e85cecda4bcee213388f10379
Day recorded
2026-09-23
Articles recorded that day
19
Attestation UID
0x312f5bdaee9c1cd4c9c9e451ce2d932f82aa65985854eb05f9075f80314e1b63
View on EAS
Transaction
0x54b4b79e498e2ec45d4be92b4c1c5b8f94b2c646cefaf982166895ba22ef85c1
View on Basescan
Stamped
23 Sept 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
0xc58c6e6daf3f02b9d203b5a5c383b7b06b7f92fb5a3213f2738e5293821cde4a

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
    0xc50ee8cd25b883da6ebab772b66a0d01e771b1fb9780b3253f3befc05bf32e59
    0x29663d5cbac46f11005ce1e26e46533f33b487bc9e355638c960bf1b7855c205
  2. Step 2, combined with the value before it
    0xa748e82a617478f047116b988a268d33cedc40471a8ba59519691e44871a597f
    0xee984bb7ff48aefe9c7e7da82ba0b8ae598afa7819c7fa982c47be37f5613bd4
  3. Step 3, combined with the value after it
    0x5ab3ad9ad20d8452ad1e5c597bfd6bccb3211f321fdd780431011cbfc90f1194
    0x4be71e2b9fb83530c4a209f1bd3a792d9708748cfb7d4c6d07cad2bb9b0f9854
  4. Step 4, combined with the value after it
    0x3faa6df09366d7ee5ff95f70459f23ca502d10650176da7c4b4541197f2214d3
    0xe63d808641c9100111b6b6585a9ed386e34c5f36ce79c50f14b6aaf0618b12fe
  5. Step 5, combined with the value after it
    0x7a88f62292afb2658d20a5063a2b18d13343fa8e26ae33cb4daa3b0a0c688944
    0x08de2d0ad5fb90d3e053eb878d60fbda4d2fb97afd72ecdf81de0214801fd41d

    This is the value for the whole day.

Value these steps arrive at
0x08de2d0ad5fb90d3e053eb878d60fbda4d2fb97afd72ecdf81de0214801fd41d

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
0x08de2d0ad5fb90d3e053eb878d60fbda4d2fb97afd72ecdf81de0214801fd41d
Read from Base
0x08de2d0ad5fb90d3e053eb878d60fbda4d2fb97afd72ecdf81de0214801fd41d
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":"France is seriously underrated. There are countless beautiful towns, stunning coastlin…

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-0922-6V46SMGY/canonical" | shasum -a 256

    Should print 797b63dfb16ebe01fc470a96714e5a56945e790e85cecda4bcee213388f10379

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

    Should print c58c6e6daf3f02b9d203b5a5c383b7b06b7f92fb5a3213f2738e5293821cde4a

  3. 3. Combine step 1

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

    printf '01%s%s' "c58c6e6daf3f02b9d203b5a5c383b7b06b7f92fb5a3213f2738e5293821cde4a" "c50ee8cd25b883da6ebab772b66a0d01e771b1fb9780b3253f3befc05bf32e59" | xxd -r -p | shasum -a 256

    Should print 29663d5cbac46f11005ce1e26e46533f33b487bc9e355638c960bf1b7855c205

  4. 4. Combine step 2

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

    printf '01%s%s' "a748e82a617478f047116b988a268d33cedc40471a8ba59519691e44871a597f" "29663d5cbac46f11005ce1e26e46533f33b487bc9e355638c960bf1b7855c205" | xxd -r -p | shasum -a 256

    Should print ee984bb7ff48aefe9c7e7da82ba0b8ae598afa7819c7fa982c47be37f5613bd4

  5. 5. Combine step 3

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

    printf '01%s%s' "ee984bb7ff48aefe9c7e7da82ba0b8ae598afa7819c7fa982c47be37f5613bd4" "5ab3ad9ad20d8452ad1e5c597bfd6bccb3211f321fdd780431011cbfc90f1194" | xxd -r -p | shasum -a 256

    Should print 4be71e2b9fb83530c4a209f1bd3a792d9708748cfb7d4c6d07cad2bb9b0f9854

  6. 6. Combine step 4

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

    printf '01%s%s' "4be71e2b9fb83530c4a209f1bd3a792d9708748cfb7d4c6d07cad2bb9b0f9854" "3faa6df09366d7ee5ff95f70459f23ca502d10650176da7c4b4541197f2214d3" | xxd -r -p | shasum -a 256

    Should print e63d808641c9100111b6b6585a9ed386e34c5f36ce79c50f14b6aaf0618b12fe

  7. 7. Combine step 5

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

    printf '01%s%s' "e63d808641c9100111b6b6585a9ed386e34c5f36ce79c50f14b6aaf0618b12fe" "7a88f62292afb2658d20a5063a2b18d13343fa8e26ae33cb4daa3b0a0c688944" | xxd -r -p | shasum -a 256

    Should print 08de2d0ad5fb90d3e053eb878d60fbda4d2fb97afd72ecdf81de0214801fd41d

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

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

Read the specification