Conversation
Non-custodial Bitcoin ↔ Stablecoin atomic swaps via NWC. Uses pay_invoice for Lightning→EVM swaps and make_invoice for EVM→Lightning swaps. Categorized under payment-tools with install/finalize guides.
📝 WalkthroughWalkthroughA new LendaSwap app entry is added to the suggested app data file, including app metadata (title, description, links), artwork asset import, and insertion into both the main and sorted app lists, following the existing app data structure. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can use TruffleHog to scan for secrets in your code with verification capabilities.Add a TruffleHog config file (e.g. trufflehog-config.yml, trufflehog.yml) to your project to customize detectors and scanning behavior. The tool runs only when a config file is present. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@frontend/src/components/connections/SuggestedAppData.tsx`:
- Around line 2366-2392: The finalizeGuide JSX within the SuggestedAppData
component currently provides instructions that assume LendaSwap supports NWC;
add a temporary gating note or banner in that finalizeGuide block (or
conditionally hide the LendaSwap steps) until LendaSwap's NWC release is live:
update the finalizeGuide constant to either prepend a visible warning message
(e.g., "Note: NWC support in LendaSwap is coming soon—do not connect until
release") or wrap the LendaSwap list in a feature-flag/prop check so the steps
are only rendered when a runtime flag (or prop) indicates LendaSwap NWC support
is available; ensure the unique symbol finalizeGuide and the SuggestedAppData
component are the locations you modify.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 7518c2a5-a17a-4024-a381-d2ce2b64ec0b
⛔ Files ignored due to path filters (1)
frontend/src/assets/suggested-apps/lendaswap.pngis excluded by!**/*.png
📒 Files selected for processing (1)
frontend/src/components/connections/SuggestedAppData.tsx
| finalizeGuide: ( | ||
| <> | ||
| <div> | ||
| <h3 className="font-medium">In LendaSwap</h3> | ||
| <ul className="list-inside list-decimal text-muted-foreground"> | ||
| <li> | ||
| Click the{" "} | ||
| <span className="font-medium text-foreground">⚡ Lightning</span>{" "} | ||
| button in the header | ||
| </li> | ||
| <li> | ||
| Paste the connection secret from Alby Hub | ||
| </li> | ||
| <li> | ||
| When swapping Lightning → stablecoins, click{" "} | ||
| <span className="font-medium text-foreground"> | ||
| Pay with Lightning Wallet | ||
| </span>{" "} | ||
| to pay directly from your Hub | ||
| </li> | ||
| <li> | ||
| When swapping stablecoins → Lightning, click{" "} | ||
| <span className="font-medium text-foreground"> | ||
| Generate invoice from wallet | ||
| </span>{" "} | ||
| to receive directly into your Hub | ||
| </li> |
There was a problem hiding this comment.
Guard against premature onboarding before LendaSwap’s NWC release.
Line 2369 onward instructs users to connect now, but the PR notes NWC support lands in LendaSwap’s next release. If this is merged early, users will hit a broken flow. Add a temporary in-app note (or gate the listing) until the dependent release is live.
Suggested minimal copy fix
finalizeGuide: (
<>
<div>
<h3 className="font-medium">In LendaSwap</h3>
+ <p className="text-muted-foreground">
+ If you don’t see the Lightning connection option yet, update to the latest LendaSwap release and try again.
+ </p>
<ul className="list-inside list-decimal text-muted-foreground">📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| finalizeGuide: ( | |
| <> | |
| <div> | |
| <h3 className="font-medium">In LendaSwap</h3> | |
| <ul className="list-inside list-decimal text-muted-foreground"> | |
| <li> | |
| Click the{" "} | |
| <span className="font-medium text-foreground">⚡ Lightning</span>{" "} | |
| button in the header | |
| </li> | |
| <li> | |
| Paste the connection secret from Alby Hub | |
| </li> | |
| <li> | |
| When swapping Lightning → stablecoins, click{" "} | |
| <span className="font-medium text-foreground"> | |
| Pay with Lightning Wallet | |
| </span>{" "} | |
| to pay directly from your Hub | |
| </li> | |
| <li> | |
| When swapping stablecoins → Lightning, click{" "} | |
| <span className="font-medium text-foreground"> | |
| Generate invoice from wallet | |
| </span>{" "} | |
| to receive directly into your Hub | |
| </li> | |
| finalizeGuide: ( | |
| <> | |
| <div> | |
| <h3 className="font-medium">In LendaSwap</h3> | |
| <p className="text-muted-foreground"> | |
| If you don't see the Lightning connection option yet, update to the latest LendaSwap release and try again. | |
| </p> | |
| <ul className="list-inside list-decimal text-muted-foreground"> | |
| <li> | |
| Click the{" "} | |
| <span className="font-medium text-foreground">⚡ Lightning</span>{" "} | |
| button in the header | |
| </li> | |
| <li> | |
| Paste the connection secret from Alby Hub | |
| </li> | |
| <li> | |
| When swapping Lightning → stablecoins, click{" "} | |
| <span className="font-medium text-foreground"> | |
| Pay with Lightning Wallet | |
| </span>{" "} | |
| to pay directly from your Hub | |
| </li> | |
| <li> | |
| When swapping stablecoins → Lightning, click{" "} | |
| <span className="font-medium text-foreground"> | |
| Generate invoice from wallet | |
| </span>{" "} | |
| to receive directly into your Hub | |
| </li> |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@frontend/src/components/connections/SuggestedAppData.tsx` around lines 2366 -
2392, The finalizeGuide JSX within the SuggestedAppData component currently
provides instructions that assume LendaSwap supports NWC; add a temporary gating
note or banner in that finalizeGuide block (or conditionally hide the LendaSwap
steps) until LendaSwap's NWC release is live: update the finalizeGuide constant
to either prepend a visible warning message (e.g., "Note: NWC support in
LendaSwap is coming soon—do not connect until release") or wrap the LendaSwap
list in a feature-flag/prop check so the steps are only rendered when a runtime
flag (or prop) indicates LendaSwap NWC support is available; ensure the unique
symbol finalizeGuide and the SuggestedAppData component are the locations you
modify.
|
@im-adithya before merging let's make sure we have a reflink set (and actually test the whole flow) |


Hi!
We are really keen to add LendaSwap here. LendaSwap is a tool for self-custodial swaps between Bitcoin/Lightning and stablecoins (Ethereum, Polygon, Arbitrum currently supported, more to come). For more information, you can visit https://lendaswap.com.
This integration follows the pattern used by other apps in the
Connectionstab. The user just needs to connect their Alby Hub to LendaSwap via NWC. We provide simple instructions for this.Note: NWC support in LendaSwap is coming in the next release. I can attest to this PR working against the soon-to-be-released version of LendaSwap, but we should wait to merge this.
Summary by CodeRabbit