Witness Overview

Solenoid Witness is a cryptographic notary API that signs JSON logs with Ed25519 and delivers tamper-evident receipts to your S3 storage.

You submit logs, we sign and sequence them, and push receipts to your bucket. Witness never stores your data.

What makes Witness different

  • Ed25519 signatures — faster, deterministic, misuse-resistant
  • Append-only chain structure — each receipt links to previous
  • S3 delivery — logs go to YOUR storage, not ours
  • Stateless verification — all proof data embedded in receipt
  • Compliance firewall — prove logs existed and weren’t altered
  • Never lose a log — purgatory buffer if S3 unavailable

Capabilities

  • Notarize JSON logs — submit any JSON object for cryptographic timestamping
  • Configure S3 storage — deliver receipts to your own S3-compatible bucket (AWS, R2, MinIO)
  • Verify receipts — server-side verification endpoint or client-side HTML verifier
  • Get public key — download Ed25519 public key for offline verification
  • Purgatory fallback — receipts buffered in R2 if your S3 is unavailable

Use cases

  • Compliance timestamping — prove when events occurred with signed receipts
  • Immutable audit trails — tamper-evident logs for security and regulatory needs
  • Data integrity — detect unauthorized modifications through chain verification
  • Regulatory compliance — meet requirements for tamper-proof logging (GDPR, HIPAA, SOC2)
  • Third-party auditing — auditors can verify receipts independently with public key

How it works

  1. Initialize your chain — call POST /v1/witness/sys/init to generate an Ed25519 keypair
  2. Submit JSON log — call POST /v1/witness/log with any JSON object
  3. Receive signed receipt — get back a receipt with Ed25519 signature and chain hash
  4. Receipt delivered to S3 — automatically pushed to your configured bucket
  5. Verify anytime — verify receipts server-side or client-side, online or offline

Pricing

Notarization costs 1 credit per log. Verification and public key retrieval are free.

  • POST /v1/witness/log — 1 credit
  • POST /v1/witness/sys/init — 1 credit (one-time)
  • POST /v1/witness/config — free
  • POST /v1/witness/verify — free
  • GET /v1/witness/pubkey/:chainId — free, and public: :chainId is the chain_id init returns, so a verifier needs no account here

See Pricing for tier details.

Next steps