Case studiesBitcoin marketplace data

P2P Sats: a shared view of offers across Bitcoin marketplaces

P2P Sats brought offers from several peer-to-peer Bitcoin marketplaces into one browser view. Nelson P. built the aggregation interface and a separate watcher for changes that matter to a user.

Business
P2P Sats
Sector
Bitcoin marketplace data
Scope
Offer aggregation and notifications
Contributor
Nelson P.
Editorial illustration: five metal channels meeting at a hub with an orange token
AI-generated editorial illustration of the project’s domain.

Comparable offers were spread across separate marketplaces.

Comparing marketplace offers means reconciling currencies, sides, prices and identifiers across sources. The application needed to preserve the origin of each offer while making the records comparable.

A browser view also only helps while it is open. Users following a particular market needed a separate way to receive a relevant change without continuously watching the page.

Normalize the feed and keep a shared view of the market.

The Vue and TypeScript application consumed Nostr NIP-69 offer events from Mostro, lnp2pbot, RoboSats, Peach and HodlHodl. Parsing and deduplication turned the incoming events into a shared offer view.

Depth charts and a crossed-pair detector supported comparison, with multiple currencies and languages. A Node.js watcher sent email or Nostr direct-message notifications. The project’s code was published under the MIT license.

What the workflow includes

  • Normalize and deduplicate Nostr marketplace events.
  • Retain the source of each offer in the combined view.
  • Display market depth and detect crossed offer pairs.
  • Send notifications from a separate server-side watcher.

Project details

Project materials showing the workflows and interfaces described in this case.

Product walkthrough

Offer aggregation and notifications. The delivery section explains the workflow demonstrated here.

One interface exposed the underlying offers and their changes.

The project delivered the browser application and the background notification service as complementary parts of one information workflow. Its public code also made the aggregation and notification logic available for inspection.

What this means for the technology owner.

Aggregated data needs an owner for source changes, stale events and normalization rules. The interface should preserve provenance so a user can return to the originating marketplace. A handover should distinguish the data service from the financial transaction, which remains a separate process.

The technology ownership checklist →

VueTypeScriptNostrNIP-69NodeWebSockets

Project contribution: Nelson P.. The scope described above identifies the work behind this case.

P2P Sats — project link

Editorial review: Ego Eimi · Updated September 6, 2026 · About the team

Your technology

Start with the business

Your business depends on it.

Tell us which system matters, what has changed and who controls it. We will define a reviewable next step. Read Foundation and the commitments and evidence.