Gate
Some doors were never meant to be opened.
Get paid in USDC on Arc to one-time addresses nobody can link to you, with coded messages only the recipient can read. Hold any veiled value to decrypt it.
Derive private keys from a wallet signature or from a cipher phrase. They live in this tab's memory only and are forgotten when you lock or leave.
Recipient privacy on ERC-5564 and ERC-6538. The sender, the amount and the timing stay public. Not a mixer. On Arc a stealth address pays its own gas, because gas is USDC.
Receive
Become unfindable to everyone but your senders.
No wallet ever touches your receiving identity. Keep the phrase offline: whoever has it finds and spends your payments.
One signature derives a spending key and a viewing key in this page. Sign again on any device to get the same keys. The wallet never receives your payments.
Give a private link to the people who pay you. Nothing goes on-chain and nothing ties it to any wallet. The link's key part never reaches a server.
Publish in the registry so anyone can pay your wallet address. Public by design: it links this meta-address to that wallet.
Send
Pay someone without pointing at them.
Derived in your browser: a new one-time address and a new message key for every payment.
Scan
Find what was left for you in the dark.
Your viewing key checks every announcement locally and opens the coded messages. Amounts are read from the announcements themselves, so no lookup is made just for you.
Nothing found yet.
Forwarding pays another one-time address straight from this one, gas included, without touching any wallet you own. Withdrawing to a wallet you already use links the payment to it.
DARC
Hold the key, pay no toll.
- Supply
- 1,000,000,000, fixed
- Contract
- ·
- Owner, mint, tax
- None
- Protocol fee
- 0.1 % of what is sent, capped at 1 USDC
- Waiver
- Hold 1,000,000 DARC and every send is free
- Your status
- Connect a wallet
- Network gas
- Always paid in USDC, never waived
Codex
How the door works.
The payment
The sender draws a random ephemeral key, combines it with the recipient's viewing key and derives a one-time address only the recipient can open. DarcPay moves the USDC there and posts one announcement: the one-time address, the ephemeral public key, a one-byte view tag and, if any, the coded message.
Coded messages
A message is sealed with AES-256-GCM under a key derived from the same exchange, then padded to 64, 128 or 192 bytes with random filler. The chain sees one of three sizes and nothing else. A single flipped bit makes it unreadable instead of wrong.
Walletless identity
A cipher phrase goes through PBKDF2 with 600,000 rounds to produce your keys. No wallet signs anything, so no wallet is ever associated with what you receive. Share an unlisted link: its key part sits after the # and browsers never send that to a server.
What leaves your browser
Reads to an Arc RPC: block numbers, announcement logs in wide block ranges, and balance lookups mixed with decoy addresses taken from other announcements. Transactions you choose to send. Nothing else: no analytics, no fonts or scripts from other servers, no referrer, and a content policy that forbids loading anything third-party. Use your own RPC to remove even the read pattern.
Keys
Never written to storage. Held in this tab's memory, wiped by Lock, and forgotten after ten idle minutes or when the tab closes.
What this does not do
It hides the recipient. The sender's address, the amount and the timing are public. It is not a mixer and pools nothing. Withdrawing to a wallet you already use links the payment to it; forward privately or use a fresh address.
Contracts
- Registry (ERC-6538)
- ·
- Announcer (ERC-5564)
- ·
- DarcPay
- ·