Home
Home/Event Ledger
Ed25519 signaturesSHA-256 hashes8 SDKs
Status
Sign inStart free
Home
Product · Event Ledger

A signed ledger for events that get questioned.

Approvals, consents, transfers, policy changes. Post the event when it happens and Invoance hashes it, signs it, and stores it where it cannot be edited. Later, anyone holding the payload can confirm it matches.

Start freeRead the docs
sha-256 · 3a352297…2592
sha-256 · 280d7e4e…e1a9
An event ledger, livePOST /v1/events
acme.com · event ledgerLive
5 events · signatures valid · append-only
What you sendAPI reference
event_typeYour name for the event, up to 128 characters
payloadAny JSON, up to 64 KB
event_timeOptional. When it happened in your system
trace_idOptional. Attach the event to a trace
Idempotency-KeyHeader. Makes retries safe
import { InvoanceClient } from "invoance";

const client = new InvoanceClient();

const result = await client.events.ingest({
  eventType: "policy.approval",
  payload: {
    policy_id: "pol_8472",
    approved_by: "risk_committee",
    decision: "approved",
  },
});
console.log(result.event_id);
What you get
  • A payload hash computed over canonical JSON, so key order never changes the result.
  • An Ed25519 signature from your organization's key.
  • A verify endpoint that takes a payload or a hash and returns match or no match.
  • A public proof page per event, showing the issuer's verified domain.
Where teams use it

Approvals and sign-offs

Who approved what, and when, with a record that cannot be backdated.

Consent and policy acceptance

The exact terms version a user accepted.

Money movement

Transfers, limit changes and overrides that auditors sample.

How it worksFull mechanism
  1. Post the event

    From your backend, at the moment the action happens.

  2. Canonicalize and hash

    The payload is normalized to canonical JSON and hashed with SHA-256.

  3. Sign and append

    A worker signs the canonical bytes with your Ed25519 key and inserts the row. Deletes are blocked at the database.

  4. Verify any time

    Submit the payload or its hash. The response says whether it matches what was anchored.

Questions
Do you store the payload?
Yes, with its hash and signature, so the record can be read back and verified. If you only want to prove a file without sharing it, use Document Anchoring, which can work from a hash alone.
Can an event be deleted?
Not through the API. Rows past your plan's retention are sealed from read endpoints but stay verifiable.
What if we send the same event twice?
Send an Idempotency-Key. A repeat with the same key returns the original response and writes nothing new.

Send your first record.

Free on the Developer plan.

Start freeOpen the verifier
Other productsView all

Audit Logs

Open

AI Attestation

Open

Document Anchoring

Open

Traces

Open

Verified documents and records. Invoance records the exact version of every invoice, report and notice your company sends, so the people who receive them can confirm they have the version you sent, without taking your word for it.

Products

  • Evidence Rooms
  • Audit Logs
  • Event Ledger
  • AI Attestation
  • Document Anchoring
  • Traces

Developers

  • Documentation
  • API reference
  • SDKs
  • How it works
  • How traces seal
  • System status

Verify

  • Audit Log
  • Event
  • AI Attestation
  • Document
  • Trace

Company

  • Company overview
  • What is Invoance
  • Pricing
  • Security
  • Compliance teams
  • Finance teams
  • Partners
  • Brand assets
  • Resources
  • Help center
  • Contact
© 2025 – 2026 Invoance, Inc. All rights reserved.© 2026 Invoance, Inc. All rights reserved.
PrivacyLegal noticeLegal FAQ