Litepaper · v0.1
Private payments, sent by text.
A short technical overview of the Hvisk privacy layer. Suitable for engineers, auditors, and policy researchers. The full paper, with proofs and benchmarks, ships with mainnet.
Abstract.
Hvisk is a payment layer that combines SMS as a transport, Ed25519 signatures for authentication, Groth16 zero-knowledge proofs for privacy, and Solana for settlement. Users send confidential payments from any phone, with or without internet, in messages of 160 characters or less. On-chain, validators see only commitments and proofs; never amounts, balances, or recipient identities.
1. Motivation.
Public blockchains exposed every transaction to the world. At the same time, 2.6 billion people lack reliable mobile internet but do have access to GSM. Hvisk closes both gaps with a single primitive: a privacy-preserving payment that fits in a text message.
2. System overview.
Five components participate in a payment.
2.1 Client device.
Generates a per-user Ed25519 keypair. The secret key is stored in the iOS Keychain or Android Keystore, hardware-backed where available. The client constructs a payment intent, signs it, generates a zero-knowledge proof of valid balance and authorised spend, and encodes the result as a 160-character SMS body.
2.2 SMS gateway.
Receives the SMS through a carrier interconnect. Validates the Ed25519 signature, enforces replay protection via a per-user sequence number, injects a fresh Solana blockhash, and forwards the proof bundle to the prover.
2.3 Zero-knowledge prover.
Runs Groth16 verification on BN254. For Public-mode transfers, no proof is required. For Partial, a Pedersen commitment hides the amount. For Full, the entire transfer is routed through the HviskPrivacyPool, an unspent-note set that breaks the link between sender and recipient.
2.4 Solana RPC.
Hvisk submits the proof-wrapped transaction to the Solana network. Settlement typically completes in under two seconds. The HviskFacilitator contract verifies the proof on-chain in roughly 8 ms before releasing funds.
2.5 Confirmation service.
Sends a settlement receipt to the sender and recipient by SMS. High-value or Full-privacy notifications use a brief automated voice call; voice is ephemeral and less interceptable than a stored SMS.
3. Privacy modes.
Hvisk supports three modes, selected per transaction.
Public. Standard SPL transfer. Sender, recipient, and amount visible on-chain. Used for low-stakes, public-good payments.
Partial. Amount is hidden behind a Pedersen commitment. Sender and recipient addresses are still visible. Used when the parties are not sensitive but the size of the payment is.
Full. The transfer is routed through the HviskPrivacyPool. Validators see only a nullifier and a commitment to the new note set. Used by default for payments above a configurable threshold.
4. Contracts.
Four programs deployed to Solana. HviskPrivacyPool maintains the shielded UTXO set and the Groth16 verifier. FHERC20 wraps SPL tokens with encrypted balances. HviskFacilitator implements the x402 protocol on-chain, with automatic settlement on proof verification. DepositRouter combines a deposit and a small SOL transfer in one transaction so users without prior gas balance can fund their first note.
5. Roadmap.
Devnet today. Testnet in Q2 2026. Mainnet in Q4 2026 after the audit cycle described on the audits page. SMS gateway expansion to West Africa and South Asia in 2027.
6. References.
The full litepaper ships with mainnet and will include full proofs, benchmarks, and a security model. Pre-print available on request: research@hvisk.app.