███████╗ ██╗ ██████╗ ██╔════╝ ██║ ██╔══██╗ ███████╗ ██║ ██████╔╝ ╚════██║ ██║ ██╔═══╝ ███████║ ██║ ██║ ╚══════╝ ╚═╝ ╚═╝
Shielded Intents • Stealth Addresses • Viewing Keys • Compliant Privacy
SIP (Shielded Intents Protocol) brings privacy to cross-chain transactions. One toggle to shield your sender, amount, and recipient—while maintaining compliance with viewing keys.
// Create a private cross-chain swap
const intent = await sip
.intent()
.input('solana', 'SOL', 1_000_000_000n)
.output('zcash', 'ZEC', 50_000_000n)
.privacy(PrivacyLevel.SHIELDED) // ← One toggle
.build()Enables:
- ✅ Hidden sender identity (Pedersen commitments)
- ✅ Hidden transaction amounts
- ✅ Unlinkable recipients (stealth addresses)
- ✅ Selective disclosure for compliance (viewing keys)
- ✅ Multi-chain privacy via NEAR Intents
|
Core SDK & Types The privacy layer SDK with stealth addresses, commitments, and viewing keys.
|
📚 docs-sipDocumentation Site Comprehensive guides, API reference, and integration examples.
|
🔬 circuitsZK Proof Circuits Noir-based zero-knowledge proof circuits for funding, validity, and fulfillment proofs.
|
Examples & Community Production-ready examples and community projects.
|
# npm
npm install @sip-protocol/sdk
# pnpm
pnpm add @sip-protocol/sdkimport { SIP, PrivacyLevel } from '@sip-protocol/sdk'
// Initialize
const sip = new SIP()
// Create private cross-chain swap
const intent = await sip
.intent()
.input('solana', 'SOL', 1_000_000_000n)
.output('zcash', 'ZEC', 50_000_000n)
.privacy(PrivacyLevel.SHIELDED)
.build()
// Intent now has:
// - Hidden sender (Pedersen commitment)
// - Hidden amount (Pedersen commitment)
// - Stealth recipient address// Generate viewing key for auditors
const viewingKey = sip.generateViewingKey('/m/44/501/0/audit')
// Create compliant private intent
const intent = await sip
.intent()
.input('ethereum', 'ETH', 1_000_000_000_000_000_000n)
.output('near', 'NEAR', 100_000_000_000_000_000_000_000n)
.privacy(PrivacyLevel.COMPLIANT)
.build()
// Auditor can decrypt transaction details with viewingKey| Level | Sender | Amount | Recipient | Auditable |
|---|---|---|---|---|
transparent |
Public | Public | Public | N/A |
shielded |
Hidden | Hidden | Stealth | No |
compliant |
Hidden | Hidden | Stealth | Yes (viewing key) |
┌─────────────────────────────────────────────────────────────┐
│ SIP PROTOCOL STACK │
├─────────────────────────────────────────────────────────────┤
│ PRIVACY LAYER (SIP) ← We build this │
│ • Pedersen Commitments • Stealth Addresses │
│ • Viewing Keys • Shielded Intents │
├─────────────────────────────────────────────────────────────┤
│ SETTLEMENT LAYER ← We leverage this │
│ • NEAR Intents • Chain Signatures │
├─────────────────────────────────────────────────────────────┤
│ BLOCKCHAIN LAYER ← We connect to this │
│ • NEAR • Ethereum • Solana • Bitcoin • More... │
└─────────────────────────────────────────────────────────────┘
SIP is an application layer that complements NEAR Intents and Zcash—not a competing infrastructure protocol.
Cross-chain transactions are public by default:
- ❌ Anyone can see your wallet address
- ❌ Anyone can see transaction amounts
- ❌ Anyone can link your transactions
- ❌ No privacy = security risk for high-value users
SIP adds privacy to NEAR Intents:
- ✅ Stealth addresses - One-time recipient addresses
- ✅ Pedersen commitments - Hide amounts cryptographically
- ✅ Viewing keys - Selective disclosure for compliance
- ✅ Multi-chain - Works across any NEAR-connected chain
| User | Use Case |
|---|---|
| DAOs | Private treasury operations |
| Institutions | Compliant private transactions |
| High-net-worth | Protection from targeting |
| Traders | MEV protection, hidden strategies |
- M1: Architecture & Specification
- M2: Cryptographic Core (Pedersen, stealth addresses)
- M3: SDK Production (validation, errors, tests)
- M4: Network Integration (NEAR, Zcash, wallet adapters)
- M5: Documentation & Launch
- Real ZK circuits (Noir + Halo2)
- Private payments API
- DAO treasury integration
- Hardware wallet support
- ⭐ Star repositories you find useful
- 🐛 Report issues to help us improve
- 💡 Suggest features in GitHub Discussions
- 🔧 Submit PRs with improvements