A private bridge between Solana and Ethereum.
Your USDC lands in a private balance on Aztec, Ethereum’s private layer. Every step is on a public chain, so anyone can check it. What stays private is which deposit became which balance.
Testnet · Solana · Circle CCTP · Ethereum · AztecWhere your money is, at every step.
- 01 · Solana
Your wallet
Your USDC is split into notes of fixed sizes. You sign each deposit.
- Held by
- You
- Anyone can check
- That your wallet deposited, and when
- 02 · Solana
Gateway escrow
The Eclyps program holds your note in the open batch.
- Held by
- Eclyps gateway escrow
- Anyone can check
- Every note in the open batch
- 03 · Solana
The batch closes
Once 4 deposits of one size have arrived, anyone can close it and send it.
- Held by
- Gateway escrow
- Anyone can check
- The batch: its size, total and fingerprint
- 04 · Solana to Ethereum
Circle CCTP
Circle burns the batch on Solana and mints it on Ethereum.
- Held by
- Nobody: burned, then minted to the portal
- Anyone can check
- Circle’s message, carrying the fingerprint
- 05 · Ethereum
Eclyps portal
The portal holds the USDC and tells Aztec about the batch.
- Held by
- Eclyps portal
- Anyone can check
- The portal’s USDC, and the batch registered on Aztec
- 06 · Aztec
Your private note
You claim one note into your private balance, when you choose.
- Held by
- You, privately, backed by USDC in the portal
- Anyone can check
- That a claim happened. Never which note
- Move in at any time. Your note waits in the escrow until its batch fills.
- Anyone can close a batch and carry it across. Eclyps runs no server in the path.
- If a batch can’t fill within about a day, you can take your note back to the wallet that deposited it.
- Moving out burns a note on Aztec. To Solana, exits cross in batches of at least four; you claim yours to a fresh address when it lands.
- To Ethereum, each exit is its own message. Once Aztec proves it, you claim it to the address you chose, from any Ethereum wallet.
- How long: a batch lands on Aztec a minute or two after it crosses, and the claim takes a couple more. Leaving Aztec waits for its proof, which comes about 3 to 5 minutes after the end of each 38-minute epoch; to Solana, Circle then needs about 15 minutes more. The app shows an estimate at each step, from these measured times.
Your claim hides in a crowd of identical notes.
A claim proves it is one of them.
Never which one.
A claim doesn’t reveal its batch either, so the crowd is every note of that size that has crossed.
Why fixed sizes
Each size has its own crowd. Whatever doesn’t fit a size stays in your wallet.
Why waiting helps
Wait for later batches of the same size, then claim at a time of your own.
Once a week, people move in together.
Next eclipse: Sunday 18 October, 20:00 UTC
Totality is Sunday, 20:00 to 21:00 UTC: the hour people aim to move in together, every week.
You can move in at any time. The eclipse is optional: crossing outside it works the same, with fewer people, so it is less private.
- Deposits arrive together, so batches fill sooner.
- A deposit’s timing says less about who made it.
- In the app, after Send, Wait for the eclipse puts your deposits in that hour.
- No reward, and no promise of how many will come.
- It doesn’t grow the crowd you claim from. Claim later, at a time of your own.
- You still sign each deposit yourself, with the app open.
What anyone can see, and what only you can.
- Your Solana wallet deposited notes of a fixed size, and when
- Each batch: its size, its total and its fingerprint
- That a claim of one size happened on Aztec, and when
- The USDC held by the Eclyps portal on Ethereum
- Where a note moved out to, and when: never which note or account it came from
- Which deposit a claim came from
- Your Aztec account and its balance
- Your recovery phrase and your notes’ secrets
What Eclyps cannot hide, and what helps.
- Low traffic
- Few notes make a small crowd. Early on, it is small.
- Amount and timing
- Deposits made together, unusual mixes of sizes and quick claims can be matched up.
- Network metadata
- The RPC providers you connect to see your IP address.
- Your own wallets
- Moving out to a wallet that deposited, or claiming an exit with it, links the two.
- Paying with SOL
- Jupiter sees the swap: your wallet, the amount and your IP address.
- Spread deposits
- One note per epoch, over hours or days.
- Claim later
- After later batches of the same size have landed.
- Hide your IP
- Use Tor or a private relay where you can.
- Move out fresh
- To a new address, hours or days after claiming, one note at a time.
Your keys stay with you, not with Eclyps.
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- Passkey
- Face ID, Touch ID, Windows Hello or a phone. Your keys come from it, so the same synced passkey opens your notes on a new device. Phishing sites can't use it: it works only on Eclyps.WebAuthn PRF · HKDF-SHA256
- 24 words
- The same keys as a recovery phrase. Optional with a passkey, under Keys; needed if you lose every device and the account that syncs it.
- This browser
- Holds an encrypted vault, opened by your passkey, or by a passphrase where passkeys can't hold keys.AES-GCM-256 · PBKDF2-SHA256 600,000×
- No Eclyps server
- Nobody else keeps a copy, and Eclyps can't recover anything. Whoever controls your passkey or your words controls your notes.
- View-only key
- Lets someone, like an accountant, see your notes. It cannot spend.
What a crossing costs.
0.5%on top of each note
- Eclyps fee
- 0.3% to whoever carries the batch, 0.2% to the treasury. Nothing is charged if the batch never crosses.
- Deposit cap
- A cap limits the total that can enter while the code is young.
- Per note
- ≈ 0.00045 SOL: the Solana fee, plus rent for the 64 bytes each deposit adds.
- Circle CCTP
- None. Batches use the standard transfer.
- Paying with SOL
- Swapped to USDC through Jupiter first, at Jupiter’s price, pool fees included.
- Claim on Aztec
- On testnet, paid by the network’s sponsored fee contract.
- Moving out
- No Eclyps fee. The claim pays its chain’s fee; on Solana ≈ 0.002 SOL more if the address has no USDC account yet.
- Carrying batches
- Paid by whoever closes, sends and registers them, from their 0.3%.
A prototype on test networks.
- Test networks only. Solana devnet, Ethereum Sepolia, Aztec testnet. Do not use real funds.
- Unaudited. The code has not been audited.
- Moving out is open on testnet. To Solana it waits for four exits and an Aztec proof: about an hour in the first run.
- Small crowds. Anonymity is weak while few people use it.
- In the escrow
- Held by the program until its batch sends, its fee beside it. No one, the team included, has an instruction to withdraw either. A stuck deposit can only go back, with its fee, to the wallet that made it, after about a day.
- In the portal
- The portal contract can’t be upgraded. Its USDC moves only for an exit Aztec has proven: a batch burned to Solana, or one note paid to its Ethereum address.
- Upgrades
- On test networks the admin can still upgrade the Solana program. Before mainnet: a multisig with a timelock, verified builds, and the upgrade power renounced after the audit. Admin roles expire within two years.
Addresses anyone can inspect.
Reading the deployment…
Published with the public testnet.