Documentation/Ghosts and privacy

Privacy model

What a ghost hides, what it does not, and who can see what. Read this before you rely on Ghostdex for anything that matters.

4 min read

What a ghost is, and is not

A ghost is an ordinary address that only you can derive. It holds nothing for anyone else and shuffles nothing. Its value is narrow and real: it breaks the explorer link between your main wallet and a trade. The one place where deposits sit together is Ghost Pool: a contract that pays each deposit out only against a proof made with its owner's key, which nobody else can move, Ghostdex included. The pool hides which deposit paid a ghost; it cannot hide a crowd that is not there, an amount nobody else deposited, or a withdrawal right after a deposit.

What is hidden

HiddenFrom whomHow
Your main address in the tradeAnyone reading the chainThe ghost signs the order. Your wallet is not in the transaction.
Your historySomeone who looks up the ghostThey see the ghost's own trades, not everything your main address has done.
Your IP addressThe chain's nodesPage reads and ghost broadcasts go through the Ghostdex relay.
Ghost and agent keysGhostdex's serversKeys are derived and used in your tab. The agent route sees balances, never a key.
Figures on screenPeople near your screenGhost mode blurs them until you point at them.
Which payments are yoursAnyone reading the chainPayments to your ghost card land on new addresses. Only your view key, used in your tab, tells them apart.

What is not hidden

  • Amounts and timing. A deposit of a given size and a ghost funded with the same amount minutes later can be matched by someone patient.
  • The trades themselves. The chain is public. What a ghost bought, sold, deposited or launched, and when, is visible to anyone.
  • A direct transfer. Funding a ghost straight from your main wallet links the two on the explorer, permanently.
  • Sweeping home. Sending a ghost's funds back to your main wallet draws the line again.
  • Bridge records. Many bridges record the recipient in the source-chain transaction or show it in a public status page, and LI.FI publishes a history of every route it carried that anyone can look up by address. Someone who checks bridge records can follow a deposit to the ghost.
  • Ghosts that touch each other. Moving funds between two ghosts links them to each other.

Who can see what

PartyWhat it can see
Anyone reading the chainEvery ghost's transactions, amounts and times. Not, by itself, which wallet owns a ghost, unless funds moved directly between them.
The chain's nodesThe relay's IP address and the requests it forwards. A transaction sent by your wallet extension reaches a node through that wallet's own provider.
The Ghostdex relayThe requests your tab makes, including the addresses it reads, often your main wallet and your ghosts in the same session. It stores none of it.
The agent route on Ghostdex's serverWhen an agent thinks: its mandate and limits, its ghost's balances, recent messages, your instruction and your main wallet's address, used for the allowance check. Not the ghost's address and not a key.
AnthropicWhat the agent route forwards to generate a plan: mandate, allowed stocks, limits, the ghost's balances, recent messages and your instruction. No address and no key.
LI.FI and bridgesThe addresses, tokens and amounts of each route they quote or carry, including both ends of a bridge. LI.FI publishes the routes it carried in a history anyone can look up by address. Quotes are sent under LI.FI's default name, so routes made through Ghostdex are not listed together.
Vercel, the hostStandard request logs, such as IP address, time and the requested URL. Quote requests carry their addresses and amounts in the URL, and a ghost card's page carries the card.

Threat model

Ghosts are built for a common situation: someone knows or finds your main address, looks it up, and reads your portfolio, your trades and your timing. Against that person, a ghost works. The trade is not under your address, and if you fund and leave the ghost carefully, nothing on the explorer points from your wallet to it.

Ghosts are not built to defeat an analyst with time, bridge data and exchange records, a party that can compel a bridge, an exchange or a host to hand over what it holds, or malware on your own device. If that is your situation, Ghostdex is not enough on its own.

Habits that help

  • Fund ghosts from an exchange, or from another chain, not from your main wallet. Only the exchange path keeps your wallet out of every record on chain.
  • Vary amounts and timing. Round numbers and quick round trips are easy to match.
  • Do not sweep straight home. Keep funds in a ghost, or move them out to another chain.
  • Keep separate ghosts for activity you want kept apart, and do not move funds between them.
  • Remember that a ghost's trades are public. A ghost that trades exactly like your known wallet can be recognised by its habits.

Ghostdex reduces what a casual observer can connect. It cannot make public data private, and it makes no promise that an address or a transaction cannot be traced.