No Starknet wallet connected. Deposits mint demo notes locally and private actions run in local demo mode.
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.
Status: Idle
Flow Guide
1 / 5 steps completed
Next: Create a funding note (deposit). Deposit onchain or mint a demo note to start the private flow.
- ✓
Set sender alias
Use a demo alias or your connected Starknet address.
- 2
Create a funding note (deposit)
Deposit onchain or mint a demo note to start the private flow.
- 3
Create or load a payment request
Optional, but useful for the request -> transfer demo flow.
- 4
Send a private transfer
Transfers create recipient + change notes and consume a nullifier.
- 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
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.