Proofs

Bandwidth proofs: signed traffic checkpoints from every node

Every 30 minutes each ProofKit node signs a report of its traffic counter, and most reports travel through a TLSNotary session with ProofKit's notary. The Proofs page publishes all of them. Here is what that record shows, and what it does not.

VPN bandwidth proofTLSNotarysigned checkpointsVPN transparency
Cadence
Every 30 min
Signed with
Node's key
Notary
Run by ProofKit
Record
Public feed

01 /What a checkpoint is

Every 30 minutes the platform sends each connected node a one-time number. The node answers with its cumulative traffic counter and a timestamp, signed with the ed25519 key it registered when it joined, so a report cannot be replayed or edited afterwards without breaking the signature.

Exit nodes count the VPN traffic they carried; entry nodes count their WireGuard tunnel.

02 /Notarized and self-signed

Most nodes send the checkpoint through TLSNotary, an MPC-TLS protocol in which a notary server takes part in the TLS session without seeing its contents and then signs a record of the exchange. Those checkpoints are marked Notarized.

The notary is run by ProofKit, not by an independent party; its public key is published at notary.proofkit.org/info. When a node cannot complete the notary session it signs the result with its own key instead, marked Self-signed.

03 /The diff column

Each checkpoint is compared with the running total the same node has been streaming while it carries sessions. The diff is how far the checkpoint's counter is above that total.

Both numbers come from the node, so a small diff shows consistency, not accuracy. Three checkpoints in a row with a diff above 20% raise a fraud flag.

04 /What a checkpoint does not prove

It does not prove that the counter is true, and it says nothing about the content of anyone's traffic. Accuracy is tested separately: probes that fetch real pages through each node, comparison of entry and exit byte counts on 2-hop routes, the kernel's WireGuard counters and anomaly detection, backed by a 1 TON stake per node.

Billing is not built from checkpoints: you are charged from each node's live traffic reports, per GB, at the price locked into your session.

05 /Using the proofs page

The feed shows the newest checkpoints first. Open one to see its counter, the node's last live report, the diff, how it was signed and the raw attestation. Select a node ID, or paste one into the filter, to see one node's history.

The strip at the top covers the last 24 hours: checkpoints, notarized checkpoints, the share that carries a signature, and the traffic the checkpoints cover.

// faq

Common questions

Is the notary independent?

No. The notary server is run by ProofKit. It takes part in each TLS session through MPC-TLS without seeing its contents, and its public key is published, but it is not an independent third party.

Does a notarized checkpoint prove how much traffic a node carried?

No. It shows that the node sent that report, at that time, in a TLS session the notary took part in. The counter itself is the node's own; probes and cross-checks test whether it is right.

Why are some checkpoints self-signed?

The node could not complete the TLSNotary session, for example because the notary was unreachable from its network, so it signed the result with its own registered key instead.

Is my browsing visible in a checkpoint?

No. A checkpoint holds a node's total traffic counter, a timestamp and signatures. It contains nothing about who used the node or what they did.

Am I billed from checkpoints?

No. Billing uses each node's live traffic reports for your session, at the price locked in when you connected (olcRTC traffic, from 20 November 2026, at the network's olcRTC price). Checkpoints are a separate public record for checking nodes.

// next step

Read the checkpoints yourself

The feed is public: no account needed. Filter by node, open any checkpoint, and copy its raw attestation.

ONE CHECK OF SEVERAL

How nodes are tested

Checkpoints sit beside probes through each node, entry-versus-exit byte comparison, kernel counters and anomaly detection. The docs describe each check and what the node software logs.