Signed Bytes Chapters Inspector

A field guide to zkTLS

Take a proof apart, one chapter at a time.

Primus lets you prove something about a web session without handing over the session. The cryptography holds. Most of the mistakes happen in the space between a valid signature and a correct integration, and that space is where this guide lives. Every chapter carries something you operate rather than read: a real attestation you can break, a verifier you can misconfigure on purpose, a check at the end to see whether it landed. Nothing is mocked.

The chapters

each one carries a working instrument

The order is deliberate. The first four take one attestation apart, the next three are about handing it to a contract without getting hurt, and the last three are where zkTLS meets the encrypted side of the stack. The line under each title is the thing you get to operate. Each chapter is its own deployment, so they open in a new tab.

01

The Attestation Inspector

An attestation has nine fields. Seven are hashed. The other two are the ones most integrations read first.

The full instrument: paste a proof, break a field, watch the two verdicts split

Read ↗
02

Selective disclosure, and what the data field admits

attConditions decides what leaves the session: a revealed string, a hash commitment, a comparison.

Toggle each field between reveal and commit, see what a verifier learns

Soon
03

One signature, several requests

A multi-URL attestation keeps the first request in plain sight and folds the rest into additionParams.

Paste one, watch the hidden requests unfold out of a single string

Soon
04

Two attestations wearing the same name

The zkTLS SDK and Primus Network return different envelopes with different encodings.

Drop in either shape, the page tells you which it is and why it matters

Soon
05

Inside verifyAttestation

What the contract checks, what it stores, and why a view function returning true is a small promise.

Step the contract line by line with a payload you can sabotage

Soon
06

The five checks nobody wrote for you

Recipient binding, endpoint pinning, path pinning, freshness, replay.

Switch checks on and off, then run four attacks and see which land

Soon
07

From attestation to credential

zkCredential turns a one-off proof into something reusable.

Walk a credential through issue, present and expire

Soon
08

The encrypted half of the stack

What Primus means by FHE and which problems it is actually pointed at.

Operate a sealed value: add to it, compare it, never see it

Soon
09

Proving a number without showing it, then adding it up

zkTLS attests a value, FHE computes on it while it stays sealed.

Run the pipeline end to end with three balances and one total

Soon
10

Shipping it

appId, chains, error paths, and the failure modes that only show up with real users.

A configurator that prints the integration you just described

Soon

Start with chapter one

paste one, take it apart

Chapter one is not an article about the Attestation Inspector, it is the Attestation Inspector. Paste a real proof or mint one in the browser, and it recomputes the digest byte for byte the way the contract does, recovers the signer from the raw hash, and draws the packed bytes at true byte width. Nine checks in two columns: what the chain enforces, and what is left to you.

Open the Inspector