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.
An event ledger, live
Live
What you sendAPI reference
event_type | Your name for the event, up to 128 characters |
|---|---|
| payload | Any JSON, up to 64 KB |
event_time | Optional. When it happened in your system |
trace_id | Optional. Attach the event to a trace |
| Idempotency-Key | Header. 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
Post the event
From your backend, at the moment the action happens.
Canonicalize and hash
The payload is normalized to canonical JSON and hashed with SHA-256.
Sign and append
A worker signs the canonical bytes with your Ed25519 key and inserts the row. Deletes are blocked at the database.
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.
Other productsView all