UNTRACE
Documentation
Github

Disposable Wallets

Learn how Untrace uses fresh wallets for every external interaction.


The Problem

Traditional wallets create a permanent identity on-chain. Every interaction — DeFi, NFTs, payments — is linked to the same address, creating a complete history that can be:

  • Analyzed by surveillance companies
  • Used for targeted attacks
  • Linked to your real identity

The Solution

Untrace generates a fresh wallet address for every external interaction:

  → Wallet A → Uniswap
  → Wallet B → OpenSea
  → Wallet C → Aave

Each wallet is:

  • Cryptographically unlinkable to your identity
  • Funded just-in-time from the shielded pool
  • Automatically disposed after use

How It Works

1. Request Initiated

You click "Connect" on a dApp or initiate a transaction.

2. Wallet Generated

Untrace creates a fresh keypair with no prior history.

3. Funding

The exact needed amount is withdrawn from your shielded pool to the disposable wallet.

4. Interaction

The disposable wallet interacts with the external protocol.

5. Cleanup

Any remaining funds return to the shielded pool. The wallet is discarded.


Benefits

  • No Transaction History: Each wallet has a single-use footprint
  • No Balance Exposure: Observers see only the transaction amount
  • No Pattern Analysis: Random timing and amounts prevent correlation

Configuration

You can customize disposable wallet behavior:

  • Auto-dispose: Return funds immediately after transaction
  • Delayed return: Wait for additional privacy (larger anonymity set)
  • Manual control: Keep disposable wallet for multiple interactions