The problem
Public blockchains expose every transaction. Wallet balances, payment amounts, counterparties. All visible to anyone.
Banks, payment providers, and businesses cannot operate this way. They need confidentiality for their customers and themselves.
Existing privacy solutions solve this by making transactions anonymous. Regulators shut them down. Tornado Cash proved that privacy without accountability is a dead end.
Private, not anonymous
Moonlight separates visibility from accountability.
On-chain
Transactions are confidential. Observers cannot see who sent what to whom. Amounts, sender, and recipient are hidden.
Off-chain
Privacy Providers hold transaction data. When a regulator or auditor asks, the provider can produce the records. Privacy with a compliance trail.
How it works
Councils set the rules
A council is a governance contract that defines which Privacy Providers can operate and with which assets. Councils adhere to the laws of their regulatory region.
Providers process transactions
Privacy Providers onboard users, verify compliance, and batch transactions together. The batching makes individual transactions indistinguishable on-chain.
Users transact privately
Users deposit, send, and withdraw through their provider. The experience is a normal payment. The privacy happens in the background.
Who it's for
Institutions
Banks and payment companies that want to operate as Privacy Providers. Run the infrastructure, onboard customers, earn fees per transaction.
Regulators and consortiums
Organizations that want to govern councils. Define which providers can operate, set compliance requirements, oversee jurisdictions.
Developers
Build privacy into your app. The SDK and API handle key derivation, transaction construction, and provider communication. Published on JSR.
Ecosystem
Built on Stellar with Soroban smart contracts. Funded by the Stellar Community Fund.