Skip to content

Mist-Labs/shadow-swap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌘 ShadowSwap

Private Cross-Chain Swaps between Starknet ↔ Zcash

Swap STRK ↔ ZEC with privacy, atomic guarantees, and zero trust assumptions.
ShadowSwap combines the privacy of Zcash with the scalability of Starknet to deliver private, non-custodial, atomic cross-chain swaps.


License Rust Starknet Zcash


πŸš€ Why ShadowSwap?

Today’s swaps are:

  • ❌ Public
  • ❌ Traceable
  • ❌ Custodial
  • ❌ Limited to Ethereum-like chains

ShadowSwap fixes this by bridging two powerful ecosystems:

  • πŸ”— Starknet β€” scalable ZK-Rollup
  • πŸ›‘ Zcash β€” industry-leading privacy chain

ShadowSwap enables private, atomic, cross-chain swaps using:

  • HTLCs
  • Stealth addresses
  • Commitments
  • Range proofs
  • Merkle tree inclusion
  • Automated relayer orchestration

🧠 How It Works (Simple)

1. User locks STRK in a Starknet HTLC

  • Includes secret hash
  • Private commitment
  • Timeout

2. Relayer observes Starknet

  • Verifies Merkle inclusion
  • Generates stealth parameters
  • Creates matching HTLC on Zcash

3. User redeems Zcash HTLC

Reveals the secret.

4. Relayer finalizes Starknet side

HTLC unlocks β†’ STRK released.

5. Atomic refunds if anything fails

Both sides are safe.


✨ Features

πŸ”’ Private Swaps

  • Shielded addresses (Sapling/Orchard)
  • Encrypted metadata
  • Commitments + nullifiers
  • No public link between sender ↔ receiver

⚑ Cross-Chain Atomicity

  • HTLCs on both chains
  • Refund guarantees
  • Fully non-custodial

πŸ€– Autonomous Relayer

  • Observes Starknet & Zcash
  • Handles redemptions
  • Auto-refunds
  • Retry + backoff logic
  • Detailed event logging

🌲 Merkle Proof Engine

  • Tracks Starknet deposits
  • Creates Merkle proofs
  • Syncs with on-chain Merkle root

πŸ’± On-Chain/Off-Chain Price Router

  • STRK/ZEC/USD pricing
  • Multi-source aggregation
  • Route through Fast/Standard pools

πŸ› Architecture

flowchart LR
    U[User Wallet] -->|Lock STRK in HTLC| S(Starknet)
    S -->|Deposit Event| R(Relayer)
    R -->|Merkle Proof + Stealth Params| R
    R -->|Deploy HTLC| Z(Zcash)
    U -->|Redeem ZEC HTLC| Z
    Z -->|Reveal Secret| R
    R -->|Redeem STRK HTLC| S
Loading

πŸ”§ Tech Stack

Languages & Frameworks

  • πŸ¦€ Rust
  • ⚑ Actix Web
  • πŸ” Asynchronous Relayer Engine

Cryptography

  • β›“ HTLCs (Hashed Timelock Contracts)
  • πŸ•΅οΈ Stealth Addresses
  • πŸ” Range Proofs
  • 🧱 Commitments & Nullifiers
  • 🌲 Merkle Trees
  • βš™οΈ ZK-Friendly Hash Primitives

Networks

  • ⭐ Starknet (Cairo 1)
  • πŸ›‘ Zcash (Sapling / Orchard Shielded Pools)

πŸ“‘ REST API Endpoints

POST /swap/initiate

Create a cross-chain swap (STRK β†’ ZEC or ZEC β†’ STRK).


POST /indexer/event

The indexer sends Starknet/Zcash HTLC events to the backend.


GET /price

Returns real-time STRK ↔ ZEC ↔ USD pricing.


GET /stats

Displays global protocol statistics:

  • swap volume
  • liquidity usage
  • completed vs pending swaps

GET /metrics

Prometheus metrics endpoint for relayer + backend monitoring.


πŸ“¬ Team

Mist Labs

πŸ‘₯ Contributors

Okoli Evans

Kolapo Goodness

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published