modular data availability

Data that stays
available under loss.

Névé encodes every blob into fragments so the whole is recoverable from a fraction. Availability survives faults instead of assuming they won't happen.

blob · 0x6e657665a1 recoverable

Sweep across the fragments to destroy them. The blob rebuilds from whatever survives — until too few remain.

surviving 128 / 128 needs 43 to reconstruct

Availability you can sample, not trust

A blob is available if it can be retrieved. Névé makes that a measurable property rather than a promise from whoever stored it.

01 · encoding

Reed–Solomon fragmentation

Each blob is erasure-coded into n fragments such that any k of them reconstruct the original. Data survives even when most fragments are missing or withheld.

02 · verification

Data availability sampling

Light nodes request a handful of random fragments. A few successful samples give overwhelming confidence the full blob is recoverable, so verification cost stays flat as blocks grow.

03 · integrity

KZG opening proofs

Every fragment ships with a polynomial-commitment opening, letting a node confirm the fragment belongs to the committed blob without downloading the rest of it.

Redundancy is a dial, not a constant

Every parameter trades against another. Lower the recovery threshold and the blob survives more loss — but every node stores more copies of it. Move the sliders and watch the cost follow.

Fragments per blob128

How finely the blob is split before distribution.

Recovery threshold33%

Share of fragments needed to rebuild the original blob.

Samples per light check16

Random fragments a light node pulls before accepting a block.

The hero animation and the attestation you sign below both follow the values you set here.

3.0×
storage overhead
67%
loss tolerated
99.999%
detection confidence
128KB
light node download

Confidence that a withheld blob is caught, by number of samples

1 sample40 samples

Confidence is modelled as 1 − ts, where t is the recovery threshold and s the sample count — an illustrative approximation of sampling against a withholding proposer, not a security proof.

Cold compaction

Retrievability is cheap to prove now and expensive to prove forever. Névé re-commits verified fragments across epochs into denser attestation layers.

Snow becomes névé becomes glacial ice. Old proofs compress into a single recursive commitment while the underlying data stays reconstructable on demand.

epoch 0
epoch 8
epoch 32
epoch 128
archival

Post a blob. Prove it was there.

Two calls: submit data to the availability layer, then sample it at any past height to prove it was recoverable.

// submit a blob to the availability layer
import { Neve } from "@neve/sdk";

const client = new Neve({ endpoint: "https://rpc.testnet.neve.xyz" });

const receipt = await client.submitBlob({
  namespace: "0x6e657665a1",
  data:      payload,             // raw bytes
  redundancy:{ n: 128, k: 43 },   // recover from ~33%
});

// later: prove it was available at that height
const proof = await client.sampleAvailability(receipt.height, {
  samples: 16,
});

console.log(proof.recoverable); // true

Attest a blob's availability

This is what a light node actually does: sample a blob, then sign a statement vouching that it was recoverable. Aggregated across nodes, those signatures are the availability proof for a block. Here it runs locally — a real, verifiable signature that never touches funds.

névé never requests a transaction, token approval, or spend permission.
Connecting reads your address and network. Signing produces a plain-text attestation that moves no funds and authorizes nothing.

Needs a browser wallet (e.g. MetaMask) and the page opened directly in your browser. Extensions can't inject into an embedded preview frame, so use the button on the right to walk through it here.