Privacy Model
Shade provides strong transaction unlinkability on-chain, but its privacy guarantees are not absolute. Understanding what Shade protects — and what it does not — is essential for correct use.
Shade does not offer “full” privacy like systems with encrypted balances (e.g., Aztec, Zcash). Instead, it focuses on breaking the visible link between:
Who sends a payment and Who ultimately receives and spends it
What Shade Guarantees
Receiver identity
Hidden from blockchain observers
Relationship links
No link between sender and receiver
Receiving wallets
Unique, one-time addresses
Funds control
Fully non-custodial
Spending privacy
Receiver withdraws to a clean wallet
On-chain, each payment appears as an independent event to a fresh address with no history.
What Shade Does Not Guarantee
Sender anonymity
Sender wallet remains visible
Balance privacy
Funds are visible once withdrawn
Recipient behavior
Poor wallet hygiene can reveal identities
Perfect cover traffic
Small user sets reduce anonymity
Shade cannot protect users from revealing themselves through careless operational choices.
Example risks:
Withdrawing funds into a public wallet
Reusing wallets across different identities
Publicly exposing your Shade username
If the recipient exposes their identity, privacy for both sides may be reduced.
Anonymity Set
Every one-time address generated by Shade could, in theory, belong to:
Any account that has ever sent a transaction on-chain (i.e., any address with a known public key)
This means the default anonymity set is extremely large.
However, in practice, an observer may narrow the potential recipient list:
Registry Filtering Most users register Stealth Keys in the Shade Registry. Observers may assume the recipient is listed there.
Withdrawal Correlation If the sweep transaction reveals a link to a known wallet, the anonymity set collapses.
Timing & Context Clues Organizational payments, payroll cycles, or social context may suggest likely recipients.
Anonymity is strongest when:
User base is large and diverse
Withdrawal behavior is disciplined
Wallets are not reused or publicly linked
Threat Model
Passive observers
Blockchain data
Graph analysis
Very limited insight
Sender
Their own transaction
Claims only their own payment
Cannot identify other recipients
Recipient
Their own payments
Scanning via Stealth Private Key
No access to other users’ data
Active attackers
Monitoring Registry & withdrawals
Metadata inference
Can reduce anonymity sets if users leak information
Shade’s design assumes global adversaries can inspect all transactions. Strong privacy depends on not leaking external data.
How Deanonymization Happens
Improper actions can undo Shade’s protections:
Sweeping to a known public wallet
Reveals recipient identity
Combining funds with public balances
Links payment sources
Reusing a Clean Wallet
Creates traceable patterns
Publicly associating username with identity
Reduces anonymity set
Very small recipient groups
Easier statistical guessing
Crypto hygiene is critical:
Privacy is cooperative — both the sender and the recipient must follow best practices.
Key Principles for Privacy Safety
Always sweep to a clean wallet
Never reuse clean wallets
Avoid timing patterns that reveal identity
Keep usernames detached from public identity
Separate work/personal financial flows
Even a single mistake can reintroduce linkability.
A full guide is available in: Security Best Practices
Why Shade is Safer Than Mixers
Pooled funds
✔
✘
Custodial risk
High
None
Waiting periods
Required
None
Compliance risk
High
Low
Mathematical unlinkability
Partial (heuristics)
Cryptographic
Shade does not mix funds or rely on obfuscation. Privacy comes from cryptographic isolation of every payment.
Summary
Sender → Receiver link
Hidden
Receiver identity
Hidden
Funds ownership
Receiver only
Sweep reveals history
Not if done correctly
Privacy depends on behavior
Yes
Shade’s privacy is strong, but usage-dependent.
Shade protects what the blockchain can expose. You must protect everything outside the blockchain.
Last updated