The case

Why Zava.

Four claims. All four are cryptographic, not marketing. If any one fails, the demo fails on chain — publicly, verifiably.

01

Private by design.

Zero-knowledge, not obfuscation. Verified by math, not by policy.

Every credit tier issued by Zava is preceded by an UltraHonk proof that runs on-chain — real Sumcheck + Shplemini + BN254 pairing check. Not a stubbed byte-length, not a "we'd add this later," not a claim in a whitepaper.

Lenders receive a tier + loan cap. That's the whole transmission. Your amounts, client names, and deposit history stay in your browser and on chain in a form only your scan key decrypts.

The whole system is auditable in one click: `honk verified true` events stream live at /proof-log. Tampered proofs return `honk verified false` on the same infrastructure. Completeness and soundness — provable, not asserted.

02

Built on Stellar.

Where the money already moves — Zava adds the reputation layer.

Stellar's Protocol 26 (Yardstick, live May 6 2026) shipped native BN254 host functions via CAP-74 — the exact primitives UltraHonk needs to verify a real proof on chain in a bounded fee envelope.

The verifier crate is 26 KiB of WASM. Every proof lands in a 4-6 second Soroban transaction. Payment settlement stays in the same 3-5 second window Stellar already gives you. The user experience is a bank's dream — with none of the exposure.

The frontend prover is byte-identical to the CLI prover (both `@aztec/bb.js@0.87.0`), so a browser-generated proof is guaranteed to verify against the same on-chain VK. Not architecturally similar. Identical.

03

Portable reputation.

Your credit lives in your wallet, not in a bureau.

There is no Zava-controlled scoring service. The `CreditRecord` writes to Soroban keyed by your wallet. Any lender that reads Soroban can query it. Any lender that trusts UltraHonk on Protocol 26 trusts the tier.

The record has a 90-day expiry — a design choice. Credit is time-sensitive; a snapshot from six months ago doesn't reflect current discipline. Users re-prove when they need to.

Withdraw everything from the vault and the tier reflects it immediately. `active_weeks` counts what's locked now; `withdrawn_weeks` reflects what was proven historically but has been drawn. The lender sees both.

04

Built for the unbanked.

Freelance income was invisible to credit models. Zava sees it.

Traditional credit scoring is trained on salaried employment: fixed paycheck, employer name, tax withholding, credit-card history. None of that describes a designer paid in USDC by four clients across three continents.

Zava reads the pattern the freelancer actually has — consistent weekly savings from irregular income — and proves it without demanding a paper trail the freelancer can't produce.

A 24-week track record at $200/week unlocks up to ~$28,800 XLM in loan capacity. That's not a promise; it's the deterministic output of `active_weeks × range × multiplier`. The formula is in the contract, on chain, forever.

What ships different

Four things nobody else on Stellar has shipped yet.

Real UltraHonk on chain

Not a mock. Not a wrapper. Not "coming soon." The five deployed honk_verifier instances hold real 1,760-byte VKs. Every proof passes actual Sumcheck + Shplemini.

Byte-identical prover pipeline

`@aztec/bb.js@0.87.0` in browser = `bb 0.87.0` in CLI = matching VKs on chain. Reproducible from source. No trust in a runtime.

Wipe-safe recovery

Encrypted-to-wallet change notes are emitted as events. Nuke localStorage; the wallet re-derives its portfolio from chain state alone.

Two-verifier vault architecture

ShieldedVerifier (4 public inputs) and PartialVerifier (6 public inputs) run in parallel — no shared VK, no forced compromise between withdraw and partial-withdraw flows.

Enough claims. See the receipts.

Every credit tier issued on Zava is backed by a honk verified true event. Every rejected proof is a honk verified false. Both are on chain. Both are public.