{
  "markdown": "# Freeport\n\n[![CI](https://github.com/ptrinh/freeport/actions/workflows/ci.yml/badge.svg)](https://github.com/ptrinh/freeport/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![App Store](https://img.shields.io/badge/App_Store-iOS-000000?logo=apple&logoColor=white)](https://apps.apple.com/us/app/freeport-p2p-marketplace/id6781200901)\n[![Google Play](https://img.shields.io/badge/Google_Play-Android-414141?logo=googleplay&logoColor=white)](https://play.google.com/store/apps/details?id=uk.trinh.freeport)\n[![Web app](https://img.shields.io/badge/web-freeport.network-2ea44f)](https://freeport.network)\n[![Protocol: Nostr](https://img.shields.io/badge/protocol-Nostr-8e44ad)](https://nostr.com)\n\nDecentralized P2P marketplace over Nostr. Users broadcast trade intents into\ntopic-scoped markets; personal agents discover counterpart intents and\nnegotiate automatically. Humans confirm final deals. No central operator, no\nmatching server — relays are dumb pub/sub, all logic is client-side.\n\n- **App:** https://freeport.network (web/PWA) · [iOS](https://apps.apple.com/us/app/freeport-p2p-marketplace/id6781200901) · [Android](https://play.google.com/store/apps/details?id=uk.trinh.freeport) · [Desktop — Mac/Windows/Linux](https://github.com/ptrinh/freeport/releases/latest) · [Offline HTML](https://github.com/ptrinh/freeport/releases/latest/download/Freeport-offline.html)\n- **Whitepaper:** [PDF](https://freeport.network/intro/whitepaper.pdf)\n- **Self-host:** [`packages/freeport-self-hosted`](packages/freeport-self-hosted)\n  (`docker compose up -d`), or any desktop install can host the app for your\n  network with `freeport --serve`.\n- **Developers:** [CONTRIBUTING.md](CONTRIBUTING.md) — repo layout, stack\n  decisions, quick start, CLI.\n\n## Demo (2 minutes)\n\nhttps://github.com/user-attachments/assets/506c82ac-c5eb-415d-b981-ba14c4f165bc\n\n_Also on the [landing page](https://freeport.network/intro/)._\n\n## Why Freeport exists\n\n- **It's a research project.** How far can pure P2P infrastructure go? Buyers,\n  sellers, riders, drivers meet over Nostr, settle in Lightning or cash.\n  Nothing in between needs permission to exist.\n- **It's a thesis.** A P2P marketplace with a reputation system works. When\n  people own their reputation, the market self-regulates.\n- **It's a check and balance.** A zero-fee exit that answers to no one puts a\n  ceiling on how greedy the big platforms can get.\n- **It's fun.** An open protocol, Claude Code as a pair programmer, no\n  investor deck.\n- **Nobody profits — including me.** No operator, no cut. A protocol, not a\n  platform. Run it or fork it.\n- **No one will protect you here — that's the point, and the price.** No\n  support line, no refunds, no central authority. Your judgment comes first,\n  backed by opt-in safeguards no operator runs: a\n  [reputation system](#what-works-today) (karma, co-signed receipts,\n  web-of-trust), escrow **arbitration**\n  ([`examples/arbitrator`](examples/arbitrator)), **ID verification**\n  ([`examples/id-verification`](examples/id-verification)), and **insurance**\n  ([`examples/insurance-store`](examples/insurance-store)) priced from\n  reputation. You choose how much of the safety net to use.\n\n## What works today\n\n- **Everywhere**: iOS + Android app stores, web/PWA, desktop installers for\n  macOS/Windows/Linux with self-update — plus a **single-file offline copy**:\n  the whole app in one HTML file that runs from `file://`, no install, no\n  server.\n- **Wallet (experimental)**: built-in self-custodial Bitcoin Lightning +\n  stablecoin (USDT/USDB) wallet ([Breez SDK](https://breez.technology)/Spark).\n  Keys derive from your Nostr key — one backup covers identity and funds.\n  Lightning address (`you@freeport.network`), on-chain, QR scan, local-currency\n  balances, and one-tap Pay / Pay QR on confirmed deals. Bring your own wallet\n  over NWC instead if you prefer. Spark is a young trust-minimized L2 — treat\n  it as a spending wallet.\n- **Reputation**: peer-rated karma, co-signed deal receipts, proven-deal\n  counts, web-of-trust weighting. Sybil resistance stays open — treat\n  zero-history identities with caution.\n- **Chat**: invite-based 1:1 encrypted chat beyond deals — QR/link invites,\n  replies, emoji reactions, disappearing messages, delivery/read receipts,\n  voice messages, location sharing, in-chat search and Lightning payments.\n  Between updated clients it upgrades to NIP-17 gift wrap, so relays can't\n  even see who talks to whom.\n- **Calls (experimental)**: peer-to-peer audio/video calls in chat (WebRTC,\n  end-to-end encrypted, signaling over encrypted DMs — no call server),\n  with screen sharing on web. Optional TURN fallback.\n- **Zaps & Shops**: NIP-57 zap tipping on posts (verifiable receipts), and\n  NIP-15 storefronts — durable seller listings with a conversational\n  \"chat with seller\" checkout.\n- **Escrow without a custodian**: HODL-invoice conditional payments on\n  confirmed deals — the buyer holds the preimage, the seller can only settle\n  on release, unreleased funds auto-refund. The Lightning protocol enforces\n  the lock; nobody ever holds the money in between.\n- **Mini-apps (experimental)**: third-party web apps run inside Freeport with\n  your portable identity (NIP-07) and wallet (WebLN + Spark/stablecoin) —\n  sandboxed behind a permission firewall where every sensitive action needs\n  your approval ([architecture & threat model](docs/miniapps-security.md)).\n  A dedicated **Apps** tab hosts the launcher — a home-screen-style grid\n  (add any app by URL or QR, drag to rearrange), with the wallet as its first\n  tile; your apps and their grants travel with the account backup. One\n  [`<script>` tag](packages/miniapp-sdk) makes a page work on web too.\n  Mini-app examples:\n  - [`examples/esim-store`](examples/esim-store) — eSIM shop with\n    Spark/stablecoin checkout, live at\n    [apps.freeport.network/esim-store](https://apps.freeport.network/esim-store/)\n  - [`examples/insurance-store`](examples/insurance-store) — travel insurance\n    quotes underwritten from npub-derived reputation, with a downloadable PDF\n    certificate, live at\n    [apps.freeport.network/insurance-store](https://apps.freeport.network/insurance-store/)\n  - [`examples/id-verification`](examples/id-verification) — a paid identity /\n    licence verification service: submit documents, book a video call, and get\n    a shareable verification link for your profile, live at\n    [apps.freeport.network/id-verification](https://apps.freeport.network/id-verification/)\n  - [`examples/arbitrator`](examples/arbitrator) — decentralized dispute\n    arbitration: an escrow with the arbitrator as a conditional key, encrypted\n    evidence (NIP-44), and a fee only charged when a dispute is actually\n    raised — the arbitrator's npub karma is their license, live at\n    [apps.freeport.network/arbitrator](https://apps.freeport.network/arbitrator/)\n- **On-device AI (experimental)**: describe what you need in any language\n  and it drafts your post; incoming chat messages auto-translate. Runs\n  entirely on your device (Apple Intelligence / Android ML Kit + Gemini\n  Nano / Chrome built-in AI) — your words never leave it.\n- **Notifications & Telegram**: content-blind push, plus a Telegram bridge —\n  market feeds in groups, one-tap broadcast of organic posts, personal pings.\n- **56 languages**, full RTL, in-chat translation.\n\n## Non-goals (v1)\n\nCustody (payments stay self-custodial wallet-to-wallet; even escrow is\ntrust-minimized HODL invoices, never a held balance), dispute resolution,\nvetting, anti-sybil — all deliberately deferred.\n\n## Donate\n\nBTC: `bc1ps44wjx3wpu4s0xj746gz2lu45nspsm9059d3ym8xz0nrhu4psyasdgwwhx`\n\n## License & forking\n\nMIT ([LICENSE](LICENSE)). Freeport exists to be forked: any community can\nstand up its own market — own name, city, vertical, relays and services — by\nchanging configuration, not architecture. **[FORKING.md](FORKING.md)** lists\nevery deployment-specific value; [CONTRIBUTING.md](CONTRIBUTING.md) covers\ndev setup and style.\n",
  "bytes": 8042,
  "sha": "fc85465ad5ae44349889fb8454a56f8c1435ada6907246c26a912a0e4b3b308e",
  "repo_slug": "ptrinh/freeport",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ptrinh_freeport_nostr_0be8fca8/readme"
}