Anchoring addresses
Terpasset commits each register document it keeps to Ethereum as a salted SHA-256 hash. The hashes are batched, and one fingerprint per batch (a Merkle root) is published in a transaction sent from a Terpasset anchoring address. Nothing personal is stored on Ethereum.
A proof bundle names the address that published its batch, but it cannot vouch for that address itself. This page is the independent record: check the address in a proof bundle against the list below.
Production
Ethereum mainnet · chain ID 1
No production anchoring address yet. It will be listed here, with the date from which it is valid, before the first anchor on Ethereum mainnet.
Test network
Ethereum Sepolia · chain ID 11155111
Test data only. Anchors on this network have no legal effect.
- Address
- 0x25fb3b0EcD00d11d96631A61f629F9698161A127
- Valid from
- First anchor
- 0x3bd8d9328d5dcaa6b2a87d98b371c76c57a0e776339d6a4339bed8c2f754e815block 12052500
Key rotation
When an anchoring key is rotated, a new address is added here with the date from which it is valid. Earlier addresses stay listed, because the batches they signed remain verifiable against them.
How to verify by hand
You need the document, its proof bundle (from the issuer or the holder) and a block explorer or any Ethereum node.
- Open the transaction named in the proof bundle on a block explorer for the right network.
- Check that both From and To are an address listed on this page for that network.
- View the input data as UTF-8. It starts with
TERPANCHOR, followed by a version byte (0x01). The 32 bytes after the version byte are the Merkle root. - Recompute the commitment as SHA-256 of the salt followed by the file, and check it against the bundle. Hash it into a leaf (SHA-256 of
0x00followed by the commitment), then combine it with each proof hash in turn (SHA-256 of0x01followed by the two hashes in ascending order). The result must equal the root in the transaction.
Terpasset also has a standalone verifier script that runs all of these checks against any Ethereum node.
What an anchor proves
An anchor proves that these exact bytes existed, and were committed by Terpasset's anchoring address, no later than the time of the block that contains the transaction. If a single byte of the document changes, verification fails.
An anchor does not prove that the document is legally valid, that its contents are correct, or that it belongs to the register of a given company. Those rest on Terpasset's attestation as register keeper. The anchor makes that attestation tamper-evident.
Last updated: 3 November 2026