Sssh BTC Wallet 🤫

Hackathon Prototype

Privacy + Bitcoin on Starknet

Private BTC-value transfers
on Starknet

Move BTC-value on Starknet without exposing balances or exact amounts. ZK proofs enforce validity, nullifier safety, and value conservation across private wallet flows using a BTC-like Starknet asset.

  • BTC-value UX on Starknet
  • ZK proof-verified transfers
  • Shielded Pool architecture

Wallet Session

Account abstraction compatible. When wallet + contracts are configured, deposit/transfer/withdraw submit Starknet transactions and then sync local private notes through the indexer.

Mode Demo-only

No Starknet wallet connected. Deposits mint demo notes locally and private actions run in local demo mode.

Status: Idle

Demo-only modeGroth16 proof service wiredLive Sepolia contracts configuredLocal-only actionsNotes synced

Flow Guide

1 / 5 steps completed

Next: Create a funding note (deposit). Deposit onchain or mint a demo note to start the private flow.

  1. ✓

    Set sender alias

    Use a demo alias or your connected Starknet address.

  2. 2

    Create a funding note (deposit)

    Deposit onchain or mint a demo note to start the private flow.

  3. 3

    Create or load a payment request

    Optional, but useful for the request -> transfer demo flow.

  4. 4

    Send a private transfer

    Transfers create recipient + change notes and consume a nullifier.

  5. 5

    Withdraw a note (optional) Optional

    Current circuit requires exact match: withdraw amount + fee = one note.

Recent Activity

Last wallet events and status changes, newest first.

No activity yet.

Next: Create a funding note (deposit). Deposit onchain or mint a demo note to start the private flow.

Deposit

This mints a local demo note in the indexer (no Starknet transaction) so you can test the private flow end-to-end.

If wallet notes stay empty after a successful onchain deposit, sync pending notes first. If that still fails, recover from transaction hash.

Private Payment Request

Pending Requests for This Wallet

No pending requests for this wallet hint.

Inbox filters by receiver = demo-alice.

Create a private payment request above, or paste a request hash into the transfer form.

Private Transfer

No spendable notes yet.

Start with a deposit so the prover has an input note for the transfer.

Transfer stage idle

0% No transfer in progress.

Withdraw

Build and submit a private withdrawal proof from one spendable note. Current circuit requires exact match: withdraw amount + fee = note amount.

Withdraw limits for current fee 100:

Pool liquidity (onchain): unknown

No spendable note is available yet. Deposit first, then refresh snapshot.

Minimum amount: N/A

Maximum amount: N/A

Exact valid amounts: none

Withdraw stage idle

0% No withdrawal in progress.

Wallet Notes

No private notes yet.

Next: Create a funding note (deposit). Deposit onchain or mint a demo note to start the private flow.

Start by minting a demo note locally to practice the private flow.

If an onchain deposit succeeded but notes still do not appear, use the recovery tools in the Deposit section.

Advanced / DiagnosticsHealthy snapshot

Operational state, contract configuration, and optional Xverse context for demo/debugging.

Shielded Tree

Current root 0x0

Commitments inserted 0

Onchain Health

Health snapshotDigest registration blocked

Adapter mock mode unknown

Adapter verifier unavailable (connect wallet)

Expected admin 0x01be870944b9730e6db1215e8c5e78de267479c779ba8efcf6c25feba0713d80

Connected wallet admin check unknown

Sepolia Contract Config

Network SN_SEPOLIA

Default asset 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d

Test-vector digest auto-register enabled

Test-vector admin 0x01be870944b9730e6db1215e8c5e78de267479c779ba8efcf6c25feba0713d80

ShieldedPool

0x078017080b2e15ab289e6966810b669f00a166ef97ed90f7f84e9af32658335a

VerifierAdapter

0x0316d37f5a73ae8fab2a220ac51fe4ce3b758cf89c418d3332f4625bc66451fd

PaymentRequestRegistry

0x07ee0227c0764a0f87057aeb5a10c08012b99cf9520e6029cf8b4ca121b09bea

ExternalVerifier

0x0419a3bb5ab2684f29136e23f7479dbe153d828b78b3f287f0afb20816e710c4

Xverse BTC Context

Optional read integration for Bitcoin narrative and sponsor alignment.

Add an address to load Xverse-derived context.