Skip to content

Monetisation rail: self-hosted non-custodial BTCPay — crypto-only, USD-priced, prepaid-credit subscriptions #638

Description

@eaitbrahim

Gated on ADR 0004's trigger (users, not revenue) — plan of record, not a build order.

When keel monetises, it accepts crypto only, through a self-hosted, non-custodial BTCPay Server — the payment rail coherent with promises already made: no interest-bearing payment rails, no processor that sees the payer's identity, no chargeback asymmetry. It also removes the Stripe/merchant-entity dependency entirely.

Architecture

  • BTCPay Server on the operator's own metal — non-custodial: invoices pay out directly to the operator's wallet; the server never holds keys, exactly like everything else keel runs.
  • On-chain BTC + Lightning (Lightning carries the small recurring amounts).
  • USD-priced, paid at spot: tiers are priced in USD; conversion happens at invoice time; volatility never touches the ledger.
  • Prepaid credit, not card-on-file: no auto-charge exists on-chain, so the model is credit that decrements by calendar time — annual prepay emphasized, renewal reminders via Web Push from the portal.
  • The invoice ledger is the audit trail — clean, append-only, exportable.

Stated plainly (US-based operator)

Receiving crypto is ordinary income at fair-market value at receipt. Crypto-only removes the processor, not the tax. Bookkeeping stays; the BTCPay ledger makes it easy.

Done when (when the trigger fires)

  • BTCPay deployed, store + wallets configured, Lightning node routed
  • Webhook → control-plane credit ledger (the only integration point; BTCPay never touches the engine)
  • Renewal-reminder flow working over Web Push
  • Runbook + audit export documented

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions