mirror of
https://github.com/Such-Software/smirk-backend-core.git
synced 2026-10-17 07:21:32 +02:00
Add ready-to-run .env + README recipes (personal, public-free, friends, paid-access, paid-relay, community) and the premium-relay design overview, with audit fixes to the config template and spec: - Drop the inert INSTANCE_ID knob (config never read it) and document the real per-node id, which is derived from ADMIN_PUBLIC_URL. - Warn that a placeholder PUBLIC_API_URL is rejected at boot in production (Nostr identity is on by default); soften the recipe "boots today" status. - Remove dead template vars: BTC/LTC Core-RPC settings and the non-existent PUBLIC_EXPOSE_FEATURES (replaced with the real per-field landing switches). - Mark ALTCHA_HMAC_KEY conditional in PoW-off recipes; blank placeholder payment creds so a recipe doesn't ship a key that fails validation. - Fix premium-relay spec drift: the migration creates no premium_until index, disabled endpoints return 400/200 (not 404), and neutralize operator voice.
22 lines
1.4 KiB
Markdown
22 lines
1.4 KiB
Markdown
# paid-relay — free wallet, paid Nostr posting (the flagship)
|
|
|
|
A free wallet (open + PoW) **plus** a paid premium tier for **general** Nostr
|
|
posting to your relay. Wallet-functional events — encrypted DMs, tips, swap
|
|
coordination — stay **free** for registered users; premium unlocks general posting.
|
|
Recurring revenue tied to a real service. Implements the
|
|
[premium-relay feature](../../docs/design/premium-relay.md).
|
|
|
|
- **Config:** [`.env.example`](.env.example) — `RELAY_WRITE_POLICY=premium-post`,
|
|
`PREMIUM_ENABLED=true`, tiered `PREMIUM_PLANS` (a built-in discount curve), and the
|
|
`PAYMENT_*` processor block (reused from pay-to-register; BTCPay-compatible).
|
|
- **Free vs paid:** the relay is free for what makes the wallet work; you pay to use
|
|
it as your everyday relay. Reads stay open (v1); premium gates *writes*.
|
|
- **Money:** you sell access to your relay (a fee), non-custodial + pull-model —
|
|
never hold funds. `PAYMENT_CONFIRMATIONS >= 1`; validation rejects the unsafe combos.
|
|
- **Content:** running a relay means hosting user content — a DMCA designated agent,
|
|
a CSAM-reporting process, and acceptable-use terms apply. See
|
|
[`../LEGAL_AND_OPS.md`](../LEGAL_AND_OPS.md).
|
|
- **Resources:** the relay runs beside the wallet backend + LWS, so keep the size /
|
|
retention / connection / rate caps (in `.env.example` and the nostr-rs-relay config
|
|
under `deploy/relay`); move to `RELAY_MODE=external` on its own host if load climbs.
|