General FAQ
What's the motivation and purpose behind Mirage?
Mirage was created to make private stablecoin payments feel simple enough for everyday use.
In the traditional financial system, privacy is part of the payment experience. Companies can send payroll, pay suppliers, manage treasury transfers, and settle transactions without revealing sensitive financial information to the public. Individuals can pay without publishing a permanent financial graph.
Public blockchains work differently. Wallet balances, transaction amounts, and counterparties are visible by default. That transparency is useful for auditability, but it makes stablecoins harder to use for normal financial activity.
For stablecoins to reach mainstream payments, users need privacy without relying on a centralized custodian or learning a complex privacy workflow.
Mirage aims to provide that missing layer. Its purpose is to enable confidential stablecoin transfers directly on public blockchains, allowing wallets, payment platforms, exchanges, and decentralized applications to offer privacy while preserving self-custody.
At the same time, Mirage is designed with compliance considerations in mind. The system can use wallet screening and transaction monitoring mechanisms that help identify links to sanctioned entities, criminal activity, or compromised funds.
How does Mirage differ from other privacy solutions?
Most privacy systems (mixers, privacy pools) rely on pools or shared smart contracts where funds are mixed together. Because these contracts are public and identifiable, observers can easily detect when someone interacts with a privacy protocol or tool. Privacy coins, in contrast, obscure transaction details at the protocol level to ensure every transaction is private by default, making them untraceable rather than just pseudonymous.
Mirage takes a different approach:
- Simple UX: users send stablecoins through a familiar payment flow
- Fast settlement: Mirage targets seconds on supported L2s and under 90 seconds on Ethereum mainnet, depending on network conditions
- Segregation of funds: each private transaction uses a unique temporary escrow contract
- Usage privacy: transactions avoid a single known privacy contract or shared pool fingerprint
- Native stablecoins: no need to swap into a different asset or privacy chain
- Proof-based settlement: nodes are reimbursed only after correct execution is verified onchain
The system is designed to make private stablecoin payments easier to use while reducing the simple public labels that come with shared privacy pools. See How Mirage Compares and Technical Model for more detail.
Is Mirage non-custodial?
Yes, Mirage and participating nodes don't hold funds in custody. Instead:
- Funds are deposited into temporary escrow contracts deployed by the user
- Execution of the payment is verified on-chain before reimbursement
- No trusted party must approve the transfer
Nodes only execute transactions and receive reimbursement from escrow contracts after proof of correct execution. The user can withdraw funds from the smart contract at any time without needing any permissions, as long as a node has not already submitted a security deposit to finish the transaction.
How long does a Mirage payment take?
The following time indications represent the time for the network of nodes to process and settle the transaction:
- Ethereum mainnet: less than ~90 seconds
- Layer 2 networks (e.g. Base or Arbitrum): under ~6 seconds
- Tempo (Testnet): under ~4 seconds
Actual processing time depends on network block times and congestion.
Can I use Mirage directly in wallets or dApps?
Yes, Mirage is designed to be integrated into wallets, protocols, and applications. Integrations can be implemented through a simple JavaScript SDK, while all sensitive transaction data is encrypted locally on the user's device before being sent to the network's nodes.
What information remains visible on-chain?
Mirage is designed so that the blockchain activity looks like an ordinary stablecoin transfer.
Observers may see:
- A deposit into a temporary contract
- A standard transfer from another address to the recipient
- A later withdrawal from the escrow contract
Because each transaction uses a unique contract and does not interact with a recognizable privacy pool, observers do not get the usual simple privacy-protocol label. Timing, amount, gas behavior, and contract deployment patterns can still matter, which is why Mirage combines unique escrows, encrypted signals, confidential-computing nodes, and ongoing privacy research.
What information does Mirage collect?
As of the upcoming Beta release, when connecting a wallet to the Mirage web application, the system will perform wallet screening, risk scoring, and analysis of the origin of funds through a compliance partner integration, allowing Mirage to ensure compliance with Anti-Money Laundering (AML) and Countering the Financing of Terrorism (CFT). This allows Mirage to gatekeep its use from illicit users.
Is there a liquidity risk associated with using Mirage?
No, because the escrow contract only reimburses the funds to the node after the transaction is verified.
Mirage transactions rely on nodes that provide their own liquidity to execute transfers. Nodes must maintain a minimum amount of stablecoin liquidity (e.g. USDC) in order to execute user requests.
This means:
- Nodes temporarily front liquidity for payments
- The escrow contract later reimburses them after verification
If there is not enough liquidity in the network of nodes, the funds remain in the escrow contract available to withdraw or try again at any later time.
What are the fees associated with a Mirage transaction?
- Node fees: the tip the user includes to incentivize nodes to process the transaction
- Platform fees: 50 bps (0.5%) of the transacted volume in stablecoins
- Network fees: such as gas fees on Ethereum