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-1111-GL2TUBYA
Content hash
25e3fddf488e6b2e88cba310a6d484538a79f48fc3e505dab78b09148f80972e
Day recorded
2026-11-12
Articles recorded that day
15
Attestation UID
0x50df2185cbd58d5b68be055315d8f5c260e9b17207dbc4621c1524ac4626c138
View on EAS
Transaction
0xd4a23bc461e1d791b33a3b4653e1538ca74bb7141080be8314018ef8dbe86970
View on Basescan
Stamped
12 Nov 2026

Recorded on Base using canonicalization v2 and record format v1.

How this article reaches the blockchain

It was combined with the other 14 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
0x1d0e1a26f557b912ba14e350925f306fa16c2748ab595206479b74326c8aebcf

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
    0xc4573d87b10b6194c860f7836cf50cb242a079227af6c3ed2abe0fd7b733ee97
    0xda6d44be033b05d46ce1174191dd1ac74093edf3a7af83cf2b12bcb47f9d700a
  2. Step 2, combined with the value before it
    0x6321a97af39331895e22b5905c3f124b8be134e3ca789fd91450c3802dde9636
    0xc9e184e5d9d1b347f46433983f46b9e06271fee911245c912d21da0da05ef609
  3. Step 3, combined with the value after it
    0x1672442efede6984a0ae8d802dfa83b2783295b54dea76973154590f1cbc0d18
    0xc5de4ed408e416d7a81b8b4dd7000cca42760dc99871d9dc13715f36f8b0cf2f
  4. Step 4, combined with the value before it
    0xda3c1e21a060ff4b04daac50eff2f35dc1e9a4d7abd1ab04390e3c753c37169d
    0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

    This is the value for the whole day.

Value these steps arrive at
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

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
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6
Read from Base
0x35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6
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":"NYCUnlocked","position":1,"role":"solo","weight":1.0000}],"body":{"content":[{"content":[{"text":"Looking for something fun to do in NYC? Visit Color Factory, an interactive art exp…

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

    Should print 25e3fddf488e6b2e88cba310a6d484538a79f48fc3e505dab78b09148f80972e

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

    Should print 1d0e1a26f557b912ba14e350925f306fa16c2748ab595206479b74326c8aebcf

  3. 3. Combine step 1

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

    printf '01%s%s' "1d0e1a26f557b912ba14e350925f306fa16c2748ab595206479b74326c8aebcf" "c4573d87b10b6194c860f7836cf50cb242a079227af6c3ed2abe0fd7b733ee97" | xxd -r -p | shasum -a 256

    Should print da6d44be033b05d46ce1174191dd1ac74093edf3a7af83cf2b12bcb47f9d700a

  4. 4. Combine step 2

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

    printf '01%s%s' "6321a97af39331895e22b5905c3f124b8be134e3ca789fd91450c3802dde9636" "da6d44be033b05d46ce1174191dd1ac74093edf3a7af83cf2b12bcb47f9d700a" | xxd -r -p | shasum -a 256

    Should print c9e184e5d9d1b347f46433983f46b9e06271fee911245c912d21da0da05ef609

  5. 5. Combine step 3

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

    printf '01%s%s' "c9e184e5d9d1b347f46433983f46b9e06271fee911245c912d21da0da05ef609" "1672442efede6984a0ae8d802dfa83b2783295b54dea76973154590f1cbc0d18" | xxd -r -p | shasum -a 256

    Should print c5de4ed408e416d7a81b8b4dd7000cca42760dc99871d9dc13715f36f8b0cf2f

  6. 6. Combine step 4

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

    printf '01%s%s' "da3c1e21a060ff4b04daac50eff2f35dc1e9a4d7abd1ab04390e3c753c37169d" "c5de4ed408e416d7a81b8b4dd7000cca42760dc99871d9dc13715f36f8b0cf2f" | xxd -r -p | shasum -a 256

    Should print 35ded4f6e28244e45970a3984b9900865960b4129277e98b1165cec8d30d7ea6

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

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

Read the specification