Decentralized P2P marketplace over Nostr. Users broadcast trade intents into topic-scoped markets; personal agents discover counterpart intents and negotiate automatically. Humans confirm final deals. No central operator, no matching server — relays are dumb pub/sub, all logic is client-side.
- App: https://freeport.network (web/PWA) · iOS · Android · Desktop — Mac/Windows/Linux · Offline HTML
- Whitepaper: PDF
- Self-host:
packages/freeport-self-hosted(docker compose up -d), or any desktop install can host the app for your network withfreeport --serve. - Developers: CONTRIBUTING.md — repo layout, stack decisions, quick start, CLI.
demo-1440.mp4
Also on the landing page.
- It's a research project. How far can pure P2P infrastructure go? Buyers, sellers, riders, drivers meet over Nostr, settle in Lightning or cash. Nothing in between needs permission to exist.
- It's a thesis. A P2P marketplace with a reputation system works. When people own their reputation, the market self-regulates.
- It's a check and balance. A zero-fee exit that answers to no one puts a ceiling on how greedy the big platforms can get.
- It's fun. An open protocol, Claude Code as a pair programmer, no investor deck.
- Nobody profits — including me. No operator, no cut. A protocol, not a platform. Run it or fork it.
- No one will protect you here — that's the point, and the price. No
support line, no refunds, no central authority. Your judgment comes first,
backed by opt-in safeguards no operator runs: a
reputation system (karma, co-signed receipts,
web-of-trust), escrow arbitration
(
examples/arbitrator), ID verification (examples/id-verification), and insurance (examples/insurance-store) priced from reputation. You choose how much of the safety net to use.
- Everywhere: iOS + Android app stores, web/PWA, desktop installers for
macOS/Windows/Linux with self-update — plus a single-file offline copy:
the whole app in one HTML file that runs from
file://, no install, no server. - Wallet (experimental): built-in self-custodial Bitcoin Lightning +
stablecoin (USDT/USDB) wallet (Breez SDK/Spark).
Keys derive from your Nostr key — one backup covers identity and funds.
Lightning address (
you@freeport.network), on-chain, QR scan, local-currency balances, and one-tap Pay / Pay QR on confirmed deals. Bring your own wallet over NWC instead if you prefer. Spark is a young trust-minimized L2 — treat it as a spending wallet. - Reputation: peer-rated karma, co-signed deal receipts, proven-deal counts, web-of-trust weighting. Sybil resistance stays open — treat zero-history identities with caution.
- Chat: invite-based 1:1 encrypted chat beyond deals — QR/link invites, replies, emoji reactions, disappearing messages, delivery/read receipts, voice messages, location sharing, in-chat search and Lightning payments. Between updated clients it upgrades to NIP-17 gift wrap, so relays can't even see who talks to whom.
- Calls (experimental): peer-to-peer audio/video calls in chat (WebRTC, end-to-end encrypted, signaling over encrypted DMs — no call server), with screen sharing on web. Optional TURN fallback.
- Zaps & Shops: NIP-57 zap tipping on posts (verifiable receipts), and NIP-15 storefronts — durable seller listings with a conversational "chat with seller" checkout.
- Escrow without a custodian: HODL-invoice conditional payments on confirmed deals — the buyer holds the preimage, the seller can only settle on release, unreleased funds auto-refund. The Lightning protocol enforces the lock; nobody ever holds the money in between.
- Mini-apps (experimental): third-party web apps run inside Freeport with
your portable identity (NIP-07) and wallet (WebLN + Spark/stablecoin) —
sandboxed behind a permission firewall where every sensitive action needs
your approval (architecture & threat model).
A dedicated Apps tab hosts the launcher — a home-screen-style grid
(add any app by URL or QR, drag to rearrange), with the wallet as its first
tile; your apps and their grants travel with the account backup. One
<script>tag makes a page work on web too. Mini-app examples:examples/esim-store— eSIM shop with Spark/stablecoin checkout, live at apps.freeport.network/esim-storeexamples/insurance-store— travel insurance quotes underwritten from npub-derived reputation, with a downloadable PDF certificate, live at apps.freeport.network/insurance-storeexamples/id-verification— a paid identity / licence verification service: submit documents, book a video call, and get a shareable verification link for your profile, live at apps.freeport.network/id-verificationexamples/arbitrator— decentralized dispute arbitration: an escrow with the arbitrator as a conditional key, encrypted evidence (NIP-44), and a fee only charged when a dispute is actually raised — the arbitrator's npub karma is their license, live at apps.freeport.network/arbitrator
- On-device AI (experimental): describe what you need in any language and it drafts your post; incoming chat messages auto-translate. Runs entirely on your device (Apple Intelligence / Android ML Kit + Gemini Nano / Chrome built-in AI) — your words never leave it.
- Notifications & Telegram: content-blind push, plus a Telegram bridge — market feeds in groups, one-tap broadcast of organic posts, personal pings.
- 56 languages, full RTL, in-chat translation.
Custody (payments stay self-custodial wallet-to-wallet; even escrow is trust-minimized HODL invoices, never a held balance), dispute resolution, vetting, anti-sybil — all deliberately deferred.
BTC: bc1ps44wjx3wpu4s0xj746gz2lu45nspsm9059d3ym8xz0nrhu4psyasdgwwhx
MIT (LICENSE). Freeport exists to be forked: any community can stand up its own market — own name, city, vertical, relays and services — by changing configuration, not architecture. FORKING.md lists every deployment-specific value; CONTRIBUTING.md covers dev setup and style.