Satoshi Escrow: Building a Trustless Bitcoin Escrow System

🚀 Inspiration

Satoshi Escrow was inspired by a 2010 post from Satoshi Nakamoto, where he outlined the concept of a 2-of-2 multisig escrow system. The idea was to create a trust-minimized way for two parties to trade without relying on a third-party custodian.

While platforms like Bisq and Private Law Society (PLS) implement similar mechanisms, they either introduce friction or require pre-approved arbitrators. We saw an opportunity to improve this model by making it:

  • More flexible (optional third-party arbitration in a timelocked 2-of-3).
  • More secure (offline-compatible signing, usable on air-gapped devices).
  • More accessible (simple web interface, Nostr integration for easy signing and address derivation).

By leveraging Nostr and game-theoretic-sound multisig, we aimed to create a Bitcoin-native escrow that is easy to use, trustless, and fully self-custodial.

💡 What It Does

Satoshi Escrow provides a trust-minimized way to conduct peer-to-peer Bitcoin trades using 2-of-2 multisig escrow.

  • Buyer and Seller lock 3P (price) BTC into a multisig address: 2P from the Buyer and 1P from the Seller,
  • If the trade completes successfully, both parties sign off to release the funds fairly.
  • If a dispute arises, an optional timelocked 2-of-3 multisig allows a trusted third party to intervene after N days.
  • Works offline, ensuring private and air-gapped security.
  • Requires only Nostr public keys (npubs) for the participant's and third party enrollment, and Nostr private keys (nsecs) to sign the transaction that resolves the escrow.

🛠 How We Built It

Satoshi Escrow is a static web app designed to generate, sign, and broadcast multisig transactions for secure escrow transactions. Here’s how it works:

  • Frontend & UI: Built with Next.js, leveraging HTML, JavaScript, and WebAssembly (Wasm). The app is designed to be exported as a static webpage, allowing users to run it offline, even on air-gapped devices.
  • Rust Bitcoin: Used to create secure P2WSH (SegWit v0) multisig transactions through the WASM interface.
  • Signing: Transactions are signed locally using Nostr secret keys (nsec) for added security.
  • Dispute Resolution: Allows for an optional third-party arbitrator through timelocked 2-of-3 multisig.
  • Fee Estimation: Integrated with Mempool API for real-time fee adjustments.
  • Broadcasting Transactions: Users can also broadcast the signed transactions from the app.
  • Non-interactive Third-Party Arbitrator Enrollment: Since it depends on only npubs, the optional third-party arbitrator can be enrolled without having the need of interactivity, just plug his/her npub.

⚡ Challenges We Ran Into

🚧 Fee Estimation Complexity – The initial transaction fee might become outdated before signing, requiring Child Pays For Parent (CPFP) or external accelerators like mempool accelerator.
🚧 Interactive Signing Issues – Initially, we explored MuSig2 + Taproot (P2TR), but it failed due to its interactive nonce exchange requirement, otherwise participants can rugpull one another. 🚧 PSBTs are annoying to work with – We've fallback to raw transactions. 🚧 UI Simplicity vs. Functionality – Balancing ease of use while still allowing customizable parameters like escrow percentages, dispute rewards, and timelocks.

🏆 Accomplishments That We're Proud Of

Built a working trustless Bitcoin escrow using only Bitcoin-native tools.
Implemented a 2-of-2 and 2-of-3 multisig escrow, making it fully self-custodial.
Designed a privacy-preserving and offline-compatible solution for secure P2P transactions.
Integrated Nostr cryptographic keys (npub/nsec) for a seamless signing experience and escrow address creation.

🔍 What We Learned

Building Satoshi Escrow taught us a lot about:

Bitcoin's script capabilities & Miniscript – Understanding how to create complex but efficient escrow transactions. ✅ Nostr integration – Using npub/nsec keys for cryptographic signing beyond just messaging and leveraging secp256k1. ✅ Air-gapped security – Making a tool that works offline for added safety in high-value transactions.
Game-theoretic incentives – Designing mechanisms where all parties have logical incentives to act fairly.

🚀 What's Next for Satoshi Escrow

We see this as the foundation for a broader decentralized P2P trade ecosystem. Future improvements could include:

  • Lightning escrow integration for faster transactions.
  • Enhanced dispute resolution frameworks with decentralized oracles.
  • More privacy features such as CoinJoin support.
  • Taproot MuSig2 Support: enhanced on-chain privacy and less fees.

Final Thoughts

Satoshi Escrow takes a concept first proposed by Satoshi Nakamoto and brings it to life in a trustless, private, and Bitcoin-native way. By leveraging multisig and Nostr, we’ve built an escrow system that truly belongs to the users—not a third party.

🔹 Bitcoin-native escrow, finally done right. 🚀

Built With

Share this project:

Updates