Documentation
Everything on this page is checked against the same claims table as the product copy. If something here turns out to be untrue, that is a bug and we want to hear about it.
01 · Getting started
Dark generates a recovery phrase on your device. Write it down. It is the only way back into your account: nobody at Dark holds a copy, and there is no reset.
A standard 12 or 24 word phrase from another wallet works. Dark uses the derivation path every mainstream wallet uses, so the same phrase gives you the same addresses.
Keys are encrypted at rest and unlocked with your password or biometrics. Locking wipes them from memory. Lose the device and your phrase restores everything from the chain, because your balance lives on chain, not on our servers.
02 · Private USDG
Dark holds USDG in a vault contract where your balance is encrypted. Only you can read it. When you pay another Dark user, the amount is encrypted too.
A one-off transaction publishing your public key so others can pay you. Costs gas.
Move USDG into the vault. The amount is public — this is an ordinary token transfer anyone can see.
Pay another Dark user. The amount is encrypted. Both addresses stay visible.
Money sent to you lands in a pending balance. One transaction folds it into your spendable balance, and nobody else can do it for you.
Move USDG back out to any address. The amount is public again.
Your balance stays readable until your first private payment.
If you have only ever deposited, anyone can add up your public deposits. It stops being computable once you have sent or received a private transfer. Dark shows you which state you are in rather than letting you assume the stronger one.
Sending privately means producing a zero-knowledge proof, which costs more gas than an ordinary transfer — a few million units, paid in ETH on Robinhood Chain. Your wallet quotes the real fee before you confirm. Deposits, withdrawals and applying pending are priced like normal transactions.
03 · What stays public
Hidden from everyone but you
Readable by anyone, on any block explorer
Dark is not a mixer, and there is no anonymity set.
Your coins are never pooled with anyone else's; you have your own encrypted account. The other side of that is that Dark hides amounts, not the trail. Anyone can see that your address paid another address at a particular moment. If you need to hide the relationship rather than the number, this is the wrong tool.
04 · Disclosure links
A disclosure proves one thing about your balance to one person — that it is exactly some amount, or that it falls within a range — without showing them anything more.
Choose what to prove, add a label and an expiry, and Dark produces a link. The decryption key sits in the part of the link after the #, which browsers never send to a server. Dark stores a blob it cannot read.
They open the link and their own browser checks the proof against the blockchain. They do not have to trust Dark. The page reads the balance from two independent sources, and if those disagree it refuses to show a verdict at all.
Anyone who opens the link also sees your address.
A disclosure names the account it is about. Everything already public about that address — its deposits, withdrawals and counterparties — is visible to whoever you send it to.
Revoking stops this link from working. Anyone who already opened it may have saved the proof, and a saved proof stays valid forever.
Revocation takes the link down. It cannot reach into someone's hands and unsee what they already saw.
05 · Withdrawing without Dark
Dark cannot move your funds, cannot freeze them, and cannot stop you withdrawing: those powers do not exist in the contract. But "cannot" is worth very little unless you can check it. Here is how.
dark-exit is a separate, open-source program that withdraws your USDG using nothing but your recovery phrase and a blockchain endpoint of your choosing. It does not talk to Dark at all, and it is published under a permissive licence so anyone can read it, change it, or publish their own.
A single web page does the same thing entirely in your browser. Save it while things are calm and it keeps working offline — the proving code and everything it needs are inside the file. It talks only to the blockchain endpoint you give it.
In Settings → Network you can point the wallet at any endpoint, including your own node. Dark's is a convenience, never a requirement; the app builds every transaction on your device regardless.
Tested as a drill, not assumed.
We withdraw on the test network with every Dark server blocked at the network layer, with the vault paused and its limits set to zero. Withdrawing and applying pending are the two things the contract can never pause.
06 · Swaps, assets, assistant
| Feature | Private? | Notes |
|---|---|---|
| Swaps | No | Routed through a third-party aggregator on the public chain. Amounts, tokens and addresses are all visible. |
| Tokenised assets | No | Holdings and trades are public. Some are restricted by residence; Dark asks where you live and refuses trades it cannot offer. |
| Assistant | — | Messages go to Anthropic (Claude) with addresses stripped. Voice is push-to-talk: your phone turns speech into text first. It proposes actions; only you can confirm them, on your device. Treat it as a third party. |
| Staking | No | Positions and rewards are public like any on-chain balance. |
07 · Security
Move your funds, freeze them, block a withdrawal, or read your balance. There is no Dark key that decrypts anything, and no auditor key either.
Which addresses your app asks about, when you sign in, and that a given account uploaded a disclosure of a certain size at a certain time. Use Dark's blockchain endpoint and it sees the requests your wallet makes; point it elsewhere and that stops.
On the web, the wallet code is served by Dark each time you open it.
A compromised Dark deployment could, in principle, serve code that captures your keys. The mobile apps and the standalone withdrawal tool do not have this property. We would rather say so than let you assume otherwise.
The chain's operator orders transactions and can, in principle, upgrade the chain. USDG's issuer can freeze USDG, including the vault's. These are properties of the network and the asset, not of Dark, and no wallet can remove them.
08 · Network and USDG
The technical design is written up in the whitepaper.