ZUL://DOCSPRIVACY LAYER 2 — SETTLED ON SOLANA
INDEX
CHAIN — /docs/chain/transactions

Transactions

A ZUL transaction is a Solana transaction — same wire format, same signature scheme, same instruction model. Anything that can build and sign a Solana transaction can submit to ZUL by pointing at the L2 RPC.

Lifecycle

  1. SubmitsendTransaction over JSON-RPC. The node checks signatures and the recent blockhash (the queue keeps the last 150 blockhashes ≈ 75 seconds of validity).
  2. Mempool — a bounded queue with signature deduplication.
  3. Execution— the next block's batch runs through the SVM. Failed transactions are recorded on-chain with their error.
  4. Finality — one block. There is a single producer and no forks, so inclusion is finality on the L2. (Settlement to L1 adds its own cadence — see Settlement batches.)

Fees

Fees use standard SVM fee handling, paid in ZUL by the fee payer (the first signer), and collected into a protocol fee account. Compute is metered in compute units exactly as on Solana; the Compute Budget program is preloaded, so priority-fee and CU-limit instructions parse correctly.

What the explorer records

  • Signature, slot, index-in-block, success or error.
  • Fee paid and compute units consumed.
  • Fee payer and the full account key list.
  • Program log messages, including shielded-pool log lines.
  • A ✦ touched-pool flag when any instruction targets the shielded pool program.
PRIVACY

For shielded transactions the explorer can only show what the chain itself knows: nullifiers in, commitments out, fee paid. Amounts and counterparties never appear because they never exist in public data. See Shielded pool.