How it works
From a private ledger to a public proof, in four steps.
Solva turns the question “are you solvent?” into a yes that anyone can check, without ever moving your customers’ data. Here is exactly what happens, end to end.
Attest
Solva connects to your ledgers and custody and reads the live figures locally. Reserves and liabilities are gathered inside your own environment, so nothing sensitive is sent anywhere.
Commit
The balances are folded into a cryptographic commitment: a Merkle tree of every liability and a single reserve total. This binds the later proof to the exact numbers while keeping them sealed.
Prove
A zero-knowledge circuit proves reserves are at least liabilities and that every leaf in the tree was included in the sum. The output is a small proof that reveals the result and nothing else.
Verify
The proof is checked inside a Stellar smart contract and recorded in a public registry. From that point on, anyone can verify the same proof and reach the same answer.
What a Solva proof actually guarantees.
Reserves cover liabilities
The single inequality reserves ≥ liabilities held true at the moment of the proof.
Every balance is counted
No liability was left out of the sum. Each customer account is provably in the tree.
Nothing else is revealed
No balance, identity, or total leaks. The proof carries one bit of truth and a timestamp.
acct_2291 → $84,005.00
acct_5530 → $3,920,114.77
reserves_total → $ — — —
customer names, KYC, ledgers
Hover to see what Solva would have to expose with an old-style attestation. It never does.
proof: 0x7a3f…e3f1
contract: GSOLVA…STELLAR
verified_at: 2026-06-19T09:41Z
cost: < $0.01
A single boolean, a proof hash, and an on-chain record. That is all anyone ever sees.
On-chain verification
Verified by a contract, not a press release.
Each proof is checked inside a Stellar smart contract and written to a public registry. The verification is the consensus of the network, so anyone can re-run it and reach the same answer.
5s
to finality
<$0.01
per proof
100%
independently checkable
$ solva verify 0x7a3f…e3f1
→ reading Stellar registry…
→ checking SNARK…
✓ valid · reserves ≥ liabilities
✓ 100% of liabilities included
Customer inclusion check
Confirm your balance was counted.
A customer can verify their own balance is inside the proven liabilities, without revealing it to anyone. Enter an account reference to see how the Merkle path resolves.
Architecture · edge proving
The prover runs inside your walls.
Solva deploys as a prover inside your own infrastructure. It reads balances locally, builds the commitment and proof on your hardware, and emits only the proof. Raw data has no path out.
- No customer data crosses your perimeter
- Nothing to subpoena from Solva, nothing to breach
- Works behind your existing firewall and VPC
Your perimeter
& custody
prover
See it run on your ledger.
Spin up a private sandbox and watch a proof land on Stellar. No customer data required.