Skip to content
Wesprs

Published audit roots

The recent daily Merkle roots of the audit log — and how to check them yourself.

Each entry is one UTC day: the BLAKE3 Merkle root over that day's audit events, the two chain links binding it to its neighbours, and an ed25519 signature.

Machine-readable feed · GET https://api.wesprs.com/v1/transparency/audit-roots

  • 2026-06-09

    50 events
    Merkle root
    f312daab18b902ace2cdd55e64674d1ba2df619362f1a0ff9b37e8a5b367414d
    Inbound link (= previous day's tip)
    0000000000000000000000000000000000000000000000000000000000000000
    Outbound link (= next day's inbound)
    081c85dd5b788987943d2be3580ee4f032a5aa27875892aa354d1f16e5115b24
    ed25519 signature
    6111917f2dd6347d22f0761df821daea26d929b5923e7ba930369980156c31c7847fb0f54195ed23e2883559f3b19d4ef22f889d2a65e0456457a1ebb9632209
    Signed at
    2026-06-10T04:40:54.804+00:00
    Signing-key version
    1
  • 2026-06-08

    0 events
    Merkle root
    2d3adedff11b61f14c886e35afa036736dcd87a74d27b5c1510225d0f592e213
    Inbound link (= previous day's tip)
    0000000000000000000000000000000000000000000000000000000000000000
    Outbound link (= next day's inbound)
    0000000000000000000000000000000000000000000000000000000000000000
    ed25519 signature
    095938b35431ee2d3624195c1b024a6cf5c866171f906d8ac6f98f1ffddfb429addbacf2c944de84dd0d68d777d8b0fddfcf23f0bf22a7aae8700d6b32888e0c
    Signed at
    2026-06-09T04:47:56.143+00:00
    Signing-key version
    1

How to verify

  1. Fetch the published roots from the feed above — from and to are YYYY-MM-DD (UTC); both are optional and default to yesterday.
  2. For each day, recompute the bucket commitment: BLAKE3 over 0x04 || merkle_root || genesis_prev_hash || bucket_tip_hash (raw bytes, in that order).
  3. Verify the ed25519 signature over that commitment against the verifying public key for the listed key version. Key publication begins at launch, alongside the first signed root, on this page.
  4. Chain the days: each day's inbound link must equal the previous day's outbound link. A rewritten or deleted day breaks the chain — visibly, from the feed alone.

What the feed alone proves: the log existed in exactly this shape when each root was signed, and nothing published has been altered since. Recomputing a root from the underlying events is part of the independent audits we will commission — the events themselves are never public.

Latest root