Skip to content
veraq

Concepts

The seven entities.

Veraq's record is built from seven entities and one mechanism. Field names and prose use only these nouns — this is the contract every SDK, the explorer, and the API reference agree with.

The record entities

  • Wave

    A round of participation. Runs one mechanism; contains many participations; resolves to outcomes.

    Runs one Mechanism · contains many Participations · resolves to Outcomes.

  • Mechanism

    The published selection rule (commit-reveal-v1), committed to the open record before a wave runs.

    Committed to the open record before a Wave runs.

  • Participant

    A person taking part. Makes participations; chooses a cause.

    Makes Participations · chooses a Cause.

  • Participation

    One participant's entry into a wave; written to the open record.

    Belongs to a Wave and a Participant · written to the open record.

  • Outcome

    What a wave resolves to. A defined share routes to a contribution.

    Belongs to a Wave · a defined share routes to a Contribution.

  • Contribution

    The defined share routed to a cause, derived from an outcome.

    Derived from an Outcome · addressed to a Cause.

  • Cause

    A verified public-good recipient of contributions chosen by participants.

    Receives Contributions chosen by Participants.

  • Allocation

    One recipient's share of the participant-distributable class, reaching that recipient at the resolution of one outcome — a level-6 record entity (03 §2; ADR 0016 §1 spells the level out as 'the per-event record entities').

  • Attestation

    An independent party's report that it replayed a settled outcome and what it found — the open class 03 §5.5(b) names as the source of Outcome.verified: '.net's open attestation class, which anyone may publish and for which Veraq certifies nobody and pays nobody.' THE OPENNESS IS THE CONTROL, NOT A CONVENIENCE.

  • Challenge

    A dispute raised against a container's settlement — 03 §2 level 6's sixth and last leaf ('Participation, Outcome, Allocation, Contribution, Funding, Challenge'), never built until 04 W3-E13.

  • Commitment

    What was pinned before a container opened, per container, discriminated on verification form.

  • Container

    A cohort with a freeze predicate.

  • ContainerClassTotal

    A container's open-record total for one obligation class — the shape `04` W4-E10's own design artefact (docs/ops/foundation-principle-reporting-dimension.md:82-93) specifies for `03` §7.3 rule 2's first half: 'Per-container class totals are open-record entries.' ADR 0015 §6 states the same rule in its own words: 'Per-container class totals are Open Record entries.

  • DrawArchive

    ADR 0063 §2.1's `draw_archive_v1` entry_kind payload -- the complete draw-verification tuple (ADR 0062's sibling design for randomness, `10` §4.3.3): beacon round, signature, public key, cohort root and known-answer tests for the derivation code, sealed so a draw is re-verifiable decades later with no live service.

  • DrawResultCorrectionEntry

    ADR 0071 §2.7's remedy ground (b), slice S20 (B-215): the `draw_result_correction_v1` entry_kind payload -- the CORRECTION of a published `draw_result_v1` that does not recompute from the pinned inputs.

  • DrawResultEntry

    ADR 0071 §2.4's `draw_result_v1` entry_kind payload -- the AGGREGATE tier result of one number-match draw, and the root over EVERY line's award, so the result and each line's award are provable from public evidence.

  • DrawVoidEntry

    D-PRV-79 (PROVISIONAL): the `draw_void_v1` entry_kind payload -- the record that a BOUND number-match draw was voided BEFORE its commit line `time(R) - margin_seconds`, so it left its product's carry chain in time.

  • Fund

    A long-lived economic, governance and accounting boundary anchored to a jurisdiction — ADR 0028 Decision 1, answering `01` §8 Q14 ('What is a Fund?'), OPEN from ADR 0013 (2026-08-02) until ADR 0028 (2026-08-11).

  • Funding

    One inflow recorded against a container — a level-6 record entity (03 §2), and the moving input a threshold container's freeze predicate is read against.

  • JurisdictionBalanceCommitment

    Control-ledger only, per `03` §7.3 rule 2's second half and ADR 0015 §6, same rule — 'Per-jurisdiction balances remain control-ledger, anchored as digests only.' The shape `04` W4-E10's own design artefact specifies (docs/ops/foundation-principle-reporting-dimension.md:94-104).

  • OutcomeCertificate

    ADR 0063 §2.1's `outcome_certificate_v1` entry_kind payload -- the VOA protocol's settleable artefact (ADR 0062 'Veraq Outcome Attestation'), sealed into the open record once finalised.

  • ParticipationPartitionReport

    Per participation, per `03` §7.3 rule 3 and ADR 0015 §6, same rule — 'Per participation, only `partition_rule_digest` is published, openable by the holder — because publishing the applied `(product, jurisdiction)` pair would publish the participant's jurisdiction.' The shape `04` W4-E10's own design artefact specifies (docs/ops/foundation-principle-reporting-dimension.md:105-114).

  • PayoutRail

    A discriminated payout-rail taxonomy.

  • PolicyBinding

    `04` W4-E06 — `03` §3 binding 6, verbatim: 'eligibility, jurisdiction, age, limits.' `02` §4: 'Policy: `.io` executes, `.org` binds via `PolicyBinding`' — this is that binding, real for the first time (`02` §4 previously filed governance binding as 'currently mis-filed as a future E1 plugin').

  • PublicResultObservation

    Veraq Phase 1 'Evidence Bridge' (docs/ops/11-veraq-phase1-scope-decision.md §6 item 2) -- the `result_observation_v1` entry_kind payload apps/net's public, permanent open record actually stores for an `official-result` container's observed outcome.

  • ReferenceDrawResultEntry

    Game 2 (C-EVD-03c): the `reference_draw_result_v1` entry_kind payload -- the published RESULT of one REFERENTIAL number-match round (mechanism `reference-digits-v1`, docs/ops/specs/reference-digits-v1.md section 4), whose numbers come from the Bitcoin block hash at a height H the round's terms fixed before any sale, AND the proof P that fact rests on, so the round can be replayed from public evidence.

  • ReserveObligation

    The per-class record for a jurisdiction's public-obligation classes — `01-platform-architecture.md` §4.3 change 6, RETAINED under ADR 0015 §11.1's amended point 1 and its own text: 'it remains the per-class record for the public-obligation classes; the partition rule decides what enters it.' THIS IS A RECORD SHAPE, NOT A COMPUTATION — the same distinction allocation.schema.json draws against ADR 0015's crossing authorities: a record shape at level 6 versus an authority over a money crossing.

  • ResultObservation

    What was RECORDED AT RESOLUTION for an `external`-form container — `03` §5.1, verbatim: "observed value, provenance, source-publication digest, and every failed capture attempt"; `02` §7 unpacks provenance as "where fetched, when, by whom".

  • ResultSource

    The pinned definition of WHAT TO OBSERVE for an `external`-form product — `03` §5.1's committed "source authority, publication URL, exact field, format, revision policy".

  • SealedCommitmentEntry

    ADR 0071 §2.1's `sealed_commitment_v1` entry_kind payload -- the `.net` carrier of a beacon-bound container's SealedCommitment.

  • Selection

    A single participant's ACTUAL CHOSEN ANSWER for one participation — the canonical, real (never sandbox-only) representation of "what the customer selected/predicted," replacing `apps/io`'s own `sandbox_participation_selections` sidecar as the source of truth (that sidecar existed only because this schema did not — see its own header).

  • TicketBatch

    ADR 0063 §2.1's `ticket_batch_v1` entry_kind payload -- the frozen participation cohort for one container, one batch (ADR 0062's ticket/commitment design, `10` §4.3.1).

The wave lifecycle

announcedopenresolvingsettled

Wave lifecycle. 'announced' = mechanism published, not yet open. 'resolving' = window between closes_at and the recorded outcome. 'settled' = outcome verified and contributions transferred.

commit-reveal-v1

The published selection rule. The seed commitment is written to the open record before a wave opens; the seed itself is revealed after the draw, so anyone holding the participation list can deterministically replay the outcome. It is never “the algorithm” and never dressed up as magic — it is committed and provable.

commit-reveal-v1✓ verifiable
# commit-reveal-v1 — committed before, provable after.
commitment = sha256(seed ‖ parameters)   # published BEFORE the wave opens
            … the wave runs …
reveal     = the seed, published AFTER resolves_at
verify     : sha256(reveal ‖ parameters) == commitment   ✓ matches

Verify

Both public repositories ship golden vectors — canonical input/output fixtures for commit-reveal-v1 and the record format. A green run against the published vectors is the proof that any independent implementation is correct.