Skip to content

ptrinh/freeport

Repository files navigation

Freeport

CI License: MIT App Store Google Play Web app Protocol: Nostr

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.

Demo (2 minutes)

demo-1440.mp4

Also on the landing page.

Why Freeport exists

  • 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.

What works today

  • 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:
  • 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.

Non-goals (v1)

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.

Donate

BTC: bc1ps44wjx3wpu4s0xj746gz2lu45nspsm9059d3ym8xz0nrhu4psyasdgwwhx

License & forking

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.

About

Freeport — a peer-to-peer marketplace on Nostr

Resources

License

Contributing

Stars

15 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors