Interactive DemoReal Quotes • Mainnet Execution

Try SIP Protocol

Experience the difference between transparent and shielded transactions. Toggle privacy modes and see how your data is protected.

Quotes are fetched from NEAR Intents (mainnet). Swap execution requires real tokens.

Full privacy via Zcash

Maximum privacy — sender, amount, and recipient hidden

Swap

Shielded
Preview Mode— Explore quotes safely, no real transactions
From
Balance:
To (estimated)Stealth Address
0
Destination AddressRequired

Your Solana address (swap is private - sender identity hidden)

Privacy Protected

Zcash Tech

Sender, amount, and recipient are hidden

No recent swaps

Your swap history will appear here

Powered by
Shielded TransactionsStealth AddressesCross-Chain

Same Transaction, Three Privacy Levels

Click on a mode to see what observers can see

TRANSPARENT
From
0x742d35...38f44e
To
0xd8dA6B...A96045
Amount
100.00 USDC

Visible to

Everyone on chain

SHIELDED
From
[HIDDEN]
To
[HIDDEN]
Amount
[HIDDEN]

Visible to

No one

SELECTED
COMPLIANT
From
[ENCRYPTED]
To
[ENCRYPTED]
Amount
[ENCRYPTED]

Visible to

Auditor with viewing key*

Exposed (visible)
Hidden (private)
Selectively disclosed

Before vs After SIP

See what chain analysis can observe in each mode

Real Vulnerability

This refund address linkability issue was discovered by @ZachXBT, exposing how transparent refund addresses can de-anonymize shielded pool users.

Before SIP

Privacy Vulnerable

Transaction Flow

Sender
0x742d...35CcEXPOSED
Shielded Pool(privacy should be here)
Refund
0x742d...35CcSAME!
Linkability Chain
Sender=Refund=LINKED!

Anyone can trace funds back to you

Chain Analysis Sees

  • Your wallet address
  • Transaction amounts
  • Complete transaction history
  • Shielded pool activity linked
VS

After SIP

Privacy Protected

Transaction Flow

Sender
••••••••••••HIDDEN
Shielded Pool(privacy enforced)
Refund
0x8f2a...9b1cNEW!
No Linkability
SenderRefund=SAFE

Stealth address breaks the chain

Chain Analysis Sees

  • Intent exists (not who created it)
  • Commitment (not actual amount)
  • Stealth address (not your wallet)
  • Nothing linkable

How SIP Fixes This

1
Stealth Addresses

Each refund gets a unique, one-time address that cannot be linked to your wallet.

2
Pedersen Commitments

Amounts are hidden using cryptographic commitments - verifiable but not readable.

3
Viewing Keys

Optional selective disclosure for compliance - privacy with auditability when needed.

Real Cryptographic Proof

Compare transparent vs shielded transactions using actual SDK-generated values

👁️

Transparent Transaction

Anyone can see all transaction details on the blockchain explorer

Sender (Visible)
0x742d35Cc6634C0532925a3b844Bc9e7595f8a12B
Recipient (Visible)
0x8Ba1f109551bD432803012645Hac136E56e5d4F8
Amount (Visible)
100 USDC
⚠️
Exposed: Wallet balance, trading patterns, counterparty relationships, financial history
🛡️

Shielded Transaction

Privacy-preserving using real cryptographic primitives

Protected: Sender, recipient, amount all hidden. Transaction is verifiable but private.

Pedersen Commitments

See how amounts are cryptographically hidden while remaining verifiable

Pedersen CommitmentAmount Hidden

Enter any amount to see how it gets hidden in a cryptographic commitment.

SDK Usage:
import { commit, verifyOpening } from '@sip-protocol/sdk'

// Create commitment
const { commitment, blinding } = commit(100n)

// Verify opening
const valid = verifyOpening(commitment, 100n, blinding)

Zcash Integration

Explore the SDK's Zcash shielded transaction capabilities

Zcash SDK Integration

@sip-protocol/sdk Zcash capabilities

Connecting...
import { ZcashShieldedService, createZcashClient } from '@sip-protocol/sdk'

Unified Address Generation

Demo

Generate sample unified addresses (Sapling + Orchard format demo).

Transparent

t1/t3 prefix - Public on chain

Sapling

zs prefix - Shielded (legacy)

Orchard

u prefix - Unified (latest)

Powered by @sip-protocol/sdk v0.6.26View Docs →

How It Works

1

Create Intent

Your swap request is transformed into a shielded intent with hidden amounts using Pedersen commitments.

2

Generate Stealth Address

A unique one-time address is generated for the recipient, preventing transaction linkability.

3

Execute via Zcash

The transaction routes through Zcash's shielded pool, breaking the on-chain trail completely.

Ready to Integrate?

Add privacy to your dApp in minutes with our TypeScript SDK.