Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

Zul — Privacy Layer 2 on Solana

Privacy Layer 2 on Solana — real SVM execution, a native ZUL gas token, and a multi-asset zk shielded pool.

zul.so  ·  @zuldotso

CA  GhiustNSWBD3CRDZbm9wegKZpuQjWHKVVQkv6QYPpump


A real Layer 2 chain that settles to Solana: own block production (single PoA sequencer), real SVM execution via Agave's solana-svm, native gas token ZUL, and a multi-asset zk shielded pool. The bridge accepts native SOL and any SPL token (each L1 mint becomes a deterministic L2 wrapped token), in both directions (deposit + withdraw), and bridged assets can be shielded privately in the pool — not just held transparently.

See docs/PLAN.md for the implementation plan and trust model, and docs/DEPLOY-MAINNET.md for the mainnet runbook.

Layout

chain/        Rust workspace: the ZUL node
  zul-primitives   blocks, genesis, hashing, config
  zul-store        accounts (redb), blocks, blockhash queue, state SMT
  zul-executor     solana-svm integration (transaction execution)
  zul-privacy      shielded pool builtin (Groth16 + Poseidon)
  zul-rpc          Solana-compatible JSON-RPC (HTTP + WS)
  zul-bridge       L1 deposit watcher + settlement batcher
  zul-node         the sequencer binary
programs/     Anchor workspace: settlement, bridge, da_log (Solana L1)
circuits/     circom 2 circuits + build/setup scripts
sdk/          TypeScript SDK (bridge + shielded client)
indexer/      TypeScript indexer worker (node -> Postgres)
explorer/     Next.js 16 block explorer
docs/         plan and protocol notes

Quickstart (local)

# chain node (Rust)
cd chain
cargo test                  # unit + integration tests
cargo run -p zul-node -- --config ../config/testnet/node.example.toml

# web stack (TypeScript)
pnpm install
pnpm -r build

Config is per-network: config/testnet/ (settles to Solana devnet) and config/mainnet/ (settles to mainnet-beta; no faucet). Only the *.example.toml templates are committed — generate live keys/genesis/config with ZUL_NET=testnet|mainnet ./scripts/init-live.sh. Keys, RPC endpoints, and SSH material are intentionally absent from this repo.

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.