Launch App
Live on Avalanche Fuji · Powered by eERC encrypted tokens

Trade in silence.

PHANTOM wraps your USDC into encrypted tokens on Avalanche. Send any amount to anyone — the blockchain confirms your transfer happened, but the amount stays cryptographically hidden from everyone else.

snowtrace.io — transaction logs

Status: Success

Event: PrivateTransfer

from: 0x637A…08b7

to: 0xa168…41F9

amount: ◈ encrypted — 7 × uint256 ciphertext

1842…9917, 7302…4415, 9986…1024, 5521…8890, …

A real PHANTOM transfer on the public explorer — there is no amount field to find.

The problem

Every transfer you make is public

On a normal blockchain, anyone — competitors, bots, strangers — can see exactly how much you hold and how much you send. Your entire financial history is one address lookup away.

Standard ERC-20 transfer

Transfer(0x637A…08b7 → 0xa168…41F9, 2,000,000 USDC)

The amount is plaintext, forever, for everyone. Front-runners trade against you. Counterparties learn your position size.

PHANTOM private transfer

PrivateTransfer(0x637A…08b7 → 0xa168…41F9, ◈ ciphertext)

The amount is encrypted with ElGamal over BabyJubJub and proven valid with a zero-knowledge proof. Only you, the recipient, and a designated auditor can ever decrypt it.

How it works

Three steps. Full privacy.

PHANTOM sits on top of eERC — Avalanche's encrypted token standard — and handles all the cryptography for you.

01

Shield

Deposit USDC into the PHANTOM vault. It locks your public tokens and mints an equal encrypted balance of eUSDC that only your keys can read.

02

Transfer

Send eUSDC to any registered address. Your browser generates a zk-SNARK proving the transfer is valid — without ever revealing the amount on-chain.

03

Reveal

Unwrap back to public USDC whenever you want. You stay in control: privacy while you trade, liquidity when you need it.

Under the hood

Real cryptography, no hand-waving

PHANTOM was verified end-to-end on Fuji: deposits, private transfers, and withdrawals — with the encrypted amounts confirmed unreadable on the public explorer.

zk-SNARKs, in your browser

Groth16 proofs are generated client-side with snarkjs. Your secrets never leave your machine — the chain only sees a proof that the math checks out.

Keys derived from your wallet

Your encryption keys are derived deterministically from a wallet signature. No seed phrases to back up, no new accounts to manage.

Auditable by design

Every transfer includes a ciphertext only a designated auditor can decrypt. Privacy from the public — not from compliance. PHANTOM is not a mixer.

Built on eERC by Ava Labs

The encryption layer is Avalanche's official eERC converter standard: ElGamal + Poseidon encryption over the BabyJubJub curve, unmodified.

FAQ

Questions, answered honestly

What exactly is hidden?

The amounts — of your balance and of every private transfer. Sender and recipient addresses remain visible on-chain, which is what makes PHANTOM confidential rather than anonymous. It hides how much, not who.

Who can see my balance?

Only you (with keys derived from your wallet signature), anyone you transfer to (for the amount they receive), and a designated auditor. Nobody else — not even the PHANTOM contract itself — can decrypt the numbers.

Is this a mixer or tumbler?

No. Mixers hide who paid whom and are frequently sanctioned. PHANTOM keeps participants visible and gives a designated auditor cryptographic access to amounts, making it compatible with compliance requirements.

What do I need to use it?

A wallet like MetaMask connected to Avalanche Fuji testnet (chain ID 43113), some testnet AVAX for gas, and testnet USDC. Register once to generate your encryption keys, then shield, transfer, and reveal freely.

Can I get my USDC back?

Always. Your encrypted eUSDC is backed 1:1 by USDC locked in the vault contract. The Reveal action burns eUSDC with a zk proof and returns plain USDC to your wallet.

Your balance. Nobody's business.

Connect a wallet on Avalanche Fuji and make your first private transfer in under a minute.

Launch App