Verifier portal

Verify a report

Someone sent you a VeilProof report, a lender, a grant committee, a deal partner. Check it here in one click. No account, no wallet, nothing leaves your browser except two read only view calls to the NEAR testnet RPC.

The demo loads a real published claim from the demo wallet and verifies it against its onchain record, all ten checks should pass, including the AI summary. The report proves claims about a wallet's onchain history, for example "balance at least 5 NEAR", without revealing which wallet to the public.

What verification proves. Five separate statuses, shown below: the source data matches the hash published on NEAR, the claims and score were rerun from the disclosure snapshot, the report itself matches its onchain record, the AI attestation was checked on its own, and the privacy of the public report. The wallet address appears only in the disclosure package you pasted, never in the public report. What it does not prove. Nothing about data that never touched the chain. The verifier does not refetch the account state from the chain, it checks the disclosure snapshot against the data hash published onchain. A report with no AI summary means "not analysed", not "verified by AI". The AI attestation is not verified unless the attestation panel says so.
1

Report

2

Disclosure package (private)

Only paste this here, in your own browser. It contains the wallet address. This page sends it nowhere: verification runs locally, and the only network calls are two read only view calls (get_claim and is_claim_valid) to the NEAR testnet RPC.

Sealed package? If the prover sent you an encrypted disclosure (version veilproof encrypted disclosure v1), paste it here and put your verifier secret key below, the page opens it locally, in your browser, and rejects it if it has expired. Nothing is sent anywhere.

Give the prover your public key (shown after generating), never the secret key above.

3

Policy

How verification works

Verification answers five separate questions, and each one gets its own status. A report can pass four and fail one, and the page says so plainly.

Source data. The disclosure package holds a snapshot of the wallet history. The verifier hashes that snapshot and compares it with the data hash published onchain. If they match, the data is the data that was published.

Calculations. The verifier reruns the claims, the credit score and the wallet link proofs from the snapshot, using the published policy. If the rerun gives the same answers as the report, the calculations reproduce.

AI attestation. The AI analysis ran inside a trusted enclave, and its attestation is checked on its own. A nonce match alone does not verify it. The panel shows which of the nonce, quote, signature and measurements were actually checked.

Report integrity. The report, evidence and policy hashes are compared with the onchain record, the disclosure is checked against the report commitment, and the registry is asked whether the claim is still valid. A report that was revoked or expired fails here even if everything else passes.

Privacy. The public report carries thresholds and a score band only, never exact values, and the wallet commitment uses a fresh salt per report. The panel says what the public report discloses and what it keeps private.

What the verifier can and cannot learn

You can learn: whether the disclosed history supports the claims, whether the score reproduces, whether the report is the one that was published, whether it is still valid, and what the public report discloses.

You cannot learn: the real world identity behind the wallet, whether a counterparty is independent of the prover, or anything about data that never touched the chain. The score measures observable onchain activity only. It is not a guarantee of repayment.

What you see that the public does not: the wallet address and the exact values, because the prover sent you the disclosure package. Do not republish them. And one limit stays: the registry record names the publishing wallet as owner, so claims from one wallet can still be linked through the registry even though the report commitments cannot be matched.