| title | Operator Payment Rails |
|---|---|
| description | Operator-only payment adapters for local or self-hosted Froglet nodes. |
End users should not configure Lightning nodes, Stripe secrets, or x402 wallets just to use Froglet.
The hosted trial at try.froglet.dev is free-only: demo.add is the canonical proof. These adapters are for local/self-hosted operators, paid-staging, and future managed infrastructure where Froglet hides the payment backend from ordinary buyers.
Customer path:
- Hosted trial: no payment account, no wallet, no node credentials.
- Future hosted paid path: card checkout or a hosted invoice surface; the buyer does not run LND or manage channel liquidity.
- Self-hosted free path:
payment_rail=none.
Operator path:
The no-clone bootstrap starts with payment_rail=none. Only after the free demo
works should an operator ask the Froglet MCP tool to plan a payment rail. It
must return a decision checkpoint before any real secrets are entered.
Use these rail names in MCP:
nonelightning-lnd-reststripe-teststripe-livex402
stripe-live requires a fresh human approval and a tiny live payment/refund
proof before public copy can claim live fiat. lightning-lnd-rest is advanced
operator infrastructure: it requires the operator's LND REST URL, macaroon, TLS
cert, backups, and channel liquidity. Do not present it as normal customer
onboarding.
If you are in a source checkout or operator runbook, the repo-local helper can write env snippets and run probes:
cd froglet && ./scripts/setup-payment.sh lightning
cd froglet && ./scripts/setup-payment.sh stripe
cd froglet && ./scripts/setup-payment.sh x402Each command:
- writes a validated env snippet
- prints the exact secrets or inputs still required
- runs a verification probe for that rail
| Rail | Best first use | Verification path |
|---|---|---|
| Lightning | operator-controlled Bitcoin settlement, not ordinary buyer onboarding | mock mode locally, optional lnd_rest probe |
| Stripe | operator card-flow development and paid-staging proof | GET /v1/account with a test secret key and livemode=false |
| x402 | operator-controlled USDC-style machine-to-machine endpoints | local Base-address/network validation plus facilitator /verify reachability |
The current public Stripe and x402 adapters reuse the configured numeric service price directly on the local runtime path. They do not perform FX conversion from sats into backend-native fiat or token units.
Across all three local/self-hosted adapters, the local /v1/node/* runtime helpers use the
same stages:
- descriptor exposure
- payment prepare or reserve
- commit or capture
- cancellation or release
Only Lightning currently extends that lifecycle into standardized quote/deal settlement terms and invoice-bundle artifacts. The rail-specific docs below explain how each backend maps the local runtime stages to its own provider.
Priced async jobs are not a paid-rail proof today. Use the synchronous
/v1/node/events/query or /v1/node/execute/wasm helpers for Stripe/x402
token-settled work, and use the signed quote/deal flow for Lightning-priced
work, until durable async payment reservations are implemented.