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-1020-QJTYMQQX
Content hash
2580ba31d2fcc2e2d393418c353b1a5028d27ad093a46c4e59acc54c18a6fbdd
Day recorded
2026-10-20
Articles recorded that day
16
Attestation UID
0x93d64f817aa96872c3a5248b96e9c91608399a50c8c4273adfbf62f971f167ec
View on EAS
Transaction
0x9fe633b4d4a34f5e6242b3cf0ff45c83ab4a7ecc11a1084cc69f42989b8ac574
View on Basescan
Stamped
20 Oct 2026

Recorded on Base using canonicalization v2 and record format v1.

How this article reaches the blockchain

It was combined with the other 15 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
0x4d4bbdcc391b84cc75aceddb9f928c2542f4d6e7a1faaa1f457feaba9eb7488d

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
    0xcb8b7025b6afeb9a78a97274c7d4239b65fa18a0bea9dc7a8a5d141de2b14327
    0xdaccea809f85220cf64a539ffcb89c113770b1f439896e5383431d477bec5705
  2. Step 2, combined with the value before it
    0x80ebec7dcfc596d8eb1534d20375cb4aa3c139e560701937d5fec00dfc04a3f3
    0xf3be809cdf5733ebea51ecabf9ecf4d61367fe96551c26a144de6d12d32654ab
  3. Step 3, combined with the value before it
    0x1b1d6b5965ba3f053b565702de105e1a846917dc966ade12819956414699c508
    0x2ec43559cf0e122de80e61aaaf34716e108cca54701d2013b438a0a9f93c5af5
  4. Step 4, combined with the value before it
    0x6200cf6d055554851ed81c34e9916b3887bc3f64e1abeda6bd3f37592300c9a2
    0x9022c784ca2a1d3863d7e5472e41a5d2867f0f68e6e21431763247963c30caef

    This is the value for the whole day.

Value these steps arrive at
0x9022c784ca2a1d3863d7e5472e41a5d2867f0f68e6e21431763247963c30caef

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
0x9022c784ca2a1d3863d7e5472e41a5d2867f0f68e6e21431763247963c30caef
Read from Base
0x9022c784ca2a1d3863d7e5472e41a5d2867f0f68e6e21431763247963c30caef
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":"Drkrittanawong","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"GLP-1 (glucagon-like peptide-1) is a hormone your gut releases after you eat.","…

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

    Should print 2580ba31d2fcc2e2d393418c353b1a5028d27ad093a46c4e59acc54c18a6fbdd

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

    Should print 4d4bbdcc391b84cc75aceddb9f928c2542f4d6e7a1faaa1f457feaba9eb7488d

  3. 3. Combine step 1

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

    printf '01%s%s' "cb8b7025b6afeb9a78a97274c7d4239b65fa18a0bea9dc7a8a5d141de2b14327" "4d4bbdcc391b84cc75aceddb9f928c2542f4d6e7a1faaa1f457feaba9eb7488d" | xxd -r -p | shasum -a 256

    Should print daccea809f85220cf64a539ffcb89c113770b1f439896e5383431d477bec5705

  4. 4. Combine step 2

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

    printf '01%s%s' "80ebec7dcfc596d8eb1534d20375cb4aa3c139e560701937d5fec00dfc04a3f3" "daccea809f85220cf64a539ffcb89c113770b1f439896e5383431d477bec5705" | xxd -r -p | shasum -a 256

    Should print f3be809cdf5733ebea51ecabf9ecf4d61367fe96551c26a144de6d12d32654ab

  5. 5. Combine step 3

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

    printf '01%s%s' "1b1d6b5965ba3f053b565702de105e1a846917dc966ade12819956414699c508" "f3be809cdf5733ebea51ecabf9ecf4d61367fe96551c26a144de6d12d32654ab" | xxd -r -p | shasum -a 256

    Should print 2ec43559cf0e122de80e61aaaf34716e108cca54701d2013b438a0a9f93c5af5

  6. 6. Combine step 4

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

    printf '01%s%s' "6200cf6d055554851ed81c34e9916b3887bc3f64e1abeda6bd3f37592300c9a2" "2ec43559cf0e122de80e61aaaf34716e108cca54701d2013b438a0a9f93c5af5" | xxd -r -p | shasum -a 256

    Should print 9022c784ca2a1d3863d7e5472e41a5d2867f0f68e6e21431763247963c30caef

  7. 7. 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/0x93d64f817aa96872c3a5248b96e9c91608399a50c8c4273adfbf62f971f167ec

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

Read the specification