Sandbox
Watch a proof of reserves land on Stellar.
Step through the real Solva pipeline against a mock open-banking bank: connect the bank, read a signed balance, prove reserves cover liabilities without revealing a single customer, publish the proof on-chain, and verify it. Each institution proves to its own contract. The insolvent case is meant to fail. That is the point: Solva will not prove a lie.
How a proof is made, under the hood.
Five steps, end to end. Watch it play, or step through each operation yourself.
Step 1 · Attest
Authenticate to the bank
Solva never holds bank credentials. The institution's orchestrator runs a standard OAuth handshake against the bank so it can read balances on the institution's behalf, with a short-lived token.
solva · attest
› GET /oauth/authorize?client_id=solva → code› POST /oauth/token (code) → bearer (expires in 1h)
1/14
Now run it for real.
Drive the live pipeline against a running stack: each step makes a real call, with the real artifact it returns.
Institution
Scenario
- 1RegistryThe institution's own proof-registry contract.
- 2Connect bankOAuth into the mock open-banking sandbox.
- 3Fetch signed reservesAn ECDSA-signed balance per account.
- 4Prove & publishUltraHonk proof of R ≥ L, published on-chain.
- 5Verify on-chainConfirm the published proof against the ledger.
- 6Customer inclusionA customer proves their balance is included.