Coverage record · Example, a short day
Arden Pay · EURC
Trust
Written for the person who has to sign off on relying on a record. Every claim on this page has a stated limit, and the verifier that checks each proof is linked, so anyone can open the transaction where the contract verified it and rerun the open-source verifier on the same proof.
Coverage record · Example, a short day
Arden Pay · EURC
Version 24 November 2026Stellar Testnet
Each record rests on one proof, and a contract on Stellar checks that proof before the record is written. When the contract accepts a proof, the proof has established all of the following at the ledger it names:
Today, for every institution, the list is a stored list of balances. For an anchor, it is the balances of the token holders. For a custodial app, it is its customer balances. Using an anchor's supply read from Stellar in the proof is coming soon.
One point of precision about the words zero-knowledge. The prover and verifier running on Testnet today keep every balance out of the public inputs, but the proof is not yet in its formally hiding configuration. That configuration is in development, and this page will say so when it ships.
A proof is only as good as its inputs. Two inputs come from outside the proof, and the proof cannot vouch for them:
In the public demo, the custodian is a stand-in run by Solva, except for Harbor Wallet, whose reserves are read from its Stellar account. The demo names the reserve source on every run.
The prover does not have to be. Solva runs the prover today, and a dishonest prover still cannot produce a proof that the contract accepts. The total is whatever the proof computes, whatever the prover claims. Running the prover inside the institution's own infrastructure is coming soon.
The reserve source has to be. If a custodian's signed statement is wrong, the record is wrong, which is why Solva logs which source signed, and when. Reserves held in Stellar accounts are read from the ledger, so anyone can compare that balance with the record.
The list has to be complete. An institution could leave a customer out of the list before proving. The defence is the holder check: a customer who is not in the list will fail it, and a pattern of failed checks is visible to everyone.
Stale will be applied by rule, with no judgement involved: a record turns stale when no new proof arrives inside the expected window, daily by default. Freshness checks are coming soon; today each record carries its timestamp, so a reader can judge its age. How old a record may be before a reader stops relying on it is the reader's own decision.
The contract that checks proofs runs on Stellar Testnet today. Before building the registry on it, we deployed the reference verifier unchanged and ran a known-good proof through it, then a proof with a single byte altered, which it rejected.
Fee per verification
0.0122514 XLM
122,514 stroops, identical on a second run
Network
Stellar Testnet
Protocol 27. No mainnet contract yet.
A record is never edited. If an institution believes a record is wrong, it writes to hello@joinsolva.xyz, and the next proof supersedes it. Correction notes that name the record they correct are coming soon.
Version 24 November 2026Revised
For institutions
Tell us which asset you issue or hold for customers. We plan a pilot with you and publish your first record together.
For auditors
Read a record the way an auditor would: the ledger, the proof and the verifier. Daily history and a CSV export for the audit file are coming soon.