Nostr Commerce: The Bazaar Without Walls

Nostr commerce rests on two competing-but-complementary protocol specifications, each encoding a different mental model of what "marketplace" means.

Nostr Commerce: The Bazaar Without Walls

How NIP-15, NIP-99, Mostro, Shopstr, and Web of Trust are assembling the infrastructure for permissionless trade — and why AI agents might be the customers that finally make it work.

The Protocol Layer: Two NIPs, Two Philosophies

Nostr commerce rests on two competing-but-complementary protocol specifications, each encoding a different mental model of what “marketplace” means.

NIP-15: The Structured Marketplace

NIP-15 (based on Diagon-Alley) is the older, more opinionated approach. It defines a complete merchant-customer interaction model:

  • Kind 30017 — Stalls (merchant storefronts with shipping zones, currencies)
  • Kind 30018 — Products (with specs, images, per-zone shipping costs)
  • Kind 4 (DM) — Order flow (JSON messages for orders, payment requests, status updates)
  • Kind 0 — Merchant identity (standard Nostr profile)

The checkout protocol is fully specified: customer sends a Type 0 (order) via NIP-04 DM, merchant replies with Type 1 (payment options — Lightning invoice, on-chain address, LNURL, or even a URL to external payment), then Type 2 (status updates).

NIP-15 is Amazon in a NIP — structured, comprehensive, and heavy. It assumes merchants run persistent storefronts with inventory management and shipping logistics. The problem: it’s complex to implement, and the DM-based checkout using NIP-04 (now deprecated in favor of NIP-44/NIP-17) shows its age.

NIP-99: The Classified Listing

NIP-99 takes the opposite approach. It defines kind:30402 — an addressable event for classified listings. Minimal structure: title, summary, content, location, price, images, and arbitrary tags. Think Craigslist, not Amazon.

tags: [
  ["d", "lorem-ipsum"],
  ["title", "Lorem Ipsum"],
  ["price", "100", "USD"],
  ["location", "NYC"],
  ["t", "electronics"],
  ["image", "https://url.to.img", "256x256"]
]

NIP-99 is deliberately thin. It doesn’t specify checkout flow, payment methods, or shipping. Those are left to the client. This is both its strength (flexibility, simplicity, broad use cases from physical goods to services to real estate) and its weakness (every client reinvents checkout).

The Migration: NIP-15 → NIP-99

The ecosystem is converging on NIP-99. Plebeian Market spent all of 2025 migrating from NIP-15 to NIP-99, finally launching their 2.0 in January 2026. The reasoning: NIP-99 listings are interoperable across any Nostr client, while NIP-15 stalls only work in dedicated marketplace apps. A NIP-99 classified listing can appear in Amethyst, noStrudel, or any client that handles kind:30402 — the listing IS a Nostr event, not a marketplace-specific data structure.

Shopstr supports both, plus NIP-60 (Cashu wallets), NIP-61 (nutzaps), NIP-85 (reviews), and NIP-47 (Wallet Connect). Their NIP list reads like a who’s-who of the Nostr protocol stack — 25+ NIPs supported.

The Marketplace Implementations

Shopstr: The Cashu-Native Marketplace

Shopstr is the most feature-complete Nostr marketplace client. Built as a Next.js PWA, it positions itself as “a decentralized classifieds marketplace using Lightning and Cashu.”

The Cashu integration is the differentiator. Shopstr has a native NIP-60 Cashu wallet built in — buyers can pay with ecash directly, no Lightning wallet required for the buyer side. Calvadev (lead developer) presented at bitcoin++ ecash edition (Berlin, October 2024) on how Cashu flows through the entire purchase lifecycle.

In December 2025, Shopstr filed a Reg CF investment crowdfunding raise, expanding into “Shopstr Markets” — aiming to support local producers and artisans selling directly to communities. They’re walking the line between permissionless protocol and regulatory compliance.

Current state (March 2026): Active development, growing merchant base, but still small. The UX is functional but not polished enough for mainstream adoption. The Cashu integration is ahead of what any other marketplace offers.

Plebeian Market: The Veteran

Plebeian Market is the oldest Nostr marketplace, having pivoted through at least five incarnations (“auctions → Lightning login → WordPress plugin → Nostr → NIP-99”). The January 2026 NIP-99 relaunch was, they claim, the final pivot.

Their “circular economy” model is interesting: merchants can opt into a value-for-value fee split to fund development. Not mandatory — 100% of sats stays with the merchant if they choose. This is the polar opposite of platform take rates (Amazon: 15-45%, Etsy: 6.5% + fees). On Plebeian Market, the platform’s revenue is explicitly opt-in.

Current state: ~16+ active shops visible on the relaunch. Migration from NIP-15 has caused friction (broken shipping options, checkout issues). Active dev team but small user base.

NostrMarket (LNbits): The Backend

LNbits’ NostrMarket extension takes a different approach — it’s a merchant backend, not a consumer frontend. Merchants run LNbits with the NostrMarket extension, which publishes product listings to Nostr relays. Any marketplace client can then display and interact with those listings.

This separation of concerns is architecturally correct. The merchant doesn’t need a marketplace app — they run a LNbits instance and any number of marketplace clients can surface their products. It also enables custom marketplaces via kind:30019 events (marketplace definitions with curated merchant lists and relay configurations).

P2P Exchange: Where Commerce Gets Serious

The most mature Nostr commerce isn’t in physical goods — it’s in P2P Bitcoin/fiat exchange, where the properties of censorship resistance and privacy actually matter.

Mostro: The Protocol, Not the App

Mostro is the most impressive Nostr commerce project. It’s explicitly a protocol for P2P Bitcoin exchange, not an app. Key design decisions:

  1. Lightning hold invoices for escrow. Seller’s sats are held via a hold invoice — they stay in the seller’s wallet until the preimage is released. Mostro never takes custody for longer than the minimum settlement time.

  2. Multiple independent nodes. Anyone can run a Mostro node with their own fees, supported currencies, and rules. If one node goes down or gets compromised, others survive. This is the federated marketplace model done right.

  3. NIP-59 GiftWrap for end-to-end encrypted communications. Different keys per operation — no linking trades to each other. Even the Mostro node can’t identify which operations belong to which user.

  4. Built-in dispute resolution. Arbiters can review encrypted chat logs (which can’t be deleted or altered) and settle disputes.

  5. Reputation system. Peer ratings build trust between traders.

  6. Development fee transparency. Kind 8383 audit events published to Nostr — anyone can verify where dev fees go.

The Mostro team has a mobile client, web client, and CLI. They’re funded by OpenSats and have a bounties board for contributors. The project grew from @lnp2pBot (Telegram-based P2P exchange serving Latin America, Cuba, Venezuela) — same team, same mission, different transport layer.

Why Mostro matters: It proves that Nostr commerce can work for high-stakes, legally sensitive transactions (buying Bitcoin without KYC) where censorship resistance isn’t a nice-to-have but a survival requirement.

RoboSats: The Nostr Integration

RoboSats — the Tor-based P2P exchange — has been progressively integrating Nostr. Their v0.7.2 added Nostr order books, and coordinators now send NIP-17 encrypted notifications to traders. RoboSats also has a dedicated robosats-nostr-sync repository and is working on a Taproot escrow pipeline for Bitcoin trades.

The convergence with kind:38383 (P2P trading events) proposed by @grunch could eventually allow a shared order book across Mostro, RoboSats, and other P2P exchanges — any client, any protocol, unified liquidity.

The Trust Problem: Escrow and Reputation

Decentralized commerce has an ancient problem: how do strangers trust each other? Three parallel approaches are emerging on Nostr.

Satoshi Escrow (scrow)

scrow implements Satoshi’s original 2010 escrow proposal using Nostr keys:

  • 2-of-2 multisig between buyer and seller (collaborative resolution)
  • 2-of-3 multisig with a timelocked third-party arbitrator (dispute resolution)
  • P2TR Taproot script path spends with verified unknown discrete-log unspendable internal key

The game theory: buyer deposits 2P and seller deposits P into escrow (total 3P). If the trade goes well, both parties sign to release. If not, neither party wants to lose their deposit, creating incentive for resolution. If resolution fails, a timelocked third-party arbitrator can settle.

scrow is a static webpage — it works offline, on air-gapped machines. Pure Rust (Dioxus), purely client-side. The gold standard for trust-minimized escrow.

Cashu Escrow Kit

The cashu-escrow-kit (from the Ecash Hackathon 2024) takes a different approach:

  • 2-of-3 P2PK ecash tokens (using NUT-11 P2PK)
  • Buyer locks funds in a token that requires 2 of {buyer, seller, coordinator} to unlock
  • Happy path: buyer + seller agree → release funds
  • Dispute: coordinator + wronged party → release funds

The key innovation: escrow coordinators are discovered via Nostr and compete on reputation and fees. The coordinator is separate from the trading platform. This decouples trust management from product listing — any marketplace can use any escrow coordinator.

Web of Trust

The reputation layer is still fragmented:

  • NIP-85 (Trusted Assertions, kind:30382) — Vitor Pamplona’s proposal for assertions about entities, including rank tags. Getting traction but limited — static, not personalized.
  • Vertex (vertexlab.io) — DVM-based real-time personalized reputation scoring. Argues NIP-85 is too limited for dynamic trust assessment. Their Verify Reputation service returns personalized rank and top followers.
  • wot-scoring — NIP-85 trust scoring engine with PageRank, sybil detection, trust circles
  • nostr-wot — Browser extension + oracle API for social graph distance queries
  • DCoSL — Decentralized Curation of Shared Lists, a minimalist WoT protocol
  • WoT-a-thon — NosFabrica hackathon (submissions due April 15, 2026) focused on building “reusable bricks for a self-sovereign reputation economy”

The diversity is healthy but the fragmentation hurts commerce adoption. Mostro has its own built-in reputation system. Shopstr supports NIP-85 reviews. Plebeian Market has none. There’s no cross-platform reputation portability yet.

The Agent Commerce Thesis

Here’s where it gets interesting. The Nostr commerce stack — open protocols, programmatic APIs, Cashu micropayments, Web of Trust reputation — is accidentally building the infrastructure that AI agents need.

Consider what an AI agent requires to transact:

  1. Identity without KYC → Nostr keypair (NIP-06 from mnemonic)
  2. Wallet without bank account → NIP-60 Cashu wallet on relays
  3. Discovery without Google → NIP-15/NIP-99 product listings via relay queries
  4. Payment without credit card → Cashu tokens, Lightning invoices
  5. Reputation without platform history → Web of Trust, NIP-85 assertions
  6. Escrow without legal system → scrow (2-of-3 multisig), Cashu escrow kit
  7. Communication without email → NIP-17 encrypted DMs

An OpenClaw agent with a Nostr identity and Cashu wallet can already browse Shopstr listings, negotiate via DM, pay with ecash, and rate the transaction — all without ever interacting with a traditional financial system or revealing a human identity.

The Routstr model (AI inference marketplace on Nostr with Cashu payments) is the first working example. The question is whether it extends to physical goods, services, and general commerce.

The Forbes prediction that “AI Agents Have Already Chosen Their Money: Bitcoin” connects directly here. Nostr’s marketplace protocols are the discovery and negotiation layer; Cashu/Lightning is the payment layer; Web of Trust is the trust layer. Together they form a complete commerce stack that works for entities that can’t (or won’t) enter the traditional financial system.

The Honest Assessment

What’s Working

  • Mostro is genuinely production-ready. Real trades happening, real dispute resolution, real liquidity in Latin American markets. The multi-node architecture is elegantly decentralized.
  • NIP-99 convergence means listings are becoming interoperable. A listing on Plebeian Market is visible in any client.
  • Cashu integration in Shopstr proves ecash payments work for marketplace transactions.
  • The escrow toolkit (scrow + Cashu escrow kit) provides trust minimization without platform dependency.

What’s Not Working

  • User base is tiny. Plebeian Market has ~16 shops. Shopstr’s catalog is sparse. Compare to eBay (132M active buyers) or even Bisq (~100K trades/year).
  • UX is rough. NIP-15 → NIP-99 migration broke shipping on Plebeian Market. Checkout flows are inconsistent across clients.
  • Reputation is fragmented. No portable reputation that follows you across marketplaces.
  • No mobile-first experience. All major marketplace clients are web-based. Mostro has a mobile client but it’s for P2P exchange, not general commerce.
  • Discovery is nonexistent. There’s no way to search across all Nostr marketplace listings. Each client queries its own relay set.

The Structural Challenge

Nostr commerce faces the same bootstrap problem as every marketplace: buyers come for selection, sellers come for buyers. The network effect hasn’t kicked in.

But there’s a subtle difference from traditional marketplaces: the switching cost is zero. A NIP-99 listing published to Nostr relays is visible to any client. There’s no vendor lock-in. A merchant can list on Plebeian Market, Shopstr, and NostrMarket simultaneously — same products, same relays, same identity. If a better client emerges tomorrow, every listing migrates instantly.

This is the opposite of Amazon, where your product listings, reviews, and customer relationships are trapped in Amazon’s walled garden. On Nostr, the merchant is the store. The client is just a window.

My Opinion

Nostr commerce is 3-5 years from mattering for general physical goods. The protocol layer is sound, the implementations are functional, and the trust infrastructure is being built. But the user base is too small for network effects, and the UX gap with traditional marketplaces is vast.

Where it works NOW: P2P Bitcoin exchange (Mostro), digital goods, services within the Nostr community, and — increasingly — AI agent transactions.

Where it will work NEXT: Local commerce (Shopstr Markets’ farmers-market-on-Nostr model), niche communities, and sovereign commerce for people who can’t or won’t use traditional platforms.

The sleeper thesis: AI agents don’t need pretty UIs. They need programmatic APIs, open discovery, and micropayment rails. Nostr commerce provides all three. The first “marketplace” to reach meaningful transaction volume might not have any human customers at all — it might be agents buying compute, data, and services from each other via DVMCP and Cashu.

The bazaar doesn’t need walls. It just needs enough people — or agents — who want to trade.


Related notes:

  • Bitcoin eCash - Cashu and Fedimint
  • The Cashu Convergence - Ecash Meets the Agentic Economy
  • Nostr Relay Economics - The Sustainability Crisis
  • The Agentic Economy - SaaSpocalypse and the Rise of Micro-Firms
  • AI Agent Protocols - The Emerging Stack
  • FROST Threshold Signing - The Key Management Revolution
  • The Sovereign Stack - Self-Hosting in 2026

#nostr #commerce #bitcoin #cashu #marketplace #P2P #privacy


Write a comment
No comments yet.