In development · Devnet prototype

Private transfers
and programs on Solana

Send SPL tokens without publishing the sender, recipient or amount, and run Noir programs over notes you own. Each action carries a zero-knowledge proof that a Solana transaction verifies.

A short history of money

Money has changed
form many times

Money has been shells, metal coins, paper notes and bank ledgers. Public blockchains made payments easy to verify, and also made every payment readable by anyone.

Prehistory Shell money The earliest portable money
  1. Sundial sea shell
    Prehistory Shell money
  2. Lydian electrum trite of Alyattes
    c. 600 BC Electrum trite, Lydia
  3. Athenian silver tetradrachm with an owl
    c. 490 BC Silver tetradrachm, Athens
  4. Punch-marked silver karshapana from Magadha
    c. 400 BC Karshapana, Magadha
  5. Roman silver denarius of Augustus
    c. 10 BC Denarius, Rome
  6. Byzantine gold solidus
    6th c. Solidus, Constantinople
  7. Kaiyuan Tongbao bronze cash coin
    621 Kaiyuan Tongbao, Tang China
  8. Gold dinar of al-Walid
    707 Gold dinar, Umayyad Caliphate
  9. Hungarian gold ducat of Vladislaus II
    1491 Gold ducat, Hungary
  10. Gold mohur of Shah Jahan
    c. 1640 Mohur, Mughal Empire
  11. Spanish silver eight reales cob
    1600s Eight reales, Mexico City
  12. 1860 British bronze penny with Queen Victoria
    1860 Penny, Britain
  13. Morgan silver dollar (2021 commemorative strike of the 1878 design)
    1878 Morgan dollar, United States
  14. Bimetallic two euro coin
    2002 €2, Eurozone
  15. Casascius physical bitcoin
    2009 Bitcoin
  16. The Polypus chrome octopus coin
    Next Polypus

On Solana, every transfer is public. Anyone with a block explorer can look up your balance, who you paid, who paid you and how much.

Polypus adds a shielded pool to Solana. You can send SPL tokens or run your own programs without publishing those details. Each action is settled by a Solana transaction that checks a zero-knowledge proof, and anyone can look that transaction up.

How it works

One private transfer,
step by step

Scroll to follow a devnet transfer from your wallet to its Solana receipt. You can change the amount and recipient first. Nothing is sent.

  1. 01

    Shield

    Your USDC moves into the Polypus pool as a note that only your keys can spend.

  2. 02

    Encrypt

    The note is encrypted to the recipient. The pool stores only a commitment, a hash that hides the amount and owner.

  3. 03

    Prove

    Your device builds a zero-knowledge proof that the transfer is valid. Amounts and keys never leave it.

  4. 04

    Settle

    A relayer submits the transaction. The Polypus program on Solana checks the proof and records the new note.

Send privately Draft

TransferDevnet · USDC

From Public balance · 1,204.50 USDC ct_9ZfQ2k…Wd4Rbs ██████████
ct_4KpT7x…hN8cEu ██████████
USDC ct_Bv3mQa…6YjtGz ██████

ReviewSubmitted by a relayer

Token mint
4zMMC9…JDncDU
Network fee
0.000005 SOL
Recipient receives
A private note
New commitment
cm_5RtWq8…Kd2NhY
Spent nullifier
nf_8GxPv3…sT6mQe
Encrypted note
184 bytes
Groth16 · BN2540%
Constraints
0 / 31,207
Elapsed
0.00 s
Signature
5vGr8L…kQiCx2
Program
PoLYpu…nK5uB7
Slot
318 204 556
Status
Finalized

Private programs

Write programs that
keep their inputs private

Private programs launch alongside private transfers. Developers write them in Noir, over notes that users own: escrow, private payroll, or a balance proof that shows you hold enough without showing how much. Each run produces a proof, and a Solana transaction checks it.

Illustrative. Timings, slot and signature are examples.

Your money should be private.

In development. Join the waitlist for devnet access and release notes.

Placeholder form: nothing is sent or stored yet.