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.

01
edge · on-prem

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.

02
commitment

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.

03
zk-SNARK

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.

04
Stellar

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.

guarantee 01

Reserves cover liabilities

The single inequality reserves ≥ liabilities held true at the moment of the proof.

guarantee 02

Every balance is counted

No liability was left out of the sum. Each customer account is provably in the tree.

guarantee 03

Nothing else is revealed

No balance, identity, or total leaks. The proof carries one bit of truth and a timestamp.

Stays private
acct_8842 → $1,204,889.21
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.

Goes public
solvent: true
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

// anyone can run this
$ 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.

Enter an account reference and run the check.

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

Ledgers
& custody
Solva
prover
proof only ↓
Stellar smart contract → public registry

See it run on your ledger.

Spin up a private sandbox and watch a proof land on Stellar. No customer data required.