diff --git a/artifacts/api-server/src/lib/pricing.ts b/artifacts/api-server/src/lib/pricing.ts index efbdc6f..2e9718f 100644 --- a/artifacts/api-server/src/lib/pricing.ts +++ b/artifacts/api-server/src/lib/pricing.ts @@ -24,9 +24,10 @@ export class PricingService { this.workFeeLong = config?.workFeeLongSats ?? 250; this.shortMax = config?.shortMaxChars ?? 100; this.mediumMax = config?.mediumMaxChars ?? 300; + const rawFee = parseInt(process.env.BOOTSTRAP_FEE_SATS ?? "", 10); this.bootstrapFee = config?.bootstrapFeeSats ?? - (process.env.BOOTSTRAP_FEE_SATS ? parseInt(process.env.BOOTSTRAP_FEE_SATS, 10) : 10_000); + (Number.isFinite(rawFee) && rawFee > 0 ? rawFee : 10_000); } calculateEvalFeeSats(): number { diff --git a/artifacts/api-server/src/routes/bootstrap.ts b/artifacts/api-server/src/routes/bootstrap.ts index 8876829..fd0404c 100644 --- a/artifacts/api-server/src/routes/bootstrap.ts +++ b/artifacts/api-server/src/routes/bootstrap.ts @@ -167,10 +167,11 @@ router.get("/bootstrap/:id", async (req: Request, res: Response) => { ...(keyNote ? { sshKeyNote: keyNote } : {}), }, nextSteps: [ - "SSH into your node: ssh root@", - "Bitcoin is syncing — this takes 1-2 weeks: bash /opt/timmy-node/ops.sh sync", - "Once sync reaches ~1.0, initialize LND + LNbits: bash /opt/timmy-node/lnd-init.sh", - "Auto-configure cold storage sweep: bash /opt/timmy-node/ops.sh configure-sweep", + `SSH into your node using the private key above: ssh -i root@${job.nodeIp ?? ""}`, + "Read your node credentials: cat /root/node-credentials.txt", + "Monitor Bitcoin sync (takes 1-2 weeks): docker exec bitcoin bitcoin-cli getblockchaininfo", + "Once sync is complete, fund your LND wallet, then open LNbits to create your wallet and get the API key", + "Set LNBITS_URL and LNBITS_API_KEY in your Timmy deployment to enable payment processing", ], stubMode: provisionerService.stubMode, message: provisionerService.stubMode