Protocol
How a sealed payment clears on Solana.
Solhaus doesn’t bring its own privacy chain or a mixer. It sits on the confidential transfer extension of SPL Token-2022, which ships with Solana, and adds .sol name resolution, agent policies and scoped disclosure on top.
- 01
Configure
When you open an account, your wallet signs a fixed message. From that signature Solhaus derives an ElGamal keypair and an AES key, then calls ConfigureAccount on a Token-2022 USDC account that has the confidential transfer extension enabled. A public-key validity proof shows that you actually hold the secret.
- 02
Deposit
Deposit moves tokens from your public balance into the confidential pending balance. This step is visible, because the amount had been public up to that point. After it, all movement happens under encryption.
- 03
Apply
Incoming transfers stack up in the pending balance so that senders never collide with your own spends. ApplyPendingBalance merges them into the available balance, and the client writes back an AES-encrypted copy so your app can show the figure right away.
- 04
Transfer
To send, the client encrypts the amount under the sender, recipient and optional auditor keys. It then attaches a ciphertext-equality proof, a validity proof and range proofs showing that the amount and the remaining balance are both non-negative. The ZK ElGamal proof program checks all of them before the token program adds or subtracts the ciphertexts.
- 05
Enforce
Agent sub-accounts route their transfers through the Solhaus policy program. It reads the agent's encrypted spend window and requires extra range proofs on per-payment caps and budget headroom. Anything outside the policy fails atomically.
- 06
Disclose
A receipt is a decryption of one transfer's ciphertext plus a proof that the decryption is correct. You produce one per payment, so the reader learns that transfer and nothing else.
What’s on chain
- Curve
- Ristretto255 (Curve25519)
- Scheme
- Twisted ElGamal + Pedersen
- Proofs
- Sigma protocols, Bulletproofs
- Verifier
- ZK ElGamal Proof program
- Token
- USDC (Token-2022 wrapped)
- Names
- Solana Name Service (.sol)