Architecture

Murk has a small number of parts. The chain is the source of truth; everything off‑chain is a convenience your wallet could live without.

Part Role
Solana program The pool and the verifier. It checks every private action's proof on‑chain and holds the funds. The only thing you have to trust.
Your wallet (the app) Runs in your browser. Derives your keys, builds your notes, and generates zero‑knowledge proofs on your device. Your secrets never leave it.
Relayer Submits your private actions and pays the network gas, so your own wallet never has to touch the pool on‑chain. It's reimbursed by a fee inside your proof and can't alter or steal anything.
Indexer A read‑only mirror of public chain state, so your wallet can sync quickly instead of scanning the whole chain.

How a private action flows

  1. Prove. Your device selects the notes to spend and builds a zero‑knowledge proof that the action is valid — value is conserved, you own the inputs, the recipient's key is included — without revealing any of it.
  2. Submit. The proof goes to the relayer, which lands it on Solana and pays the gas.
  3. Verify. The program checks the proof, records the spent notes, and creates the new ones. Each new note's encrypted contents are written on‑chain, bound to the proof.
  4. Sync. The indexer picks up the new on‑chain data; your wallet (and the recipient's) discovers its notes by trial‑decrypting with its viewing key.

Recover from the chain

Because every note's encrypted data lives on‑chain and everything derives from your wallet, you never depend on Murk's servers for your money. Connect the same wallet anywhere and your wallet rebuilds your balance and history from the chain alone.

Swaps

A swap is the same shape with a market step in the middle: the pool escrows what you're selling, routes it through a DEX (via Jupiter) with the pool's own program authority signing, then delivers at least your minimum‑out as a new private note — or returns your input if it can't. The three steps land together so a swap is all‑or‑nothing.

results matching ""

    No results matching ""