jammer
Enter beta
DOCS / USER OPERATIONS
DESIGN DOCUMENT · PRE-RELEASE

Shield & unshield

Understand the public boundary of a private pool.

Protocol behavior is proposed. This release is an interface preview; no funds or wallet signatures are accepted.

Shielding a deposit

The proposed deposit flow starts on the base chain. Select an allowlisted asset, approve an exact ERC-20 allowance if required, and authorize the deposit. Native-asset deposits attach value directly.

The deposit enters a pending screening state before it becomes a spendable note. A gas escrow can fund the guard’s processing cost. Its amount and refund rules must be shown before confirmation.

Deposit state machine

StateMeaning
PendingAwaiting a screening decision
Action requiredAdditional review or information needed
ApprovedAccepted into shielded state
RejectedNot admitted; refund handling applies
RevertedPending deposit canceled under contract rules

Refunds and nonstandard tokens

The reference design permits cancellation while a deposit is pending, returning value and escrow; processing by the guard can consume escrow even if admission is rejected. Jammer must specify its exact policy before accepting assets.

Fee-on-transfer assets require balance-delta accounting. Token support must be explicit rather than inferred from an ERC-20 interface alone.

Unshielding

A withdrawal pays an external base-chain address. The recipient and transferred amount become public. The proof consumes private inputs and creates any remaining change notes.

The interface must show a clear privacy-boundary confirmation before an exit. A recipient without a registered key should never silently turn an intended private payment into a public withdrawal.

JAMMER / DOCUMENTATION DESIGN REVISION 0.1