Skip to main content

The report proof circuit

Status: Built, runs on simulatorStatus: Not decided

The report circuit checks a payment calculation against committed terms and income; it does not inspect the underlying income documents.

Inputs and visibility​

The circuit declares public signals in this order: terms_commitment, units_outstanding, fx_avg_wad, prior_income_commitment, income_commitment, payment_usd. The verifier and encoder must preserve that order.

Witness inputs include the threshold, per-unit share rate, currency and indexing identifiers, cumulative income figures, and salts. The circuit binds these openings to the public commitments. The payment amount and outstanding unit count remain public inputs; the circuit is not a claim that payout activity is hidden.

What the constraints cover​

The circuit range-checks the money inputs, requires current cumulative income not to fall below prior cumulative income, and computes excess above the threshold. It derives each cumulative amount using a constrained quotient and remainder. The difference is converted into the public payment amount with another floor operation.

n=qW+r,0≤r<Wn=qW+r,\qquad 0\le r<W
Formula

This relation, together with the circuit’s range checks, constrains the integer division. See reference math for the complete payment formula and a computed example.

Source attestations, report sequencing, registered keys, and transaction permissions sit outside this arithmetic circuit. A valid arithmetic proof alone does not establish complete covered income or authorize a payment.

Keep artifacts together​

The build metadata records hashes for the constraint system, witness generator, proving key, and verification key. Generated EVM and Solana verifier artifacts must agree with that key and the expected signal order. The package supplies separate encoders for the two verifier formats; treating an encoded proof as an interchangeable byte string risks rejection.

Status: Built, runs on simulator

What can go wrong​

The checked-in setup is for development and must not be used for production. Independent security audits have not started. Arithmetic correctness, artifact consistency, source-evidence review, and deployment readiness are separate checks; success in one does not establish the others.