Attestation Station

  • Name: Attestation Station (ATST)
  • URL: https://github.com/ethereum-optimism/optimism-starter/blob/main/attestation-station.md
  • Category: minimal attestation registry / onchain key-value claims store / Optimism identity primitive
  • Tags: ethereum-ecosystem
  • Summary: Attestation Station is a bare claims log. It stores creator / subject / key / value, lets anyone write, and leaves schema discipline, issuer filtering, indexing, and trust interpretation to everything around it. Useful floor case, nothing more.
  • What it does:
    • Stores attestations in a three-level mapping keyed by creator, subject (about), and bytes32 key
    • Lets any caller write a single attestation or batch multiple attestations in one transaction
    • Treats the attested payload as arbitrary bytes, so the contract does not enforce a shared schema format
    • Emits an AttestationCreated event for each write, making external indexing and interpretation straightforward
    • Provides a lightweight SDK / CLI / hackathon-oriented integration surface in Optimism’s starter materials
    • Encourages ecosystem-specific keys, conventions, and indexers rather than embedding resolver logic or issuer governance onchain
  • Key claims:
    • The official Optimism starter docs describe Attestation Station as being “as simple as possible,” which is the main reason to keep it: it is minimal claims infrastructure, not a full identity stack.
    • Every record is just Creator, About, Key, and Val. That makes the note useful because it shows the lower bound underneath richer attestation systems.
    • The reviewed contract stores data in mapping(address => mapping(address => mapping(bytes32 => bytes))), so the base layer only tracks who said something, about whom, under which key, with what raw bytes.
    • Anyone can call attest, and batching is supported. Issuer admission is therefore open at the contract layer; trust filtering happens elsewhere.
    • The contract has no schema registry, resolver hook, native revocation system, or issuer allowlist. That absence is the point.
    • Writes overwrite the same creator/about/key slot, so this behaves more like a mutable namespaced claim store than an immutable credential ledger.
    • The starter materials surface SDK, CLI, and indexer tooling, which reinforces the real model: many downstream readers, not one canonical frontend.
  • Whitepaper: No standalone Attestation Station whitepaper or litepaper surfaced in this pass. The strongest primary materials were the official Optimism starter documentation and the reviewed contract source collected in ../../whitepapers/attestation-station-primary-sources-2026-05-11.md.
  • Sources:

Internal linkages

Practical control points

  • Control is mostly outside the contract: key naming conventions, issuer allowlists, indexer policy, and which readers decide a given creator / subject / key / value tuple means anything.

  • That is why the note is worth keeping. It shows how much of attestation infrastructure usually lives outside the contract.

  • Last reviewed: 2026-06-13 UTC