Privacy inside
the token.

Open demo wallet Ethereum fork. Test funds only.

An ERC-20 with encrypted balances
and private transfers.

A different kind of visibility

Same token.
Different visibility.

DARK works as a public ERC-20. Its encrypted ledger lives inside the same contract. Move between both sides without a separate pool contract.

Public by default.

1,840 DARK

Public balances work with ordinary wallets, bots, routers, and Uniswap v2.

A balance anyone can read.

Private with DARK.

Encrypted balanceDARK

Your dark key decrypts your private balance. Proofs authorize a spend without publishing it.

A balance only your key can read.

Illustrative balances. Your actual balance appears in the wallet.

A transfer.
Without the trail.

The chain checks a proof. It doesn’t need the sender, the recipient, or the amount. Compare the public record with a view using the sender’s key.

The public record
Sender
Hidden within the ring
Recipient
Hidden within the ring
Amount
HiddenDARK
See the ciphertext

Use the sample key to generate an encrypted amount locally. This example uses DARK’s Baby Jubjub curve code. It doesn’t submit a transaction.

Privacy has a boundary.

Entries are public. Exit amounts, payout addresses, and relayer fees are public too. Private sends conceal the participants and transfer amount within a public ring.

In. Across. Out.

Buy into the ledger, send within it, or return to the public side. Every route has a clear privacy boundary.

ETHtoPrivate DARK

Buy into the private side.

Swap ETH through Uniswap v2 and receive DARK in your encrypted balance.

VisibilityThe entry amount and destination dark key are public.

Try it in the wallet

The mechanism.
No mystery.

The privacy comes from the ledger’s cryptography. Here’s what the current protocol does, and where it stands.

Encrypted balances
Baby Jubjub ElGamal ciphertexts live in the token contract. The browser decrypts your balance locally with your dark key.
Eight-key rings
A Groth16 proof validates a private spend inside a public ring of eight keys, without identifying the sender or recipient.
60-second epochs
Incoming funds become spendable in the next epoch. Each key can make one private spend per epoch.
No admin controls
The token has no owner, upgrade function, or administrative switches. A relayer submits proofs and collects a public DARK fee.
Current deployment
A working demo on an Ethereum fork. Test funds have no real value. An independent audit and public proving-key ceremony are required before mainnet.

Before you go dark.

What’s actually private?

Private sends conceal the payer, recipient, and amount within a public eight-key ring. Buying and hiding are public entries, including the amount and destination dark key. Exits publish their amount and payout address. Relayer fees are public. The paying dark key stays hidden within the ring.

Is this a mixer?

DARK has a confidential ledger inside the ERC-20 token contract. You move between public and encrypted balances without depositing into a separate privacy pool. Public trading uses a Uniswap v2 ETH pair.

Why wait for the next epoch?

Incoming funds enter a pending ciphertext, then fold into the spendable balance at the next 60-second epoch. That keeps the opening balance stable while your proof is generated. One private spend per key is allowed in each epoch.

What if I lose my key?

The dark key controls and decrypts your private balance. It is stored in this browser. Back it up: losing the key or clearing browser storage can permanently remove access. There is no admin recovery.

Can I use real funds?

This deployment is for testing on an Ethereum fork. Demo funds have no real value, and balances can reset when the demo chain restarts. A public proving-key ceremony and independent audit are still required before mainnet.

Take a look.
Then take it private.

Open demo wallet

Make a key. Try a transfer.
Use test funds.