Launch App

Introduction

MIST is a privacy protocol built natively for Solana that enables fully private transactions using zero-knowledge proofs (zk-SNARKs). Unlike other privacy solutions, MIST hides the sender, receiver, and amount of every transaction.

Complete Privacy

All transaction details are hidden using advanced cryptography.

Non-Custodial

You control your keys at all times. No trusted third parties.

Lightning Fast

Proof generation in under 1 second, optimized for Solana.

Verified On-Chain

Every proof is verified by Solana validators.

Quick Start

Get started with MIST in just a few steps. No coding required for basic usage.

1

Connect Your Wallet

Connect your Phantom, Solflare, or any Solana-compatible wallet to the MIST app. Your private keys never leave your device.

2

Shield Your SOL

Deposit SOL into the MIST shielded pool. This converts your public SOL into private, shielded SOL that can't be tracked.

3

Send Privately

Transfer shielded SOL to any address. The transaction is completely private — sender, receiver, and amount are all hidden.

4

Unshield (Optional)

Convert your shielded SOL back to regular SOL whenever you need to interact with other Solana apps.

Pro Tip

For maximum privacy, wait some time between shielding and transferring. This makes it harder to correlate your transactions.

How It Works

MIST uses a combination of cryptographic techniques to achieve privacy while maintaining the security guarantees of the Solana blockchain.

The Shielded Pool

When you shield SOL, your funds enter a shared "shielded pool." This pool contains the combined funds of all MIST users, making it impossible to trace individual balances.

Commitments & Nullifiers

Each shielded transaction creates a commitment (a cryptographic hash representing your funds) and a nullifier (a unique value that prevents double-spending). These are stored on-chain but reveal nothing about the actual transaction.

Conceptual Flow
// 1. Shield: Public SOL → Shielded Pool
PublicSOL → createCommitment(amount, secret) → ShieldedBalance

// 2. Transfer: Prove ownership without revealing details
generateProof(oldCommitment, newCommitment, nullifier)
→ Verifier checks proof on-chain
→ ShieldedBalance transferred privately

// 3. Unshield: Shielded Pool → Public SOL
proveOwnership(commitment) → PublicSOL returned

Zero-Knowledge Proofs

MIST uses zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) to prove transaction validity without revealing any details.

What is a zk-SNARK?

A zk-SNARK allows you to prove that you know something (like a secret key) without revealing what that something is. In MIST's case, you prove:

  • You own the funds you're spending
  • You're not double-spending
  • The transaction amounts balance correctly

All without revealing who you are, who you're sending to, or how much.

Proof Generation

Proofs are generated off-chain on your device, then submitted to Solana for on-chain verification. This keeps proof generation fast while maintaining trustless verification.

Metric Value Notes
Proof Generation <800ms On modern devices
Proof Size 288 bytes Compact for on-chain storage
Verification Time ~10ms Fast on-chain verification
Security Level 128-bit Industry standard

Privacy Model

Understanding what MIST hides and what it doesn't is crucial for using it effectively.

What's Hidden

  • Sender address — Nobody knows who sent the transaction
  • Receiver address — Nobody knows who received the funds
  • Amount — The transaction amount is encrypted
  • Account balance — Your shielded balance is private

What's Visible

  • Transaction occurred — Observers can see a MIST transaction happened
  • Approximate timing — When the transaction was included in a block
  • Gas fees — The fee paid to Solana validators

Privacy Best Practices

Avoid shielding and immediately unshielding the same amount. This pattern can be analyzed to link your transactions. For best privacy, vary amounts and timing.

SDK Setup

Integrate MIST into your application using our TypeScript SDK.

Installation

Terminal
# Using npm
npm install @mist-protocol/sdk

# Using yarn
yarn add @mist-protocol/sdk

# Using pnpm
pnpm add @mist-protocol/sdk

Basic Usage

TypeScript
import { MistClient, Keypair } from '@mist-protocol/sdk';

// Initialize the client
const mist = new MistClient({
  network: 'mainnet-beta',
  wallet: yourWalletAdapter,
});

// Shield SOL (deposit into private pool)
const shieldTx = await mist.shield({
  amount: 10 * 1e9, // 10 SOL in lamports
});

// Send private transfer
const transferTx = await mist.privateTransfer({
  recipient: recipientPublicKey,
  amount: 5 * 1e9, // 5 SOL
});

// Unshield SOL (withdraw from private pool)
const unshieldTx = await mist.unshield({
  amount: 5 * 1e9,
  recipient: yourPublicKey,
});

Full API Reference

For complete API documentation, including all methods, parameters, and examples, see our API Reference section.

Frequently Asked Questions

Is MIST fully non-custodial?

Yes. Your private keys never leave your device. MIST's smart contracts are non-upgradeable and cannot access your funds — only you can move your shielded SOL.

What happens if MIST goes offline?

Your funds remain safe on-chain. The smart contracts are immutable and will continue to function. You can always unshield your funds using any compatible interface or directly via the contracts.

Is MIST audited?

Yes. MIST has been audited by leading security firms. Audit reports are available in our Security section.

What are the fees?

MIST charges a small protocol fee (0.1%) on shield and unshield operations. Private transfers between shielded addresses have no protocol fee — you only pay Solana network fees.

Can I use MIST with hardware wallets?

Yes. MIST works with Ledger and other hardware wallets through Phantom, Solflare, and other wallet adapters.

Security

Security is our top priority. Here's how we keep your funds safe.

Audits

Our smart contracts and cryptographic circuits have been audited by:

  • OtterSec — Smart contract security audit
  • Trail of Bits — Cryptographic circuit review
  • Zellic — Full protocol audit

Bug Bounty

We run a bug bounty program with rewards up to $100,000 for critical vulnerabilities. If you find a security issue, please report it responsibly.

Security Notice

Never share your private keys or seed phrase with anyone. MIST team will never ask for your keys. Beware of phishing sites — always verify you're on the official MIST domain.