Documentation

How Dark works, including what it does not hide. 

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.

Pre-audit beta · deposit limits apply

01 · Getting started

Your keys, your device.

Creating a wallet

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.

Importing one

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.

Locking and recovery

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

An encrypted balance, and encrypted payments.

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.

  1. 01
    Register

    A one-off transaction publishing your public key so others can pay you. Costs gas.

  2. 02
    Deposit

    Move USDG into the vault. The amount is public — this is an ordinary token transfer anyone can see.

  3. 03
    Send

    Pay another Dark user. The amount is encrypted. Both addresses stay visible.

  4. 04
    Apply pending

    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.

  5. 05
    Withdraw

    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.

What it costs

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

Precision beats reassurance.

Hidden from everyone but you

Vault balance
encrypted
Amounts you send
encrypted
Payment notes
encrypted
Disclosure contents
encrypted

Readable by anyone, on any block explorer

Your address
public
Deposits, withdrawals
public
Who you pay, and when
public
ETH and gas
public

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

Prove one fact. Nothing else.

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.

Creating one

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.

What the recipient sees

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

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

Read this one first.

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.

The tool

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.

Without developer tools

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.

Your own blockchain endpoint

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

Public by nature.

FeaturePrivate?Notes
SwapsNoRouted through a third-party aggregator on the public chain. Amounts, tokens and addresses are all visible.
Tokenised assetsNoHoldings and trades are public. Some are restricted by residence; Dark asks where you live and refuses trades it cannot offer.
AssistantMessages 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.
StakingNoPositions and rewards are public like any on-chain balance.

07 · Security

What Dark can and cannot do.

Cannot

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.

Can see

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.

Beyond Dark

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 facts.

Network
Robinhood Chain
Asset
USDG · 6 decimals
Gas
ETH on Robinhood Chain
Source of truth
The chain

The technical design is written up in the whitepaper.