What Eclyps is

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 · Aztec
How money crosses

Where your money is, at every step.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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.
The crowd

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

Any amountEach one stands out.
Fixed sizesThey look alike.

Each size has its own crowd. Whatever doesn’t fit a size stays in your wallet.

Why waiting helps

Claim right awayTiming points at your batch.
Claim after later batchesMore notes could be yours.

Wait for later batches of the same size, then claim at a time of your own.

The eclipse

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.

What it does
  • 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.
What it doesn’t
  • 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.
Public and private

What anyone can see, and what only you can.

Anyone can see
  • 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
Only you can see
  • Which deposit a claim came from
  • Your Aztec account and its balance
  • Your recovery phrase and your notes’ secrets
Limits

What Eclyps cannot hide, and what helps.

Cannot hide
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.
What helps
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

Your keys stay with you, not with Eclyps.

  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 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.
Fees

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%.
Status

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.
Who can move the money
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.
Verify it yourself

Addresses anyone can inspect.

Reading the deployment…

Source code

Published with the public testnet.