-
Notifications
You must be signed in to change notification settings - Fork 0
BTC_VAULT
krewdev edited this page Jul 17, 2026
·
1 revision
Same economic pattern as Solana: lock BTC on the internet → mint MESH claims on the mesh → burn MESH to unlock BTC.
Mesh remains the offline truth for the claim. BTC custody is a separate internet-facing module.
User BTC ──► N-of-M multisig vault (cold/watch-only operators)
│
│ attestation (deposit seen, amount, mesh short id)
▼
Bridge relayers ──Mint──► MeshChain
▲
│ final Burn + PQ auth
User redeems offline mesh
│
▼
Multisig pays BTC to fresh address
| Piece | Choice |
|---|---|
| Custody | 2-of-3 or 3-of-5 multisig (HW + geo separated) |
| Deposit detect | Watch-only xpub / electrum / bitcoin core ZMQ |
| Mesh credit |
Mint with asset_id = 2 (BTC-claim), external_ref = txid trunc
|
| Redeem |
Burn with asset_id = 2, redeem_hint = hash(btc_address) + PQ if large |
| Double-pay guard | Unique burn_txid record (same idea as Solana WithdrawRecord) |
| Fees | Taken in BTC at deposit/withdraw; mesh gets net amount |
Impossible at useful security. Mesh holds claims; Bitcoin holds settlement.
- DLC / adjudicator — more trust-minimized unlock conditions
- Liquid / Fedimint — faster pegs for community operators
- On-chain covenants (when available) — vault script enforces burn proof
| asset_id | Meaning |
|---|---|
| 0 | Generic MESH / test |
| 1 | SOL / SPL vault claim |
| 2 | BTC vault claim |
Balances may stay unified MESH units with off-mesh policy that 1 unit = 1 sat or 1 USDC — publish the peg in genesis notes. Future: separate balance maps per asset_id.
- BTC multisig keys never on the mesh radio host
- Mesh cold key (ML-DSA-65) never on the BTC signing machine
- Redeem requires both: mesh Burn finality and multisig ceremony
- Prefer new BTC receive address every unlock
- Solana vault live (done as program + events)
- Relayer Mint/Burn for SOL
- BTC watch + multisig coordinator (this doc)
- Unified CLI:
mesh cash-out btc …