Dashboard
Public accounting / transparency view. All figures below are derived from chain state plus the published snapshot, never from operator-asserted numbers.
Vended vs remaining
Claim transactions spend only through the claim path: a valid proof releases the committed entitlement and marks the credential nullifier spent.
Snapshot status
Current root and snapshot_version pinned on chain. The full snapshot and solvency derivation are published for independent rebuilds.
| Hashed credential C | Entitlement | Status | Destination + tx id if claimed |
|---|
Governance log
Reverse-chronological record of root commits, drains, migrations, pauses, amount, time, and signer set.
Governance
The only privileged authority is the M-of-N multisig. No single party can move custody or change governance state. Reference services are permissionless and replaceable.
Signer set + threshold
Threshold: 3-of-5. The fake key fingerprints below are for prototype display only.
Governance powers
Each card opens a simulated proposal, signature collection, and execution flow. Execution plays the governance-action animation.
Commit / replace snapshot root
constrainedRequires threshold plus append-only/monotone, solvency-bounded, publicly reproducible root commit checks.
Drain / move custody
unconstrainedGovernance may move custody to any destination for upgrade, migration, or emergency. Public accounting is the check.
Deploy successor + migrate
successorDeploys a successor instance with a new verifying key, carries spent-state forward, and conserves total value.
Set / extend deadline
extend-onlyDefault is no deadline. Governance may set or extend a deadline, never shorten it toward victims.
Emergency pause / resume
no funds movedHalts the claim path while a flaw is fixed, then governance can resume or migrate.
Verifying key
lockedThe verifying key is an immutable script parameter. It is not governance-mutable. A circuit change requires a successor + migration.
Pending proposals
Prototype list of proposals collecting signatures.
Snapshot
The eligibility snapshot is built off-chain from breach data, published in full, and committed on chain as root + snapshot_version. Anyone can rebuild the tree and verify solvency.
Breach data
Compromised credential C plus entitlement.
- C: hashed credential
- ADA entitlement
- native-token entitlement
Leaves
H(0x00 || C || entitlement || snapshot_version)
- Domain-separated leaf
- Version-bound
- No identity revealed
Merkle tree
Fixed-depth 14 tree. Prototype hashing is simulated.
Root + version
Pinned on chain as an immutable parameter / reference input for the committed snapshot.
Build & preview
Editable prototype rows. Build computes a mock root, per-asset totals, and a solvency verdict.
| Credential C | ADA | MIN | BOOK |
|---|
How it works
Technical walkthrough of the operator, governance, snapshot, and accounting mechanism. The victim proof flow is summarized only because it is out of scope for this page.
Snapshot creation: off-chain and reproducible
Take breach data: compromised credentials C and entitlements. Each leaf is H(0x00 || C || entitlement || snapshot_version). Build a fixed-depth 14 Merkle tree and publish the full snapshot plus a solvency derivation. Anyone can rebuild it and check the root.
Root commit: governance path
The M-of-N multisig proposes committing (root, snapshot_version) on chain. The on-chain check enforces threshold, append-only/monotone replacement, and solvency-bounded entitlement. The verifying key remains immutable.
Custody funding
The recovered ADA and tokens are locked at the Plutus V3 contract and sharded across UTxOs so one circuit or setup failure cannot drain the whole pool.
Claim path: victim flow summarized
A valid commitment-aware Groth16 proof bound to a destination D releases exactly the committed entitlement to D and marks the credential nullifier spent so it cannot be claimed twice.
Governance path
Governance can drain custody to any destination, commit constrained snapshot roots, deploy a successor and migrate with spent-state carry-forward and value conservation, set or extend a deadline, and pause or resume the claim path.
Accounting: open indexer
The indexer reads custody UTxOs, claim transactions, nullifier/spent-map entries, governance transactions, and the published snapshot. It derives custody, vended, remaining, solvency, per-credential status, and the governance log.
Trust model: custodial, publicly accountable
Governance can drain, so this is not cryptographic non-custody. Accountability rests on public reproducible accounting and the reputational weight of the M-of-N signer set. The dashboard is the check, not a decorative feature.
Claim path
Victim proof accepted → entitlement released to chosen fresh address → nullifier marked spent → dashboard shows claimed status by hashed credential C.
Governance path
M-of-N accepted → constrained root commit or unconstrained drain / migration / deadline / pause → dashboard log records amount, time, and signer set.
Requirements
Operator-role product requirements in plain English and EARS notation.
Plain English
- Privileged actions require an M-of-N multisig threshold; no single party can move custody or change governance state.
- Governance can commit/replace the eligibility snapshot root, but only if the new root is append-only/monotone, solvency-bounded (Σ committed entitlement ≤ actual custody per asset), and publicly reproducible.
- Governance can drain/move custody to any destination (unconstrained) for upgrades, migration, or emergencies.
- Governance can deploy a successor contract and migrate, carrying the spent-state accumulator forward and conserving total value, so already-redeemed credentials stay redeemed.
- Governance can set or extend a claim deadline (extend-only); by default there is no deadline and claims stay open indefinitely.
- Governance can pause the claim path (without draining) to halt claims while a flaw is fixed, and resume or migrate afterward.
- The verifying key is an immutable parameter and is not governance-mutable.
- The eligibility snapshot is a fixed-depth Merkle tree over (credential C, entitlement) leaves, published with an independently-reproducible solvency derivation, so anyone can rebuild it and verify the committed root and solvency bound.
- The operator funds custody (sharded so one failure cannot drain the whole pool), runs a public accounting dashboard + open indexer, and runs a relayer for users with no spare ADA; these reference services are permissionless.
- Every governance action (root commit, drain, migration, pause) is published with amount, time, and signer set.
- All accounting figures are derivable from chain + the published snapshot: total custody, vended, remaining, the solvency invariant, per-credential status by hashed credential, and the governance log, never from operator-asserted numbers.
- Custody leaves only via the claim path (a victim's valid proof) or the governance path (constrained root-commit, or the unconstrained drain); no other spend is allowed.
EARS notation
| Requirement | Type | Statement |
|---|---|---|
| REQ-OP-01 | ubiquitous | Privileged actions shall require an M-of-N multisig threshold; no single key shall move custody or change governance state. |
| REQ-OP-02 | event-driven | When governance commits a snapshot root, the on-chain check shall require the M-of-N threshold AND that the new root is append-only/monotone, solvency-bounded (Σ entitlement ≤ custody per asset), and accompanied by a publicly-reproducible derivation. |
| REQ-OP-03 | ubiquitous | Governance shall be able to move custody to any destination (unconstrained drain) for upgrade, migration, or emergency. |
| REQ-OP-04 | event-driven | When governance migrates to a successor instance, the migration shall carry the spent-state accumulator forward and conserve total value (Σin = Σout), so already-redeemed credentials remain redeemed. |
| REQ-OP-05 | state-driven | While no claim deadline is set, claims shall remain open indefinitely; governance may set or extend a deadline (extend-only, never shortened toward victims). |
| REQ-OP-06 | event-driven | When governance pauses, the claim path shall halt with no funds moved, until governance resumes or migrates. |
| REQ-OP-07 | ubiquitous | The verifying key shall be an immutable script parameter and shall not be governance-mutable. |
| REQ-OP-08 | ubiquitous | The eligibility snapshot shall be a fixed-depth Merkle tree over (credential C, entitlement) leaves, published with an independently-reproducible solvency derivation. |
| REQ-OP-09 | ubiquitous | Custody shall be sharded so that one circuit or setup failure cannot drain the whole pool. |
| REQ-OP-10 | ubiquitous | Every governance action shall be publicly recorded with amount, time, and signer set. |
| REQ-OP-11 | ubiquitous | All accounting figures shall be derivable from chain + the published snapshot, not from operator-asserted numbers. |
| REQ-OP-12 | ubiquitous | Custody shall leave only via the claim path or the governance path; any other spend shall be rejected. |
| REQ-OP-13 | unwanted | If a snapshot-root commit would violate the monotone or solvency constraint, then the on-chain check shall reject it. |
| REQ-OP-14 | unwanted | If fewer than the required M signers approve a privileged action, then it shall not execute. |