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)
https://github.com/user-attachments/assets/506c82ac-c5eb-415d-b981-ba14c4f165bc
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 (
[email protected]), 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.