Web3 / PrivacyArchitecture record

Layer-2 Privacy Subnet Application

The idea being demonstrated is that not every transaction belongs in public. A privacy subnet lets a defined group transact among themselves with the details visible only to members, while the public chain receives a periodic commitment proving the subnet's state advanced honestly. This application makes that concrete: joining a subnet, transacting privately, retrieving history under authentication, and watching the rollup anchor to the base layer.

Members only
Visibility
for transaction detail
Rollup only
Public footprint
periodic commitment
Authenticated
History access
per-member
Browser
Client
no custodial backend
Repository shape

Single-page client application talking directly to a subnet-enabled node

How this is presented

Documented as an architecture record. The demonstration only means anything with a subnet-configured node behind it, so the privacy model is the deliverable.

What stays private and what goes public

Follow a transaction inside the subnet and then watch the rollup. Note how little crosses into the public layer.

WalletExternal

Signs subnet membership and transaction authorisations.

Client surfaceExternalOn-chainData storeWorker / job
A private transaction

Who learns what, and when.

Highlights

Transaction detail stays inside the subnet; the public chain sees only a periodic commitment.
Membership-scoped history retrieval, so a participant sees their own subnet activity and nothing else.
Zero-knowledge proving in the browser, keeping the privacy claim client-side rather than trusting a server.
The rollup mechanism is made visible in the interface, so the trade-off between privacy and public verifiability is legible.
No custodial backend — the client talks to the node directly.

Private among members, provable in public

Two audiences see different things. Subnet members see full transaction detail; the public chain sees a commitment that the subnet advanced correctly. The application exists to make that split understandable.

Client application

Wallet connection, subnet membership, transaction composition and history views.

  • Runs entirely in the browser with no custodial intermediary.
  • Proof generation happens client-side.

Subnet

Holds private state and processes member transactions confidentially.

  • Detail is visible to members only.
  • Maintains the state that will later be committed publicly.

Rollup and anchoring

Periodically commits subnet state to the public base layer.

  • Gives outside observers a verifiable claim without disclosing contents.
  • The bridge between confidentiality and public accountability.

Application surfaces

A deliberately small client whose screens each demonstrate one property of the privacy model. 13 units across 4 groups.

Screens

7
LoginScreenSendTabHistoryTabLearnTabBalanceCardTxCardTabBar

Identity

2
identitywallet connection

Cryptography

2
zero-knowledge provingkey derivation

Chain

2
subnet RPCrollup anchoring

Stack by layer

Client
ReactViteWallet connectionQuery caching
Cryptography
Zero-knowledge provingKey derivationEncrypted payloads
Chain
Subnet node RPCBase-layer anchoringRollup verification

Delivered work

Application

  • Wallet connection and subnet membership flows.
  • Private transaction composition and submission.
  • Authenticated history retrieval scoped to the member.
  • A visible representation of the rollup mechanism.

Modules and demo strategy

Privacy boundary

Defines who can read what.

  • Members see detail; the public sees a commitment.
  • The entire point of the architecture.

Client-side proving

Keeps the privacy claim honest.

  • Proof generation in the browser rather than on a server.

Rollup anchoring

Buys public verifiability.

  • Periodic commitments give outsiders a check without disclosure.

Frontend documentation format

How this project is presented

Privacy model explained as a flow rather than run live.
Requires a subnet-configured node, which is not something to expose publicly.