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.
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 simulatorWhat 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.