pull down to refresh

Satoshi Escrow

A Bitcoin non-custodial peer-to-peer dispute resolution using only Nostr keys.

Motivation When a Buyer wants to purchase something for a certain amount of BTC from a Seller but doesn't trust them, they can use our 2-of-2 multisig escrow address. The Buyer and Seller both lock their BTC in a multisig address. Both parties only need their respective Nostr secret keys (nsec) and each other's Nostr public keys (npub).
How it works If the trade is successful:
  • Both parties sign to release the funds
  • Buyer receives his BTC back
  • Seller receives his BTC back
If there's a dispute:
  • Parties can choose a trusted third party (arbitrator)
  • Arbitrator can help resolve the dispute after a timelock period
  • Resolution requires 2-of-3 signatures (Buyer/Seller + Arbitrator)
Technical Implementation We use Pay-to-Taproot (P2TR) multisig script path spends with a verified unknown discrete-log unspendable internal key. The system supports two resolution paths:
Collaborative Resolution 2-of-2 multisig between Buyer and Seller without timelocks.
Dispute Resolution 2-of-3 multisig between either party and the arbitrator with timelock.
Important Security Notice This application can be used offline on an air-gapped computer for maximum security. All transactions can be generated, and signed through the webpage offline.
Getting Started
  1. Create Escrow Set up a new escrow address using npubs and specify amounts.
  2. Sign Transaction Sign the transaction using your nsec key.
  3. Combine Signatures Combine the signatures into a signed transaction.
  4. Broadcast Broadcast the signed transaction to the Bitcoin network.
  5. Spend Spend from the resolution address derived from your npub using your nsec.
You can learn more and try it n Testnet, Signet and Regtest from https://scrow.exchange/
this territory is moderated