ZK proof of reserves: prove true solvency on Solva

Prove true solvency, without revealing a thing.

Solva continuously proves your reserves meet or exceed your liabilities. Every result is verified on-chain on Stellar, and customer data never leaves your perimeter.

Solvent verified on Stellar just now
proof0x7a…e3f1✓ R ≥ L

Built for the institutions that move money

The problem

Attestations are stale, partial, and gameable.

A quarterly PDF signed by an auditor tells you what a balance sheet looked like on one day, months ago. It shows that reserves exist, not that they cover what is owed. Funds can be borrowed for the snapshot and gone by the next morning.

FTX passed its audits. Reserves without a liabilities check are theatre. Solvency is a live property, so it should be proven continuously, in math, and in the open.

How it works

Four steps, end‑to‑end.

From raw ledger to an on-chain proof anyone can verify. Your data never leaves the building.

step 01edge · on-prem

Attest

Connect ledgers and custody. Solva reads reserves and liabilities inside your perimeter. Raw balances stay local and are never transmitted.

step 02commitment

Commit

Balances are folded into a cryptographic commitment: a Merkle tree of liabilities and a reserve total. The commitment binds the proof to exact figures without exposing them.

step 03zk-SNARK

Prove

A zero-knowledge circuit proves reserves are at least liabilities and that every customer balance is included. It reveals nothing else, just the single yes or no.

step 04Stellar

Verify

The proof is verified inside a Stellar smart contract and recorded on-chain. Anyone can check it themselves, whether a regulator, a counterparty, or the public, for a fraction of a cent.

Not proof of reserves. Proof of solvency.

True solvency

Proves reserves are at least liabilities, not just that assets exist somewhere.

Continuous

A live proof every block, not a quarterly PDF months out of date.

Private by default

Zero-knowledge: individual customer balances are never revealed.

On-chain and public

Verified in a Stellar contract, so anyone can check it.

Edge proving

Proofs are generated inside your infrastructure. Raw data never leaves.

Selective disclosure

Reveal exactly what a regulator needs, and nothing more.

for

Banks & fintechs

Demonstrate solvency to regulators in real time.

for

Exchanges

Give users proof they can actually trust.

for

Stablecoin issuers

Prove full backing, continuously, on-chain.

for

Regulators

Verify solvency without bulk customer data.

Reserves ≥ Liabilities

The one invariant, held every block.

Solva tracks the margin between what you hold and what you owe. The proof only succeeds while the green line stays above the grey, and that result is what lands on-chain.

ReservesLiabilities
margin · liveSolvent

Verified on Stellar

Every proof is settled in a public smart contract. Do not trust Solva, verify the math yourself.

5s

to verify on-chain

<$0.01

per published proof

Developers

Three calls to a proof.

A typed SDK, a mock open-banking sandbox, and a registry you can query. Prove, publish, and verify inclusion, without ever touching a circuit.

prove.ts
import { Solva } from "@solva/sdk";
const solva = new Solva({ apiKey: process.env.SOLVA_KEY });
// prove reserves >= liabilities, privately
const proof = await solva.prove({
reserves: ledger.reserves, // stays on-prem
liabilities: ledger.liabilities, // never leaves
});
await solva.publish(proof); // -> Stellar, ~5s

Your data never leaves

Proving happens at the edge, inside your own infrastructure. Solva sees commitments and proofs, never raw balances, names, or accounts. There is no honeypot to breach.

  • Trust the math, not the vendor
  • Audited circuits and Stellar contracts
  • Nothing revealed beyond R ≥ L

A solvency oracle for agents

Solva exposes a machine-verifiable solvency feed over MCP and a public API. Autonomous agents can check counterparty solvency before they transact. No trust assumptions, no phone calls.

GET /v1/solvency/meridian-bank
→ { solvent: true, margin_bps: 1240, ✓ }
$0

customer data exposed

100%

of liabilities included

24/7

continuous proving

5s

on-chain verification

Questions, answered.

Prove it. Continuously.

See Solva run against your own ledger in a private sandbox. No customer data required.