Summary
Implement WalletAdapter (apps/web/src/lib/wallet.ts) for LOBSTR, alongside FreighterWallet and (once #488 lands) XBullWallet. LOBSTR is mobile-first, unlike Freighter.
Motivation
Same motivation as #488: the README targets emerging-market users and the roadmap names low-end Android devices as the target device class, but Freighter cannot be installed on mobile. LOBSTR is one of the most widely used mobile Stellar wallets and is a real path to reaching that user.
Proposed Solution
Add a LobstrWallet class implementing the WalletAdapter interface (isInstalled/isAuthorized/connect/sign) introduced in #476, using LOBSTR's own connection API (likely WalletConnect-based, since LOBSTR doesn't expose a browser-extension API the way Freighter does — confirm the actual integration path during implementation). Do not wire it into the UI yet, same as #488; the wallet-picker issue comes after at least one non-Freighter wallet exists to design against.
Scope
| Field |
Value |
| Area |
Frontend |
| Protocol affected |
None |
| Network |
Both |
| Breaking change? |
No |
Acceptance Criteria
Additional Context
Third of the multi-wallet batch. Depends on #476 (merged). Followed by a wallet-picker UI issue, then a docs update.
Summary
Implement
WalletAdapter(apps/web/src/lib/wallet.ts) for LOBSTR, alongsideFreighterWalletand (once #488 lands)XBullWallet. LOBSTR is mobile-first, unlike Freighter.Motivation
Same motivation as #488: the README targets emerging-market users and the roadmap names low-end Android devices as the target device class, but Freighter cannot be installed on mobile. LOBSTR is one of the most widely used mobile Stellar wallets and is a real path to reaching that user.
Proposed Solution
Add a
LobstrWalletclass implementing theWalletAdapterinterface (isInstalled/isAuthorized/connect/sign) introduced in #476, using LOBSTR's own connection API (likely WalletConnect-based, since LOBSTR doesn't expose a browser-extension API the way Freighter does — confirm the actual integration path during implementation). Do not wire it into the UI yet, same as #488; the wallet-picker issue comes after at least one non-Freighter wallet exists to design against.Scope
Acceptance Criteria
LobstrWalletimplementsWalletAdapterfully (isInstalled,isAuthorized,connect,sign)FreighterWalletuses, so Playwright e2e tests can exercise it without a real walletwallet.test.ts's existing Freighter coveragepnpm --filter @meridian/web lint && pnpm --filter @meridian/web typecheck && pnpm --filter @meridian/web testpassAdditional Context
Third of the multi-wallet batch. Depends on #476 (merged). Followed by a wallet-picker UI issue, then a docs update.