Research · in development

Storage you can actually prove.

Prova is verifiable storage on Base. Cheap gas, fast finality, Ethereum's reach without the mainnet cost.

Clients pay in ETH or USDC. Provers stake PROVA, serve the bytes over HTTPS, and submit a fresh cryptographic proof every single day. No trust, no middleman, no new chain to learn.

Miss a proof. Get slashed.

Proof cost $0.003 per challenge, on Base
Protocol fee 1% 99% to the prover
Unbonding 14d slashable window
Last proof just now testnet · block 18,500,123
scroll
The problem

You can't audit your own backups.

Right now every cloud provider on earth asks you to trust that your data is still there. No receipt, no proof, no recourse. They know it, you know it, and the auditors mostly look the other way. Prova treats proof as the product.

Current cloud storage

"Trust us."

They promise the bytes are stored. You have no way to verify, ever. If the drive failed, you find out the day you need the data.

client ??? cloud vendor
Prova

"Prove it. Daily."

Every day a fresh challenge is drawn from Base's block randomness. The prover answers with a Merkle proof. Miss once past the window, lose stake.

client challenge proof ✓ prover
How it works

Seven steps, one chain, zero magic.

Everything happens on Base. Three actors, seven events, all auditable on Basescan. Click any step to see it happen.

Client any app on Base compute CommP pick a prover publish piece URL lock payment retrieve anytime Prover off-chain, provad event poller deal engine piece store PDP tree + proofs HTTPS retrieval metrics Base L2 6 contracts, Solidity ProvaToken ProofVerifier ProverRegistry ProverStaking StorageMarketplace ContentRegistry 1 2 3 4 5 6 7
01

Propose the deal

Client calls StorageMarketplace.proposeDeal on Base with the piece's CommP, the chosen prover, and the duration. The full payment is escrowed on-chain up front. Total gas: roughly $0.15.

The proof

Provable Data Possession, in 45 seconds.

No SNARKs, no zero-knowledge rabbit holes. Just a Merkle tree and a coin flip. It's the oldest honest game in cryptography: I can't know which byte you'll ask about, so I have to keep all of them.

chunk #— challenged. proof path highlighted.

How it actually works

When a prover accepts a deal, they commit to a Merkle root of your data's leaf hashes: a 32-byte fingerprint that uniquely identifies those exact bytes. That root is stored on-chain in ProofVerifier.

Each day, Base picks a random leaf index from prevrandao. The prover has to show that exact leaf, plus the log₂(N) sibling hashes up to the root. Anyone can verify the inclusion in a dozen hashes.

  1. Commit: prover publishes the Merkle root on-chain at deal acceptance.
  2. Challenge: every epoch, Base's block randomness picks a leaf index.
  3. Prove: prover submits the leaf + sibling path; chain verifies in O(log N) gas.
  4. Settle: success → that epoch's share of payment streams to the prover.
  5. Or slash: miss past MAX_PROOF_GAP (7 days) → anyone can fault the deal and take a bounty.
Resilience

Your website survives us. Both of us.

A single prover can fail, go on holiday, or refuse to serve you. You can pin the same piece to several provers at once. If one dies, retrieval falls through to the next. Kill them in the lab below and watch your file stay up.

Your backup, across N provers
click any prover to simulate it going offline
Total provers 5
Alive 5
Down 0
Retrieval status ONLINE
For provers

Rent out your disk. Earn ETH every day.

You have a server with a spare TB and a real connection. Prova turns that into a recurring revenue line. Every successful daily proof streams 99% of the day's payment to you, automatically. Pull those sliders.

0.1 TB100 TB
5% full100% full
$1 cold$10 premium
90%100%
Your take-home
$54/mo
net, after protocol fee + missed-proof drag
Gross billed$55/mo
Protocol fee (1%)−$0.55
Missed-proof drag−$0.27
Annualized$648
Break-even vs Hetzner AX414.5 TB
Assumes 75% retention of advertised price after prover competition, 14-day unbonding kept in reserve, challenges paid in USDC streamed per epoch. Gas is negligible on Base (~$1-3 / month for a busy prover).
The network

Small. Verifiable. Growing.

Prova is early. These numbers update from on-chain state once mainnet goes live. Until then they reflect Base Sepolia + local devnet.

Active provers 12 testnet · pre-mainnet
Bytes committed 38.4TiB testnet
Proofs submitted 184,520 and counting
Proof success rate 99.84% across all provers
Average proof gas $0.003 Base L2, per challenge
Mainnet soon audit + TGE gated
Try it

One line, 10 minutes, a working prover.

Single statically-linked Go binary. Loopback dashboard on :8081, metrics on :9090, HTTPS retrieval on :8080. No Go, no libssl, no CUDA. You run it, it runs.

prover@base:~$
$ curl -fsSL https://get.prova.network | bash ✓ detected linux/amd64, version v0.1.0 ✓ sha256 verified ✓ installed /usr/local/bin/provad ✓ systemd unit at /etc/systemd/system/provad.service   $ sudo systemctl enable --now provad ● provad.service active (running)   $ provad status prover 0xabc...def9 registered, active staked 1,250 PROVA committed 0 B awaiting deals chain Base mainnet block 18,500,123 dashboard http://localhost:8081   $

Built to be cryptographically boring.

One primitive, done right. No SNARKs, no TEEs, no new consensus layer. Merkle trees, staked collateral, and honest daily proofs. Run a prover, store a website, build a product.