Documentation/Ghosts and privacy

Ghost Pay

Ghost Pay is for paying people you know. You save their ghost card once, check its code with them, and pay them from a ghost in a few taps. Every payment lands on a new address that only they can find, like any payment to a ghost card. Your contacts and your history stay in this browser.

2 min read

Adding a contact

  1. 1
    Open Pay

    In the app, open Pay under Private. Your ghosts must be open in this tab.

  2. 2
    Paste their card

    Press Add a contact and paste the link they share (ghostdex.app/pay/…), or an ERC-5564 stealth meta-address (st:eth:0x…) from another wallet. A name in the link fills itself in.

  3. 3
    Check the code

    The sheet shows the card's code, eight characters that come from its keys. Anyone can put any name on a card, so check the code with them before you pay a large amount.

  4. 4
    Save

    The contact is kept in this browser, under your wallet. You can also save a card from its own page right after paying it.

Paying a contact

Press Pay on a contact, pick the ghost to pay from (or your main wallet), the stock, USDG or ETH, and the amount. The payment is the same as on a card's page: an announcement on the ERC-5564 Announcer, a little ETH for the new address's gas, then the asset. Paid from a ghost, each step signs in your tab.

Activity

Activity lists what you paid from Pay or from a card's page, with the contact, the amount, the ghost it came from and the transaction, next to the payments to your own card, with the request each one answered. Pay looks for new payments to your card while it is open.

What it shows and keeps

WhoWhat they can see
Anyone reading the chainYour ghost paying a new address. Not whose card it was, and not that two payments went to the same person.
Your contactThat their card was paid, what and when, and the ghost or wallet that paid it.
This browserYour contacts, their names and your history, under ghostdex:pay:<address>. Ghostdex has no copy and no server sees them.

Your side is public like any transfer. Paying one person from the same ghost every time ties those payments together on your side, and paying from your main wallet shows your address. Use different ghosts if that matters. See Trace check.