SuggestedAppData.tsx raw
1 import { ZapIcon } from "lucide-react";
2 import { Link } from "react-router";
3 import topup2fiat from "src/assets/suggested-apps/2fiat-topup.png";
4 import albyExtension from "src/assets/suggested-apps/alby-extension.png";
5 import albyGo from "src/assets/suggested-apps/alby-go.png";
6 import albySandbox from "src/assets/suggested-apps/alby-sandbox.png";
7 import albyCli from "src/assets/suggested-apps/alby.png";
8 import amethyst from "src/assets/suggested-apps/amethyst.png";
9 import bitcoinCardTopup from "src/assets/suggested-apps/bitcoin-card-topup.png";
10 import bitrefill from "src/assets/suggested-apps/bitrefill.png";
11 import bitrequest from "src/assets/suggested-apps/bitrequest.png";
12 import bringin from "src/assets/suggested-apps/bringin.png";
13 import btcpay from "src/assets/suggested-apps/btcpay.png";
14 import buzzpay from "src/assets/suggested-apps/buzzpay.png";
15 import castamatic from "src/assets/suggested-apps/castamatic.png";
16 import clams from "src/assets/suggested-apps/clams.png";
17 import coracle from "src/assets/suggested-apps/coracle.png";
18 import damus from "src/assets/suggested-apps/damus.png";
19 import fountain from "src/assets/suggested-apps/fountain.png";
20 import hablanews from "src/assets/suggested-apps/habla-news.png";
21 import iris from "src/assets/suggested-apps/iris.png";
22 import jumble from "src/assets/suggested-apps/jumble.png";
23 import lightningMessageboard from "src/assets/suggested-apps/lightning-messageboard.png";
24 import lnbits from "src/assets/suggested-apps/lnbits.png";
25 import lnvps from "src/assets/suggested-apps/lnvps.png";
26 import lume from "src/assets/suggested-apps/lume.png";
27 import nadanada from "src/assets/suggested-apps/nadanada.png";
28 import nakapay from "src/assets/suggested-apps/nakapay.png";
29 import nostrcheckserver from "src/assets/suggested-apps/nostrcheck-server.png";
30 import nostrudel from "src/assets/suggested-apps/nostrudel.png";
31 import nostter from "src/assets/suggested-apps/nostter.png";
32 import nostur from "src/assets/suggested-apps/nostur.png";
33 import payperq from "src/assets/suggested-apps/payperq.png";
34 import primal from "src/assets/suggested-apps/primal.png";
35 import pullthatupjamie from "src/assets/suggested-apps/pullthatupjamie.png";
36 import runstr from "src/assets/suggested-apps/runstr.png";
37 import satsorter from "src/assets/suggested-apps/sat-sorter.png";
38 import satoraLogo from "src/assets/suggested-apps/satora.png";
39 import sats4ai from "src/assets/suggested-apps/sats4ai.png";
40 import simpleboost from "src/assets/suggested-apps/simple-boost.png";
41 import snort from "src/assets/suggested-apps/snort.png";
42 import stackernews from "src/assets/suggested-apps/stacker-news.png";
43 import takemysats from "src/assets/suggested-apps/takemysats.png";
44 import tictactoe from "src/assets/suggested-apps/tictactoe.png";
45 import tunnelsats from "src/assets/suggested-apps/tunnelsats.png";
46 import wavespace from "src/assets/suggested-apps/wave-space.png";
47 import wavlake from "src/assets/suggested-apps/wavlake.png";
48 import wherostr from "src/assets/suggested-apps/wherostr.png";
49 import yakihonne from "src/assets/suggested-apps/yakihonne.png";
50 import zapstream from "src/assets/suggested-apps/zap-stream.png";
51 import zapplanner from "src/assets/suggested-apps/zapplanner.png";
52 import zapplepay from "src/assets/suggested-apps/zapple-pay.png";
53 import zappybird from "src/assets/suggested-apps/zappy-bird.png";
54 import zapstore from "src/assets/suggested-apps/zapstore.png";
55 import zeus from "src/assets/suggested-apps/zeus.png";
56 import { BitcoinCardTopupInstallGuide } from "src/components/connections/BitcoinCardTopupInstallGuide";
57 import ExternalLink from "src/components/ExternalLink";
58 import { App } from "src/types";
59
60 export type AppStoreApp = {
61 id: string;
62 title: string;
63 legacyTitles?: string[];
64 description: string;
65 extendedDescription: string;
66
67 logo?: string;
68 categories: (keyof typeof appStoreCategories)[];
69
70 // General links
71 webLink?: string;
72
73 // App store links
74 playLink?: string;
75 appleLink?: string;
76 zapStoreLink?: string;
77
78 // Extension store links
79 chromeLink?: string;
80 firefoxLink?: string;
81
82 installGuide?: React.ReactNode;
83 finalizeGuide?: React.ReactNode;
84 hideConnectionQr?: boolean;
85 internal?: boolean;
86 superuser?: boolean;
87 // Receive-only apps (e.g. merchant payment receivers) default to read-only
88 // permissions in the new connection flow.
89 readonly?: boolean;
90 addedDate?: string;
91 };
92
93 export const appStoreCategories = {
94 "wallet-interfaces": {
95 title: "Wallet Interfaces",
96 priority: 1,
97 },
98 "social-media": {
99 title: "Social Media",
100 priority: 2,
101 },
102 ai: {
103 title: "AI",
104 priority: 20,
105 },
106 "merchant-tools": {
107 title: "Merchant Tools",
108 priority: 10,
109 },
110 audio: {
111 title: "Audio",
112 priority: 20,
113 },
114 blogging: {
115 title: "Blogging",
116 priority: 20,
117 },
118 "payment-tools": {
119 title: "Payment Tools",
120 priority: 10,
121 },
122 shopping: {
123 title: "Shopping",
124 priority: 30,
125 },
126 "nostr-tools": {
127 title: "Nostr Tools",
128 priority: 40,
129 },
130 games: {
131 title: "Games",
132 priority: 50,
133 },
134 misc: {
135 title: "Misc",
136 priority: 100,
137 },
138 } as const;
139
140 export const sortedAppStoreCategories = Object.entries(appStoreCategories).sort(
141 (a, b) => a[1].priority - b[1].priority
142 );
143
144 export const appStoreApps: AppStoreApp[] = (
145 [
146 {
147 id: "alby-go",
148 title: "Alby Go",
149 description: "A simple mobile wallet that works great with Alby Hub",
150 webLink: "https://albygo.com",
151 playLink:
152 "https://play.google.com/store/apps/details?id=com.getalby.mobile",
153 appleLink: "https://apps.apple.com/us/app/alby-go/id6471335774",
154 zapStoreLink: "https://zapstore.dev/download/",
155 logo: albyGo,
156 extendedDescription:
157 "Sends and receives payments seamlessly from your Hub",
158 categories: ["wallet-interfaces"],
159 superuser: true,
160 installGuide: (
161 <>
162 <p className="text-muted-foreground">
163 Download and open{" "}
164 <span className="font-medium text-foreground">Alby Go</span> on your
165 iOS or Android device
166 </p>
167 </>
168 ),
169 finalizeGuide: (
170 <>
171 <div>
172 <h3 className="font-medium">In Alby Go</h3>
173 <p className="text-muted-foreground">
174 Scan the connection secret from Alby Hub
175 </p>
176 </div>
177 </>
178 ),
179 },
180 {
181 id: "buzzpay",
182 title: "BuzzPay PoS",
183 description: "Receive-only PoS you can safely share with your employees",
184 extendedDescription:
185 "Receive-only PoS you can safely share with your employees",
186 internal: true,
187 logo: buzzpay,
188 categories: ["merchant-tools"],
189 webLink: "https://pos.albylabs.com",
190 },
191 {
192 id: "castamatic",
193 title: "Castamatic",
194 description: "Podcast player with Value4Value support",
195 webLink: "https://castamatic.com",
196 appleLink:
197 "https://apps.apple.com/us/app/castamatic-podcast-player/id966632553",
198 logo: castamatic,
199 extendedDescription:
200 "Castamatic is a feature-rich podcast player for iOS with built-in Value4Value support. Send boosts and stream sats to your favorite podcasters while you listen.",
201 installGuide: (
202 <>
203 <p className="text-muted-foreground">
204 Download and open{" "}
205 <span className="font-medium text-foreground">Castamatic</span> on
206 your iOS device
207 </p>
208 </>
209 ),
210 finalizeGuide: (
211 <>
212 <div>
213 <h3 className="font-medium">In Castamatic</h3>
214 <ul className="list-inside list-decimal text-muted-foreground">
215 <li>Open a podcast that supports Value4Value</li>
216 <li>Tap the Connect Wallet button in the player</li>
217 <li>Select Connect NWC wallet</li>
218 <li>Scan or paste the connection secret from Alby Hub</li>
219 </ul>
220 </div>
221 </>
222 ),
223 categories: ["audio"],
224 addedDate: "2026-03-12",
225 },
226 {
227 id: "bitcoin-card-topup",
228 title: "Bitcoin Card Topup",
229 description: "Top up any crypto debit card instantly with bitcoin",
230 logo: bitcoinCardTopup,
231 categories: ["payment-tools"],
232 extendedDescription:
233 "A generic top-up app that swaps Lightning sats to a stablecoin and sends them to your card's deposit address. Works with RedotPay, Freedomia, Nexo, Bybit, and any other card that accepts on-chain crypto deposits.",
234 webLink: "https://card.albylabs.com",
235 installGuide: <BitcoinCardTopupInstallGuide />,
236 finalizeGuide: (
237 <>
238 <div>
239 <ul className="list-inside list-decimal text-muted-foreground">
240 <li>Copy the connection secret below.</li>
241 <li>
242 In the topup app, tap{" "}
243 <span className="font-medium text-foreground">
244 Connect Wallet
245 </span>{" "}
246 and paste the connection secret.
247 </li>
248 </ul>
249 </div>
250 </>
251 ),
252 },
253 {
254 id: "2fiat",
255 title: "2fiat Top up",
256 description:
257 "No-KYC virtual prepaid Mastercard with instant lightning top ups",
258 logo: topup2fiat,
259 categories: ["payment-tools"],
260 extendedDescription:
261 "No-KYC virtual prepaid Mastercard. Anonymous payments, Instant lightning top-ups, Apple & Google Pay ready, Load amounts from $10 to $10,000, All cards support 3D Secure (3DS), Global usage - pay anywhere Mastercard is accepted.",
262 webLink: "http://2fiat.com/getalby",
263 installGuide: (
264 <>
265 <div>
266 <ul className="list-inside list-decimal text-muted-foreground">
267 <li>
268 <ExternalLink
269 to="http://2fiat.com/getalby"
270 className="underline"
271 >
272 Sign up
273 </ExternalLink>{" "}
274 for a 2fiat card and set it up
275 </li>
276 <li>
277 On the 2fiat website, open the card page (where you can see the
278 full card number and transaction list) and{" "}
279 <span className="font-medium text-foreground">
280 copy the entire URL
281 </span>
282 .
283 </li>
284 <li>
285 Open{" "}
286 <ExternalLink
287 to="https://rolznz.github.io/2fiat-topup/"
288 className="underline"
289 >
290 2fiat top up
291 </ExternalLink>{" "}
292 (on mobile save the app to your homescreen and open it there
293 before continuing) and
294 </li>
295 <li>
296 Click the "Connect Card" button and paste the card link you
297 copied earlier.
298 </li>
299 </ul>
300 </div>
301 </>
302 ),
303 finalizeGuide: (
304 <>
305 <div>
306 <ul className="list-inside list-decimal text-muted-foreground">
307 <li>Copy the connection secret below</li>
308 <li>
309 Click the "Connect Wallet" button inside the 2fiat topup app,
310 choose "Alby Hub {"->"} Connection Secret" and paste the
311 connection secret.
312 </li>
313 </ul>
314 </div>
315 </>
316 ),
317 },
318 {
319 id: "alby-cli-skill",
320 title: "Alby CLI Skill",
321 description: "Skill wrapper that helps AI agents use Alby CLI better",
322 extendedDescription:
323 "Agent skill for Alby CLI with guided setup for skill-enabled coding agents and AI tooling.",
324 internal: true,
325 logo: albyCli,
326 categories: ["ai"],
327 webLink: "https://github.com/getAlby/alby-cli-skill",
328 },
329 {
330 id: "payperq",
331 title: "PayPerQ",
332 description: "Pay-Per-Prompt AI Service",
333 webLink: "https://ppq.ai/invite/3f21c1e5",
334 logo: payperq,
335 hideConnectionQr: true,
336 extendedDescription:
337 "Access all of the latest AI models and tools in one place without the need for subscriptions",
338 installGuide: (
339 <>
340 <ul className="list-inside list-decimal text-muted-foreground">
341 <li>
342 Open{" "}
343 <ExternalLink
344 to="https://ppq.ai/api-docs"
345 className="font-medium text-foreground underline"
346 >
347 PayPerQ API docs page
348 </ExternalLink>{" "}
349 and scroll down to the{" "}
350 <span className="font-medium text-foreground">
351 NWC Auto-Topup
352 </span>{" "}
353 section.
354 </li>
355 <li>
356 Copy the CURL code example for{" "}
357 <span className="font-medium text-foreground">
358 POST /nwc-auto-topup/connect
359 </span>{" "}
360 and paste it into a notepad.
361 </li>
362 </ul>
363 </>
364 ),
365 finalizeGuide: (
366 <>
367 <div>
368 <h3 className="font-medium">Connect Auto-Topup</h3>
369 <ul className="list-inside list-decimal text-muted-foreground">
370 <li>
371 Replace the{" "}
372 <span className="font-medium text-foreground">"nwc_url"</span>{" "}
373 field with your connection secret.
374 </li>
375 <li>Execute the CURL command in your terminal.</li>
376 <li>
377 Verify settings with{" "}
378 <code className="text-foreground">
379 GET https://api.ppq.ai/nwc-auto-topup
380 </code>{" "}
381 along with the{" "}
382 <code className="text-foreground">x-credit-id</code> header.
383 </li>
384 </ul>
385 </div>
386 </>
387 ),
388 categories: ["ai"],
389 },
390 {
391 id: "sats4ai",
392 title: "Sats4AI",
393 description: "30+ AI tools paid with lightning micropayments",
394 extendedDescription:
395 "Access 30+ AI tools including image generation, video, text-to-speech, transcription, and more. No signup, no API keys — just pay per use with lightning.",
396 logo: sats4ai,
397 categories: ["ai"],
398 webLink: "https://sats4ai.com",
399 },
400 {
401 id: "simpleboost",
402 title: "SimpleBoost",
403 description: "Donation widget for your website",
404 extendedDescription: "Donation widget for your website",
405 internal: true,
406 logo: simpleboost,
407 categories: ["merchant-tools"],
408 webLink: "https://getalby.github.io/simple-boost/",
409 },
410 {
411 id: "lightning-messageboard",
412 title: "Lightning Messageboard",
413 description: "Paid messageboard widget for your website",
414 extendedDescription: "Paid messageboard widget for your website",
415 internal: true,
416 logo: lightningMessageboard,
417 categories: ["merchant-tools"],
418 webLink: "https://github.com/getAlby/lightning-messageboard",
419 },
420 {
421 id: "lnvps",
422 title: "LNVPS",
423 description: "VPS powered by Bitcoin",
424 webLink: "https://lnvps.net/?ref=alby",
425 logo: lnvps,
426 hideConnectionQr: true,
427 extendedDescription:
428 "Run VPS infrastructure with Bitcoin-native billing and automated renewals through Nostr Wallet Connect.",
429 installGuide: (
430 <>
431 <p className="text-muted-foreground">
432 Open{" "}
433 <ExternalLink
434 to="https://lnvps.net/?ref=alby"
435 className="font-medium text-foreground underline"
436 >
437 LNVPS
438 </ExternalLink>{" "}
439 in your browser
440 </p>
441 </>
442 ),
443 finalizeGuide: (
444 <>
445 <div>
446 <h3 className="font-medium">In LNVPS</h3>
447 <ul className="list-inside list-decimal text-muted-foreground">
448 <li>
449 Enable auto-renew on{" "}
450 <ExternalLink
451 to="https://lnvps.net/vm/billing"
452 className="font-medium text-foreground underline"
453 >
454 lnvps.net/vm/billing
455 </ExternalLink>
456 </li>
457 <li>
458 Go to{" "}
459 <ExternalLink
460 to="https://lnvps.net/account/settings"
461 className="font-medium text-foreground underline"
462 >
463 lnvps.net/account/settings
464 </ExternalLink>
465 </li>
466 <li>Paste the connection secret from Alby Hub</li>
467 <li>Save your settings to activate NWC auto-renewal</li>
468 </ul>
469 </div>
470 </>
471 ),
472 categories: ["misc"],
473 },
474 {
475 id: "alby-extension",
476 title: "Alby Extension",
477 description: "Wallet in your browser",
478 webLink: "https://getalby.com/products/browser-extension",
479 chromeLink:
480 "https://chromewebstore.google.com/detail/iokeahhehimjnekafflcihljlcjccdbe",
481 firefoxLink: "https://addons.mozilla.org/en-US/firefox/addon/alby/",
482 logo: albyExtension,
483 extendedDescription:
484 "Connect your Hub to lightning-enabled websites and lets you pay seamlessly on the web",
485 hideConnectionQr: true,
486 installGuide: (
487 <>
488 <div>
489 <ul className="list-inside list-decimal text-muted-foreground">
490 <li>
491 Download and open{" "}
492 <span className="font-medium text-foreground">
493 Alby Extension
494 </span>{" "}
495 in your desktop browser or for Firefox mobile
496 </li>
497 <li>Set your Unlock Passcode</li>
498 <li>
499 Choose{" "}
500 <span className="font-medium text-foreground">
501 Bring your own Wallet {"->"} Alby Hub
502 </span>
503 </li>
504 </ul>
505 </div>
506 </>
507 ),
508 finalizeGuide: (
509 <>
510 <div>
511 <ul className="list-inside list-decimal text-muted-foreground">
512 <li>Copy the connection secret below</li>
513 <li>
514 Paste into the extension and then click{" "}
515 <span className="font-medium text-foreground">Continue</span>
516 </li>
517 </ul>
518 </div>
519 </>
520 ),
521 categories: ["wallet-interfaces"],
522 },
523 {
524 id: "alby-cli",
525 title: "Alby CLI",
526 description:
527 "Command-line interface for Nostr Wallet Connect with lightning tools",
528 webLink: "https://github.com/getAlby/cli",
529 logo: albyCli,
530 extendedDescription:
531 "Manage your Alby Hub from the command line. Send and receive payments, create invoices, check your balance, and automate lightning workflows. Built for developers and AI agents.",
532 categories: ["wallet-interfaces"],
533 hideConnectionQr: true,
534 installGuide: (
535 <>
536 <div>
537 <ul className="list-inside list-decimal text-muted-foreground">
538 <li>
539 Install the CLI globally:{" "}
540 <code className="text-foreground">
541 npm install -g @getalby/cli
542 </code>
543 </li>
544 <li>
545 Or run directly with npx:{" "}
546 <code className="text-foreground">npx @getalby/cli</code>
547 </li>
548 </ul>
549 </div>
550 </>
551 ),
552 finalizeGuide: (
553 <>
554 <div>
555 <h3 className="font-medium">Connect to your Hub</h3>
556 <ul className="list-inside list-decimal text-muted-foreground">
557 <li>
558 Set the <code className="text-foreground">NWC_URL</code>{" "}
559 environment variable or pass the connection string via{" "}
560 <code className="text-foreground">-c</code>
561 </li>
562 <li>
563 Run{" "}
564 <code className="text-foreground">
565 npx @getalby/cli -c "nostr+walletconnect://..." get-info
566 </code>{" "}
567 to verify the connection
568 </li>
569 </ul>
570 </div>
571 </>
572 ),
573 },
574 {
575 id: "alby-sandbox",
576 title: "Alby Sandbox",
577 description: "Interactive Lightning payment scenarios for app builders",
578 webLink: "https://sandbox.albylabs.com",
579 logo: albySandbox,
580 extendedDescription:
581 "Explore real-world Lightning and Nostr Wallet Connect flows with guided scenarios, test wallets, and code-oriented examples for app development.",
582 installGuide: (
583 <>
584 <p className="text-muted-foreground">
585 Open{" "}
586 <ExternalLink
587 to="https://sandbox.albylabs.com"
588 className="font-medium text-foreground underline"
589 >
590 sandbox.albylabs.com
591 </ExternalLink>{" "}
592 in your browser
593 </p>
594 </>
595 ),
596 finalizeGuide: (
597 <>
598 <div>
599 <h3 className="font-medium">In Alby Sandbox</h3>
600 <ul className="list-inside list-decimal text-muted-foreground">
601 <li>Choose any scenario in the sidebar</li>
602 <li>
603 Paste your Alby Hub{" "}
604 <span className="font-medium text-foreground">
605 connection secret.
606 </span>{" "}
607 If you connected a test wallet first, disconnect it and
608 reconnect using your Alby Hub secret.
609 </li>
610 <li>
611 Click{" "}
612 <span className="font-medium text-foreground">Connect</span>
613 </li>
614 <li>Run a scenario to explore Lightning payment flows</li>
615 </ul>
616 </div>
617 </>
618 ),
619 categories: ["misc"],
620 },
621 {
622 id: "damus",
623 title: "Damus",
624 description: "iOS Nostr client",
625 webLink: "https://damus.io/?utm_source=getalby",
626 appleLink: "https://apps.apple.com/ca/app/damus/id1628663131",
627 logo: damus,
628 extendedDescription:
629 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
630 installGuide: (
631 <>
632 <p className="text-muted-foreground">
633 Download and open{" "}
634 <span className="font-medium text-foreground">Damus</span> on your
635 iOS device
636 </p>
637 </>
638 ),
639 finalizeGuide: (
640 <>
641 <div>
642 <h3 className="font-medium">In Damus</h3>
643 <ul className="list-inside list-decimal text-muted-foreground">
644 <li>
645 Go to{" "}
646 <span className="font-medium text-foreground">Wallet</span> →{" "}
647 <span className="font-medium text-foreground">
648 Attach Wallet
649 </span>
650 </li>
651 <li>Scan or paste the connection secret from Alby Hub</li>
652 </ul>
653 </div>
654 </>
655 ),
656 categories: ["social-media"],
657 },
658 {
659 id: "amethyst",
660 title: "Amethyst",
661 description: "Android Nostr client",
662 webLink: "https://github.com/vitorpamplona/amethyst",
663 playLink:
664 "https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst",
665 logo: amethyst,
666 extendedDescription:
667 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
668 installGuide: (
669 <>
670 <p className="text-muted-foreground">
671 Download and open{" "}
672 <span className="font-medium text-foreground">Amethyst</span> on
673 your Android device
674 </p>
675 </>
676 ),
677 finalizeGuide: (
678 <>
679 <div>
680 <h3 className="font-medium">In Amethyst</h3>
681 <ul className="list-inside list-decimal text-muted-foreground">
682 <li>
683 Long-press
684 <ZapIcon className="inline text-foreground mx-2" />
685 below a post in your feed
686 </li>
687 <li>
688 Click on the{" "}
689 <span className="font-medium text-foreground">
690 QR code icon
691 </span>{" "}
692 to activate the QR code scanner
693 </li>
694 <li>Scan the connection secret from Alby Hub</li>
695 </ul>
696 </div>
697 </>
698 ),
699 categories: ["social-media"],
700 },
701 {
702 id: "primal",
703 title: "Primal",
704 description: "Cross-platform social",
705 webLink: "https://primal.net/",
706 appleLink: "https://apps.apple.com/us/app/primal/id1673134518",
707 playLink:
708 "https://play.google.com/store/apps/details?id=net.primal.android",
709 logo: primal,
710 extendedDescription:
711 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
712 installGuide: (
713 <>
714 <p className="text-muted-foreground">
715 Download and open{" "}
716 <span className="font-medium text-foreground">Primal</span> on your
717 Android or iOS device
718 </p>
719 </>
720 ),
721 finalizeGuide: (
722 <>
723 <div>
724 <h3 className="font-medium">In Primal</h3>
725 <ul className="list-inside list-decimal text-muted-foreground">
726 <li>
727 Click on your{" "}
728 <span className="font-medium text-foreground">
729 profile image
730 </span>{" "}
731 in the top left corner →{" "}
732 <span className="font-medium text-foreground">Settings</span> →{" "}
733 <span className="font-medium text-foreground">Wallet</span> →{" "}
734 <span className="font-medium text-foreground">
735 Untoggle Primal wallet
736 </span>
737 </li>
738 <li>
739 Click on "Paste NWC String" or "Scan NWC QR Code" to connect
740 Alby Hub
741 </li>
742 </ul>
743 </div>
744 </>
745 ),
746 categories: ["social-media"],
747 },
748 {
749 id: "runstr",
750 title: "RUNSTR",
751 description: "Bitcoin-powered fitness competitions",
752 webLink: "https://www.runstr.club",
753 zapStoreLink:
754 "https://zapstore.dev/apps/naddr1qvzqqqr7pvpzqcgsy8425f5jwsd3yd4me6j5c64f7g96xr9vuvtv82fag5yf5lg0qqwxxmmd9eskummw09kk7atn9ee82mnnw3ezuurjda4x2cm50etju8",
755 logo: runstr,
756 extendedDescription:
757 "Track workouts, join team competitions, and earn Bitcoin rewards through Lightning payments",
758 installGuide: (
759 <>
760 <p className="text-muted-foreground">
761 Download and open{" "}
762 <span className="font-medium text-foreground">RUNSTR</span> on your
763 iOS or Android device
764 </p>
765 </>
766 ),
767 finalizeGuide: (
768 <>
769 <div>
770 <h3 className="font-medium">In RUNSTR</h3>
771 <ul className="list-inside list-decimal text-muted-foreground">
772 <li>
773 Go to{" "}
774 <span className="font-medium text-foreground">Settings</span>{" "}
775 and expand the{" "}
776 <span className="font-medium text-foreground">Advanced</span>{" "}
777 section
778 </li>
779 <li>
780 Tap{" "}
781 <span className="font-medium text-foreground">
782 Scan QR Code
783 </span>{" "}
784 to scan your Alby Hub connection QR
785 </li>
786 <li>
787 Or tap{" "}
788 <span className="font-medium text-foreground">
789 Enter Manually
790 </span>{" "}
791 to paste your NWC connection string
792 </li>
793 <li>Confirm the connection when prompted</li>
794 </ul>
795 </div>
796 </>
797 ),
798 categories: ["misc"],
799 },
800 {
801 id: "sat-sorter",
802 readonly: true,
803 title: "Sat Sorter",
804 description: "A Bitcoin Budgeting App",
805 webLink: "https://satsorter.com",
806 logo: satsorter,
807 extendedDescription:
808 "A privacy-first, zero-based budgeting app for Bitcoiners. Connects via NWC for automatic Lightning transaction sync.",
809 installGuide: (
810 <>
811 <p className="text-muted-foreground">
812 Open{" "}
813 <ExternalLink
814 to="https://satsorter.com"
815 className="font-medium text-foreground underline"
816 >
817 Sat Sorter
818 </ExternalLink>{" "}
819 in your browser
820 </p>
821 </>
822 ),
823 finalizeGuide: (
824 <>
825 <div>
826 <h3 className="font-medium">In Sat Sorter</h3>
827 <ul className="list-inside list-decimal text-muted-foreground">
828 <li>
829 Tap the{" "}
830 <span className="font-medium text-foreground">Wallet</span> icon
831 in the header
832 </li>
833 <li>
834 Tap{" "}
835 <span className="font-medium text-foreground">
836 Connect Wallet
837 </span>{" "}
838 and select{" "}
839 <span className="font-medium text-foreground">
840 Nostr Wallet Connect
841 </span>
842 </li>
843 <li>Paste the connection secret from Alby Hub</li>
844 <li>
845 Tap <span className="font-medium text-foreground">Connect</span>{" "}
846 — your Lightning transactions will now sync automatically
847 </li>
848 </ul>
849 </div>
850 </>
851 ),
852 categories: ["misc"],
853 },
854 {
855 id: "zap-stream",
856 title: "Zap Stream",
857 description: "Stream and stack sats",
858 webLink: "https://zap.stream/",
859 logo: zapstream,
860 extendedDescription:
861 "Tip streamers, zap comments and pay or receive sats for streaming time with your Hub",
862 installGuide: (
863 <>
864 <p className="text-muted-foreground">
865 Open{" "}
866 <ExternalLink
867 to="https://zap.stream"
868 className="font-medium text-foreground underline"
869 >
870 Zap Stream
871 </ExternalLink>{" "}
872 in your browser and log in
873 </p>
874 </>
875 ),
876 finalizeGuide: (
877 <>
878 <div>
879 <h3 className="font-medium">In Zap Stream</h3>
880 <ul className="list-inside list-decimal text-muted-foreground">
881 <li>
882 Click on your{" "}
883 <span className="font-medium text-foreground">
884 Profile Image
885 </span>{" "}
886 → <span className="font-medium text-foreground">Settings</span>{" "}
887 → scroll to{" "}
888 <span className="font-medium text-foreground">Wallet</span>
889 </li>
890 <li>
891 Paste connection secret from Alby Hub and click on{" "}
892 <span className="font-medium text-foreground">Connect</span>
893 </li>
894 </ul>
895 </div>
896 </>
897 ),
898 categories: ["social-media"],
899 },
900 {
901 id: "bitrequest",
902 readonly: true,
903 title: "Bitrequest",
904 description: "Non-custodial payment requests",
905 webLink: "https://www.bitrequest.io",
906 playLink:
907 "https://play.google.com/store/apps/details?id=io.bitrequest.app",
908 appleLink: "https://apps.apple.com/us/app/bitrequest/id1484815377",
909 logo: bitrequest,
910 extendedDescription:
911 "Open-source, Non-custodial app for creating and sharing cryptocurrency payment requests",
912 installGuide: (
913 <>
914 <div>
915 <p className="text-muted-foreground">
916 Open{" "}
917 <ExternalLink
918 to="https://bitrequest.github.io"
919 className="font-medium text-foreground underline"
920 >
921 Bitrequest
922 </ExternalLink>{" "}
923 in your browser, or download the app on iOS or Android
924 </p>
925 </div>
926 </>
927 ),
928 finalizeGuide: (
929 <>
930 <div>
931 <h3 className="font-medium">In Bitrequest</h3>
932 <ul className="list-inside list-decimal text-muted-foreground">
933 <li>
934 Click on{" "}
935 <span className="font-medium text-foreground">Bitcoin</span> and
936 then{" "}
937 <span className="font-medium text-foreground">Lightning</span>{" "}
938 to open the{" "}
939 <span className="font-medium text-foreground">
940 Add lightning node
941 </span>{" "}
942 modal
943 </li>
944 <li>
945 Set{" "}
946 <span className="font-medium text-foreground">
947 implementation
948 </span>{" "}
949 to <span className="font-medium text-foreground">NWC</span>
950 </li>
951 <li>Enter a name for the connection</li>
952 <li>
953 Paste the connection secret (nostr+walletconnect://....) and
954 click <span className="font-medium text-foreground">OK</span>
955 </li>
956 </ul>
957 </div>
958 </>
959 ),
960 categories: ["merchant-tools"],
961 },
962 {
963 id: "btcpay",
964 readonly: true,
965 title: "BTCPay Server",
966 description: "Bitcoin payment processor",
967 webLink: "https://btcpayserver.org/",
968 logo: btcpay,
969 extendedDescription:
970 "Receive payments directly to your Hub for products you sell online",
971 installGuide: (
972 <>
973 <p>
974 You can use your Alby Hub as a lightning wallet funding source for
975 your{" "}
976 <ExternalLink
977 to="https://btcpayserver.org/"
978 className="font-medium text-foreground underline"
979 >
980 BTCPay Server
981 </ExternalLink>{" "}
982 store, to accept and create payments. In order for this feature to
983 work, your BTCPay Server instance needs to have the{" "}
984 <span className="font-medium text-foreground">Nostr</span> plugin
985 installed.
986 </p>
987 </>
988 ),
989 finalizeGuide: (
990 <>
991 <div>
992 <h3 className="font-medium">In BTCPay Server</h3>
993 <ul className="list-inside list-decimal text-muted-foreground">
994 <li>Log in to your BTCPay Server dashboard</li>
995 <li>
996 Find connection configuration for your Lightning node (
997 <span className="font-medium text-foreground">Lightning</span> →
998 <span className="font-medium text-foreground">Settings</span> →
999 <span className="font-medium text-foreground">
1000 Change connection
1001 </span>
1002 )
1003 </li>
1004 <li>
1005 Choose{" "}
1006 <span className="font-medium text-foreground">
1007 Use custom node
1008 </span>
1009 </li>
1010 <li>
1011 Paste the connection secret (nostr+walletconnect://....) in the
1012 configuration field
1013 </li>
1014 <li>
1015 Click <span className="font-medium text-foreground">Save</span>
1016 </li>
1017 </ul>
1018 </div>
1019 </>
1020 ),
1021 categories: ["merchant-tools"],
1022 },
1023 {
1024 id: "lnbits",
1025 title: "LNbits",
1026 description: "Wallet accounts system with extensions",
1027 webLink: "https://lnbits.com/",
1028 logo: lnbits,
1029 extendedDescription:
1030 "Connect your Alby Hub to LNbits to give extra functionality through plugins such as BOLT cards and lightning vouchers",
1031 installGuide: (
1032 <>
1033 <p>
1034 You can use your Alby Hub as a lightning wallet funding source for
1035 your{" "}
1036 <ExternalLink
1037 to="https://lnbits.com/"
1038 className="font-medium text-foreground underline"
1039 >
1040 LNbits
1041 </ExternalLink>{" "}
1042 instance, to accept and create payments.
1043 </p>
1044 </>
1045 ),
1046 finalizeGuide: (
1047 <>
1048 <div>
1049 <h3 className="font-medium">In LNbits</h3>
1050 <ul className="list-inside list-decimal text-muted-foreground">
1051 <li>Log in to your LNbits admin dashboard</li>
1052 <li>
1053 Go to{" "}
1054 <span className="font-medium text-foreground">Manage</span> →{" "}
1055 <span className="font-medium text-foreground">Server</span> →{" "}
1056 <span className="font-medium text-foreground">Funding</span>, to
1057 configure funding wallet
1058 </li>
1059 <li>
1060 Under{" "}
1061 <span className="font-medium text-foreground">
1062 Active Funding
1063 </span>{" "}
1064 choose{" "}
1065 <span className="font-medium text-foreground">
1066 Nostr Wallet Connect
1067 </span>
1068 </li>
1069 <li>
1070 Paste the connection secret (nostr+walletconnect://....) under{" "}
1071 <span className="font-medium text-foreground">Pairing URL</span>
1072 </li>
1073 <li>
1074 Click <span className="font-medium text-foreground">Save</span>{" "}
1075 and{" "}
1076 <span className="font-medium text-foreground">
1077 Restart Server
1078 </span>
1079 </li>
1080 </ul>
1081 </div>
1082 </>
1083 ),
1084 categories: ["misc", "payment-tools"],
1085 },
1086 {
1087 id: "coracle",
1088 title: "Coracle.social",
1089 description: "Desktop Nostr client",
1090 webLink: "https://coracle.social/",
1091 logo: coracle,
1092 extendedDescription:
1093 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1094 installGuide: (
1095 <>
1096 <p className="text-muted-foreground">
1097 You can connect your Alby Hub to Coracle to zap Nostr notes directly
1098 from your node.
1099 </p>
1100 </>
1101 ),
1102 finalizeGuide: (
1103 <>
1104 <div>
1105 <h3 className="font-medium">In Coracle</h3>
1106 <ul className="list-inside list-decimal text-muted-foreground">
1107 <li>
1108 Log in with your Nostr keys to{" "}
1109 <ExternalLink
1110 to="https://coracle.social/login"
1111 className="font-medium text-foreground underline"
1112 >
1113 Coracle
1114 </ExternalLink>{" "}
1115 (it is recommended to use the Alby Extension)
1116 </li>
1117 <li>
1118 Click on a zap icon ⚡ and{" "}
1119 <span className="font-medium text-foreground">Zap!</span> under
1120 any post, to configure wallet connection and make your first zap
1121 </li>
1122 <li>
1123 Click{" "}
1124 <span className="font-medium text-foreground">
1125 Connect Wallet to Pay
1126 </span>{" "}
1127 and choose{" "}
1128 <span className="font-medium text-foreground">
1129 Nostr Wallet Connect
1130 </span>
1131 </li>
1132 <li>
1133 Paste the connection secret (nostr+walletconnect://....) and
1134 click{" "}
1135 <span className="font-medium text-foreground">Connect</span>
1136 </li>
1137 </ul>
1138 </div>
1139 </>
1140 ),
1141 categories: ["social-media"],
1142 },
1143 {
1144 id: "nostter",
1145 title: "Nostter",
1146 description: "Minimalistic, desktop Nostr client",
1147 webLink: "https://nostter.app/",
1148 logo: nostter,
1149 extendedDescription:
1150 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1151 installGuide: (
1152 <>
1153 <p className="text-muted-foreground">
1154 You can connect your Alby Hub to Nostter to zap Nostr notes directly
1155 from your node.
1156 </p>
1157 </>
1158 ),
1159 finalizeGuide: (
1160 <>
1161 <div>
1162 <h3 className="font-medium">In Nostter</h3>
1163 <ul className="list-inside list-decimal text-muted-foreground">
1164 <li>
1165 Log in with your Nostr keys to{" "}
1166 <ExternalLink
1167 to="https://nostter.app/"
1168 className="font-medium text-foreground underline"
1169 >
1170 Nostter
1171 </ExternalLink>{" "}
1172 (it is recommended to use the Alby Extension)
1173 </li>
1174 <li>
1175 Go to{" "}
1176 <span className="font-medium text-foreground">Preferences</span>
1177 </li>
1178 <li>
1179 Paste the connection secret (nostr+walletconnect://....) under{" "}
1180 <span className="font-medium text-foreground">
1181 Nostr Wallet Connect
1182 </span>
1183 </li>
1184 <li>Click elsewhere for the connection to be tested and saved</li>
1185 <li>
1186 Go to <span className="font-medium text-foreground">Home</span>{" "}
1187 and click the zap icon (⚡) under any post to add a comment and
1188 send zap directly from your node
1189 </li>
1190 </ul>
1191 </div>
1192 </>
1193 ),
1194 categories: ["social-media"],
1195 },
1196 {
1197 id: "wavlake",
1198 title: "Wavlake",
1199 description: "Turn up the value for your biggest fans",
1200 webLink: "https://www.wavlake.com/",
1201 playLink:
1202 "https://play.google.com/store/apps/details?id=com.wavlake.mobile",
1203 appleLink:
1204 "https://apps.apple.com/us/app/wavlake-social-music-player/id6463653431",
1205 logo: wavlake,
1206 extendedDescription:
1207 "Support artists by paying to upvote music you enjoy with your Hub",
1208 installGuide: (
1209 <>
1210 <p className="text-muted-foreground">
1211 Download and open{" "}
1212 <span className="font-medium text-foreground">Wavlake</span> on your
1213 iOS or Android device
1214 </p>
1215 </>
1216 ),
1217 finalizeGuide: (
1218 <>
1219 <div>
1220 <h3 className="font-medium">In Wavlake</h3>
1221 <ul className="list-inside list-decimal text-muted-foreground">
1222 <li>Scan or paste the connection secret from Alby Hub</li>
1223 </ul>
1224 </div>
1225 </>
1226 ),
1227 categories: ["audio"],
1228 },
1229 {
1230 id: "fountain",
1231 title: "Fountain",
1232 description:
1233 "Discover millions of podcasts and emerging artists worth supporting",
1234 webLink: "https://www.fountain.fm",
1235 playLink:
1236 "https://play.google.com/store/apps/details?id=fm.fountain.apps",
1237 appleLink:
1238 "https://apps.apple.com/us/app/fountain-podcast-player/id1576394424",
1239 logo: fountain,
1240 extendedDescription:
1241 "Discover millions of podcasts and emerging artists worth supporting. Powered by RSS, Lightning and Nostr",
1242 installGuide: (
1243 <>
1244 <p className="text-muted-foreground">
1245 Download and open{" "}
1246 <span className="font-medium text-foreground">Fountain</span> on
1247 your iOS or Android device
1248 </p>
1249 </>
1250 ),
1251 finalizeGuide: (
1252 <>
1253 <div>
1254 <h3 className="font-medium">In Fountain</h3>
1255 <ul className="list-inside list-decimal text-muted-foreground">
1256 <li>Go to Wallet tab</li>
1257 <li>Click the settings cog</li>
1258 <li>Go to connected accounts {"->"} Nostr Wallet Connect</li>
1259 <li>Scan or paste the connection secret from Alby Hub</li>
1260 </ul>
1261 </div>
1262 </>
1263 ),
1264 categories: ["audio"],
1265 },
1266 {
1267 id: "wavespace",
1268 title: "wavecard® by wave.space",
1269 description:
1270 "Spend Bitcoin from your AlbyHub at 150M+ merchants worldwide",
1271 webLink: "https://app.wave.space/?utm_source=albyhub&affiliate=AlbyHub",
1272 logo: wavespace,
1273 extendedDescription:
1274 "The world's first Bitcoin VISA Debit Card that allows you to spend BTC globally, anywhere VISA is accepted – straight from the safety of your own NWC-enabled wallet. ✨ EXCLUSIVE ALBYHUB SPECIAL🐝 → Get 21% cashback on your wavecard transactions (up to 10,000 sats) using code »AlbyHub«",
1275 finalizeGuide: (
1276 <>
1277 <div>
1278 <h3 className="font-medium">In wave.space</h3>
1279 <ul className="list-inside list-decimal text-muted-foreground">
1280 <li>
1281 Open{" "}
1282 <ExternalLink
1283 to="https://app.wave.space/?utm_source=albyhub&affiliate=AlbyHub"
1284 className="font-medium text-foreground underline"
1285 >
1286 wave.space
1287 </ExternalLink>{" "}
1288 in your browser and{" "}
1289 <span className="font-medium text-foreground">
1290 Sign up or log in
1291 </span>{" "}
1292 to your account
1293 </li>
1294 <li>
1295 Click on{" "}
1296 <span className="font-medium text-foreground">
1297 Connect Wallet
1298 </span>
1299 </li>
1300 <li>
1301 Choose{" "}
1302 <span className="font-medium text-foreground">
1303 Nostr Wallet Connect
1304 </span>
1305 </li>
1306 <li>Paste the connection secret from Alby Hub</li>
1307 </ul>
1308 </div>
1309 </>
1310 ),
1311 categories: ["payment-tools"],
1312 },
1313 {
1314 id: "snort",
1315 title: "Snort",
1316 description: "Web Nostr client",
1317 webLink: "https://snort.social/",
1318 logo: snort,
1319 extendedDescription:
1320 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1321 installGuide: (
1322 <>
1323 <p className="text-muted-foreground">
1324 Open{" "}
1325 <ExternalLink
1326 to="https://snort.social"
1327 className="font-medium text-foreground underline"
1328 >
1329 Snort
1330 </ExternalLink>{" "}
1331 in your browser
1332 </p>
1333 </>
1334 ),
1335 finalizeGuide: (
1336 <>
1337 <div>
1338 <h3 className="font-medium">In Snort</h3>
1339 <ul className="list-inside list-decimal text-muted-foreground">
1340 <li>
1341 Click on{" "}
1342 <span className="font-medium text-foreground">Settings</span> →{" "}
1343 <span className="font-medium text-foreground">Wallet</span>
1344 </li>
1345 <li>
1346 Choose{" "}
1347 <span className="font-medium text-foreground">
1348 Nostr Wallet Connect
1349 </span>
1350 </li>
1351 <li>Paste the connection secret from Alby Hub</li>
1352 </ul>
1353 </div>
1354 </>
1355 ),
1356 categories: ["social-media"],
1357 },
1358 {
1359 id: "habla-news",
1360 title: "Habla News",
1361 description: "Blogging platform",
1362 webLink: "https://habla.news/",
1363 logo: hablanews,
1364 extendedDescription:
1365 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1366 installGuide: (
1367 <>
1368 <p className="text-muted-foreground">
1369 Open{" "}
1370 <ExternalLink
1371 to="https://habla.news"
1372 className="font-medium text-foreground underline"
1373 >
1374 habla.news
1375 </ExternalLink>{" "}
1376 in your browser
1377 </p>
1378 </>
1379 ),
1380 finalizeGuide: (
1381 <>
1382 <div>
1383 <h3 className="font-medium">In Habla News</h3>
1384 <ul className="list-inside list-decimal text-muted-foreground">
1385 <li>
1386 Go to{" "}
1387 <span className="font-medium text-foreground">Settings</span> →{" "}
1388 <span className="font-medium text-foreground">Wallet</span> →{" "}
1389 Click{" "}
1390 <span className="font-medium text-foreground">
1391 Connect Wallet
1392 </span>
1393 </li>
1394 <li>
1395 Choose{" "}
1396 <span className="font-medium text-foreground">
1397 NWC Generic
1398 </span>{" "}
1399 </li>
1400 <li>Paste the connection secret from Alby Hub</li>
1401 </ul>
1402 </div>
1403 </>
1404 ),
1405 categories: ["blogging"],
1406 },
1407 {
1408 id: "iris",
1409 title: "Iris",
1410 description: "The nostr client for better social networks",
1411 webLink: "https://iris.to/",
1412 logo: iris,
1413 extendedDescription:
1414 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1415 installGuide: (
1416 <>
1417 <p className="text-muted-foreground">
1418 Open{" "}
1419 <ExternalLink
1420 to="https://iris.to"
1421 className="font-medium text-foreground underline"
1422 >
1423 iris.to
1424 </ExternalLink>{" "}
1425 in your browser
1426 </p>
1427 </>
1428 ),
1429 finalizeGuide: (
1430 <>
1431 <div>
1432 <h3 className="font-medium">In Iris</h3>
1433 <ul className="list-inside list-decimal text-muted-foreground">
1434 <li>
1435 Go to{" "}
1436 <span className="font-medium text-foreground">Settings</span> →{" "}
1437 <span className="font-medium text-foreground">Wallet</span> →{" "}
1438 Click{" "}
1439 <span className="font-medium text-foreground">
1440 + Add NWC Wallet
1441 </span>
1442 </li>
1443 <li>Paste the connection secret from Alby Hub</li>
1444 </ul>
1445 </div>
1446 </>
1447 ),
1448 categories: ["social-media"],
1449 },
1450 {
1451 id: "clams",
1452 readonly: true,
1453 title: "Clams",
1454 description: "Multi wallet accounting tool",
1455 webLink: "https://clams.tech/",
1456 logo: clams,
1457 extendedDescription:
1458 "Get insights into your transaction history and accounting tools by connecting your Hub",
1459 installGuide: (
1460 <>
1461 <p className="text-muted-foreground">
1462 Download and open{" "}
1463 <ExternalLink
1464 to="https://clams.tech/"
1465 className="font-medium text-foreground underline"
1466 >
1467 Clams
1468 </ExternalLink>{" "}
1469 on your device
1470 </p>
1471 </>
1472 ),
1473 finalizeGuide: (
1474 <>
1475 <div>
1476 <h3 className="font-medium">In Clams</h3>
1477 <ul className="list-inside list-decimal text-muted-foreground">
1478 <li>Add a connection: "+ Add Connection" → NWC</li>
1479 <li>Add label & paste connection secret</li>
1480 <li>Click Connect and Save</li>
1481 </ul>
1482 </div>
1483 </>
1484 ),
1485 categories: ["payment-tools"],
1486 },
1487 {
1488 id: "nostrcheck-server",
1489 readonly: true,
1490 title: "Nostrcheck Server",
1491 description: "Sovereign Nostr services",
1492 webLink: "https://github.com/quentintaranpino/nostrcheck-server",
1493 logo: nostrcheckserver,
1494 extendedDescription:
1495 "Enable payments to your Hub from users who register or upload and download files",
1496 installGuide: (
1497 <>
1498 <p className="text-muted-foreground">
1499 Click{" "}
1500 <Link
1501 to="/apps/new?app=nostrcheck-server"
1502 className="font-medium text-foreground underline"
1503 >
1504 Connect to Nostrcheck Server
1505 </Link>
1506 </p>
1507 </>
1508 ),
1509 finalizeGuide: (
1510 <>
1511 <div>
1512 <h3 className="font-medium">In Nostrcheck server</h3>
1513 <ul className="list-inside list-decimal text-muted-foreground">
1514 <li>
1515 Go to{" "}
1516 <span className="font-medium text-foreground">Settings</span>{" "}
1517 and choose{" "}
1518 <span className="font-medium text-foreground">Payments</span>{" "}
1519 tab
1520 </li>
1521 <li>
1522 Scroll to Nostr wallet connect settings and paste the{" "}
1523 <span className="font-medium text-foreground">
1524 connection secret
1525 </span>{" "}
1526 from Alby Hub
1527 </li>
1528 <li>
1529 Press the{" "}
1530 <span className="font-medium text-foreground">Save</span> button
1531 </li>
1532 </ul>
1533 </div>
1534 </>
1535 ),
1536 categories: ["nostr-tools"],
1537 },
1538 {
1539 id: "nostrudel",
1540 title: "noStrudel",
1541 description: "Web Nostr client",
1542 webLink: "https://nostrudel.ninja/",
1543 logo: nostrudel,
1544 extendedDescription:
1545 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1546 installGuide: (
1547 <>
1548 <p className="text-muted-foreground">
1549 Open{" "}
1550 <ExternalLink
1551 to="https://nostrudel.ninja"
1552 className="font-medium text-foreground underline"
1553 >
1554 noStrudel
1555 </ExternalLink>{" "}
1556 in your browser
1557 </p>
1558 </>
1559 ),
1560 finalizeGuide: (
1561 <>
1562 <div>
1563 <h3 className="font-medium">In Nostrudel</h3>
1564 <ul className="list-inside list-decimal text-muted-foreground">
1565 <li>
1566 Click on{" "}
1567 <span className="font-medium text-foreground">Settings</span> →{" "}
1568 <span className="font-medium text-foreground">Lightning</span> →{" "}
1569 <span className="font-medium text-foreground">
1570 Connect Wallet
1571 </span>
1572 </li>
1573 <li>
1574 Choose{" "}
1575 <span className="font-medium text-foreground">
1576 Custom Nostr Wallet Connect
1577 </span>
1578 </li>
1579 <li>Paste the connection secret from Alby Hub</li>
1580 </ul>
1581 </div>
1582 </>
1583 ),
1584 categories: ["social-media"],
1585 },
1586 {
1587 id: "yakihonne",
1588 title: "YakiHonne",
1589 description: "Your all in one nostr client",
1590 webLink: "https://yakihonne.com/",
1591 playLink:
1592 "https://play.google.com/store/apps/details?id=com.yakihonne.yakihonne",
1593 appleLink: "https://apps.apple.com/us/app/yakihonne/id6472556189",
1594 logo: yakihonne,
1595 extendedDescription:
1596 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1597 installGuide: (
1598 <>
1599 <p className="text-muted-foreground">
1600 Open{" "}
1601 <ExternalLink
1602 to="https://yakihonne.com/wallet"
1603 className="font-medium text-foreground underline"
1604 >
1605 YakiHonne
1606 </ExternalLink>{" "}
1607 in your browser
1608 </p>
1609 </>
1610 ),
1611 finalizeGuide: (
1612 <>
1613 <div>
1614 <h3 className="font-medium">In YakiHonne</h3>
1615 <ul className="list-inside list-decimal text-muted-foreground">
1616 <li>
1617 Click on{" "}
1618 <span className="font-medium text-foreground">Add wallet</span>
1619 </li>
1620 <li>
1621 Choose{" "}
1622 <span className="font-medium text-foreground">
1623 Nostr Wallet Connect
1624 </span>
1625 </li>
1626 <li>Paste the connection secret from Alby Hub</li>
1627 </ul>
1628 </div>
1629 </>
1630 ),
1631 categories: ["social-media", "blogging"],
1632 },
1633 {
1634 id: "zapplanner",
1635 title: "ZapPlanner",
1636 description: "Schedule payments",
1637 extendedDescription: "Schedule payments to a lightning address",
1638 webLink: "https://zapplanner.albylabs.com/",
1639 logo: zapplanner,
1640 internal: true,
1641 categories: ["payment-tools"],
1642 },
1643 {
1644 id: "zapplepay",
1645 title: "Zapple Pay",
1646 description: "Zap from any client",
1647 webLink: "https://www.zapplepay.com/",
1648 logo: zapplepay,
1649 extendedDescription:
1650 "ZapplePay will make payments from your Hub to zap posts when you react to them",
1651 installGuide: (
1652 <>
1653 <p className="text-muted-foreground">
1654 Open{" "}
1655 <ExternalLink
1656 to="https://www.zapplepay.com"
1657 className="font-medium text-foreground"
1658 >
1659 Zapple Pay
1660 </ExternalLink>{" "}
1661 in your browser
1662 </p>
1663 </>
1664 ),
1665 finalizeGuide: (
1666 <>
1667 <div>
1668 <h3 className="font-medium">In Zapple Pay</h3>
1669 <ul className="list-inside list-decimal text-muted-foreground">
1670 <li>
1671 Add your details (e.g. you npub, etc.), then choose{" "}
1672 <span className="font-medium text-foreground">Wallet</span> →{" "}
1673 <span className="font-medium text-foreground">
1674 Manual Connect
1675 </span>
1676 </li>
1677 <li>Paste the connection secret from Alby Hub</li>
1678 </ul>
1679 </div>
1680 </>
1681 ),
1682 categories: ["nostr-tools"],
1683 },
1684 {
1685 id: "lume",
1686 title: "Lume",
1687 description: "macOS Nostr client",
1688 webLink: "https://lume.nu/",
1689 logo: lume,
1690 extendedDescription:
1691 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1692 installGuide: (
1693 <>
1694 <p className="text-muted-foreground">
1695 Download Lume from{" "}
1696 <ExternalLink
1697 to="https://github.com/lumehq/lume/releases"
1698 className="font-medium text-foreground underline"
1699 >
1700 GitHub
1701 </ExternalLink>{" "}
1702 and install it on your computer
1703 </p>
1704 </>
1705 ),
1706 finalizeGuide: (
1707 <>
1708 <div>
1709 <h3 className="font-medium">In Lume</h3>
1710 <ul className="list-inside list-decimal text-muted-foreground">
1711 <li>
1712 Click on your profile image →{" "}
1713 <span className="font-medium text-foreground">Settings</span> →{" "}
1714 <span className="font-medium text-foreground">Wallet</span> →{" "}
1715 <span className="font-medium text-foreground">
1716 Connect Wallet
1717 </span>
1718 </li>
1719 <li>
1720 Choose{" "}
1721 <span className="font-medium text-foreground">
1722 Nostr Wallet Connect
1723 </span>
1724 </li>
1725 <li>Paste the connection secret from Alby Hub</li>
1726 </ul>
1727 </div>
1728 </>
1729 ),
1730 categories: ["social-media"],
1731 },
1732 {
1733 id: "nadanada",
1734 title: "nadanada",
1735 description: "No-KYC eSIM, VPN and phone numbers",
1736 webLink: "https://nadanada.me?ref=getalby",
1737 logo: nadanada,
1738 extendedDescription:
1739 "Privacy-first eSIM, VPN, and phone numbers with no account required.",
1740 installGuide: (
1741 <>
1742 <p className="text-muted-foreground">
1743 Open{" "}
1744 <ExternalLink
1745 to="https://nadanada.me?ref=getalby"
1746 className="font-medium text-foreground underline"
1747 >
1748 nadanada
1749 </ExternalLink>{" "}
1750 in your browser
1751 </p>
1752 </>
1753 ),
1754 finalizeGuide: (
1755 <>
1756 <div>
1757 <h3 className="font-medium">In nadanada</h3>
1758 <ul className="list-inside list-decimal text-muted-foreground">
1759 <li>Choose a service of your choice</li>
1760 <li>
1761 At checkout, choose{" "}
1762 <span className="font-medium text-foreground">
1763 Lightning
1764 </span>{" "}
1765 </li>
1766 <li>
1767 Click{" "}
1768 <span className="font-medium text-foreground">
1769 Pay with Wallet
1770 </span>
1771 </li>
1772 <li>
1773 In the modal, click{" "}
1774 <span className="font-medium text-foreground">
1775 Connect Wallet to Pay
1776 </span>
1777 </li>
1778 <li>
1779 Choose{" "}
1780 <span className="font-medium text-foreground">
1781 Nostr Wallet Connect
1782 </span>{" "}
1783 </li>
1784 <li>
1785 Paste the connection secret from Alby Hub and continue to
1786 confirm payment
1787 </li>
1788 </ul>
1789 </div>
1790 </>
1791 ),
1792 categories: ["misc"],
1793 addedDate: "2026-04-10",
1794 },
1795 {
1796 id: "nakapay",
1797 readonly: true,
1798 title: "NakaPay",
1799 description: "Non-custodial Lightning payments for businesses via NWC",
1800 webLink: "https://www.nakapay.app",
1801 logo: nakapay,
1802 extendedDescription:
1803 "Accept Bitcoin Lightning payments directly to your Hub wallet. NakaPay generates invoices that customers pay directly to you - your funds never go through NakaPay (fully non-custodial)",
1804 installGuide: (
1805 <>
1806 <div>
1807 <p className="text-sm text-muted-foreground mb-4">
1808 NakaPay is a{" "}
1809 <span className="font-medium text-foreground">
1810 fully non-custodial
1811 </span>{" "}
1812 payment service. Customer payments go directly to your Alby Hub
1813 wallet - NakaPay never holds your funds.
1814 </p>
1815 <ul className="list-inside list-decimal text-muted-foreground">
1816 <li>
1817 Visit{" "}
1818 <ExternalLink
1819 to="https://www.nakapay.app"
1820 className="font-medium text-foreground underline"
1821 >
1822 NakaPay
1823 </ExternalLink>{" "}
1824 and log in with any Lightning wallet (LNURL-auth)
1825 </li>
1826 <li>
1827 Your business account will be automatically created on first
1828 login
1829 </li>
1830 </ul>
1831 </div>
1832 </>
1833 ),
1834 finalizeGuide: (
1835 <>
1836 <div>
1837 <h3 className="font-medium">In NakaPay</h3>
1838 <ul className="list-inside list-decimal text-muted-foreground">
1839 <li>
1840 Go to{" "}
1841 <span className="font-medium text-foreground">Dashboard</span> →{" "}
1842 <span className="font-medium text-foreground">Settings</span> →{" "}
1843 <span className="font-medium text-foreground">Wallet</span>
1844 </li>
1845 <li>
1846 Paste your Alby Hub NWC connection string in the wallet
1847 connection field
1848 </li>
1849 <li>Test the connection to verify everything works</li>
1850 <li>
1851 Create API keys in{" "}
1852 <span className="font-medium text-foreground">Dashboard</span> →{" "}
1853 <span className="font-medium text-foreground">
1854 API Management
1855 </span>{" "}
1856 for your applications
1857 </li>
1858 <li>
1859 10. Start accepting payments directly to your Alby Hub wallet!
1860 </li>
1861 </ul>
1862 </div>
1863 </>
1864 ),
1865 categories: ["merchant-tools"],
1866 },
1867 {
1868 id: "zappy-bird",
1869 title: "Zappy Bird",
1870 description: "Lose sats quickly",
1871 webLink: "https://rolznz.github.io/zappy-bird/",
1872 logo: zappybird,
1873 extendedDescription:
1874 "Makes a payment from your Hub each time your bird flaps its wings",
1875 installGuide: (
1876 <>
1877 <p className="text-muted-foreground">
1878 Open{" "}
1879 <ExternalLink
1880 to="https://rolznz.github.io/zappy-bird"
1881 className="font-medium text-foreground underline"
1882 >
1883 Zappy Bird
1884 </ExternalLink>{" "}
1885 in your browser
1886 </p>
1887 </>
1888 ),
1889 finalizeGuide: (
1890 <>
1891 <div>
1892 <h3 className="font-medium">In Zappy Bird</h3>
1893 <ul className="list-inside list-decimal text-muted-foreground">
1894 <li>
1895 Click on{" "}
1896 <span className="font-medium text-foreground">
1897 Connect Wallet
1898 </span>{" "}
1899 in the top right corner
1900 </li>
1901 <li>
1902 Choose{" "}
1903 <span className="font-medium text-foreground">
1904 Nostr Wallet Connect
1905 </span>{" "}
1906 </li>
1907 <li>Paste the connection secret from Alby Hub</li>
1908 </ul>
1909 </div>
1910 </>
1911 ),
1912 categories: ["games"],
1913 },
1914 {
1915 id: "tictactoe",
1916 title: "Tic Tac Toe",
1917 description:
1918 "Earn satoshis while playing multiplayer tic-tac-toe. Lightning network fast.",
1919 extendedDescription:
1920 "Earn satoshis while playing multiplayer tic-tac-toe. Lightning network fast.",
1921 webLink: "https://lntictactoe.com/",
1922 internal: true,
1923 logo: tictactoe,
1924 categories: ["games"],
1925 },
1926 {
1927 id: "nostur",
1928 title: "Nostur",
1929 description: "Social media",
1930 webLink: "https://nostur.com/",
1931 appleLink:
1932 "https://apps.apple.com/us/app/nostur-nostr-client/id1672780508",
1933 logo: nostur,
1934 extendedDescription:
1935 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1936
1937 installGuide: (
1938 <>
1939 <p className="text-muted-foreground">
1940 Download and open{" "}
1941 <span className="font-medium text-foreground">Nostur</span> on your
1942 iOS device
1943 </p>
1944 </>
1945 ),
1946 finalizeGuide: (
1947 <>
1948 <div>
1949 <h3 className="font-medium">In Nostur</h3>
1950 <ul className="list-inside list-decimal text-muted-foreground">
1951 <li>
1952 Click on your profile image →{" "}
1953 <span className="font-medium text-foreground">Settings</span> →
1954 scroll to{" "}
1955 <span className="font-medium text-foreground">Zapping</span>
1956 </li>
1957 <li>
1958 Choose{" "}
1959 <span className="font-medium text-foreground">
1960 Custom Nostr Wallet Connect
1961 </span>
1962 </li>
1963 <li>Paste the connection secret from Alby Hub</li>
1964 </ul>
1965 </div>
1966 </>
1967 ),
1968 categories: ["social-media"],
1969 },
1970 {
1971 id: "wherostr",
1972 title: "Wherostr",
1973 description: "Map of notes",
1974 webLink: "https://wherostr.social/",
1975 playLink:
1976 "https://play.google.com/store/apps/details?id=th.co.mapboss.wherostr.social.wherostr_social&hl=en&pli=1",
1977 appleLink: "https://apps.apple.com/us/app/wherostr/id6503808206",
1978 logo: wherostr,
1979 extendedDescription:
1980 "Tip nostr posts and profiles and receive zaps seamlessly with your Hub",
1981 installGuide: (
1982 <>
1983 <p className="text-muted-foreground">
1984 Open{" "}
1985 <ExternalLink
1986 to="https://wherostr.social"
1987 className="font-medium text-foreground underline"
1988 >
1989 Wherostr
1990 </ExternalLink>{" "}
1991 in your browser and log in
1992 </p>
1993 </>
1994 ),
1995 finalizeGuide: (
1996 <>
1997 <div>
1998 <h3 className="font-medium">In Wherostr</h3>
1999 <ul className="list-inside list-decimal text-muted-foreground">
2000 <li>
2001 Click on <span className="font-medium text-foreground">≡</span>{" "}
2002 → <span className="font-medium text-foreground">Settings</span>{" "}
2003 → <span className="font-medium text-foreground">Wallet</span>
2004 </li>
2005 <li>
2006 Choose{" "}
2007 <span className="font-medium text-foreground">
2008 Nostr Wallet Connect
2009 </span>
2010 </li>
2011 <li>Scan or paste the connection secret from Alby Hub</li>
2012 </ul>
2013 </div>
2014 </>
2015 ),
2016 categories: ["social-media"],
2017 },
2018 {
2019 id: "stackernews",
2020 title: "stacker news",
2021 description: "Like Hacker News but with Bitcoin",
2022 webLink: "https://stacker.news/",
2023 logo: stackernews,
2024 extendedDescription:
2025 "Upvote posts with sats and receive sats for your own posts directly in your Hub",
2026 installGuide: (
2027 <>
2028 <p className="text-muted-foreground">
2029 Open{" "}
2030 <ExternalLink
2031 to="https://stacker.news"
2032 className="font-medium text-foreground underline"
2033 >
2034 stacker news
2035 </ExternalLink>{" "}
2036 in your browser
2037 </p>
2038 </>
2039 ),
2040 finalizeGuide: (
2041 <>
2042 <div>
2043 <h3 className="font-medium">In stacker news</h3>
2044 <ul className="list-inside list-decimal text-muted-foreground">
2045 <li>
2046 Click on your username →{" "}
2047 <span className="font-medium text-foreground">Wallet</span> →{" "}
2048 <span className="font-medium text-foreground">
2049 Attach wallets
2050 </span>{" "}
2051 →{" "}
2052 <span className="font-medium text-foreground">Attach NWC</span>
2053 </li>
2054 <li>
2055 Paste the connection secret from Alby Hub into{" "}
2056 <span className="font-medium text-foreground">
2057 connection for sending
2058 </span>
2059 </li>
2060 <li className="text-muted-foreground">
2061 You can make another stacker news connection with receive-only
2062 permissions, for receiving zaps.
2063 </li>
2064 </ul>
2065 </div>
2066 </>
2067 ),
2068 categories: ["social-media"],
2069 },
2070 {
2071 id: "pullthatupjamie-ai",
2072 title: "Pull That Up Jamie!",
2073 description: "Instantly pull up anything with private web search + AI",
2074 webLink: "https://www.pullthatupjamie.ai/",
2075 logo: pullthatupjamie,
2076 extendedDescription:
2077 "Pay from your Hub to do private AI-powered searches",
2078 installGuide: (
2079 <>
2080 <p className="text-muted-foreground">
2081 Open{" "}
2082 <ExternalLink
2083 to="https://www.pullthatupjamie.ai/"
2084 className="font-medium text-foreground underline"
2085 >
2086 pullthatupjamie.ai
2087 </ExternalLink>{" "}
2088 in your browser
2089 </p>
2090 </>
2091 ),
2092 finalizeGuide: (
2093 <>
2094 <div>
2095 <h3 className="font-medium">In Pull That Up Jamie!</h3>
2096 <ul className="list-inside list-decimal text-muted-foreground">
2097 <li>Click on the account dropdown and select "Connect Wallet"</li>
2098 <li>
2099 Choose{" "}
2100 <span className="font-medium text-foreground">
2101 Nostr Wallet Connect
2102 </span>
2103 </li>
2104 <li>Paste the connection secret from Alby Hub</li>
2105 </ul>
2106 </div>
2107 </>
2108 ),
2109 categories: ["misc"],
2110 },
2111 {
2112 id: "zapstore",
2113 title: "Zapstore",
2114 description: "Discover great apps through your social connections",
2115 webLink: "https://zapstore.dev/",
2116 logo: zapstore,
2117 extendedDescription:
2118 "Pay to zap apps and support their creators seamlessly with your Hub",
2119 installGuide: (
2120 <>
2121 <p className="text-muted-foreground">
2122 Install{" "}
2123 <ExternalLink
2124 to="https://www.zapstore.dev/"
2125 className="font-medium text-foreground underline"
2126 >
2127 Zapstore
2128 </ExternalLink>{" "}
2129 on your Android smartphone
2130 </p>
2131 </>
2132 ),
2133 finalizeGuide: (
2134 <>
2135 <div>
2136 <h3 className="font-medium">In Zapstore</h3>
2137 <ul className="list-inside list-decimal text-muted-foreground">
2138 <li>Open the settings</li>
2139 <li>Paste the connection secret from Alby Hub</li>
2140 </ul>
2141 </div>
2142 </>
2143 ),
2144 categories: ["misc"],
2145 },
2146 {
2147 id: "zeus",
2148 title: "ZEUS",
2149 description: "A self-custodial Bitcoin wallet that puts you in control.",
2150 webLink: "https://zeusln.com/",
2151 playLink: "https://play.google.com/store/apps/details?id=app.zeusln.zeus",
2152 appleLink: "https://apps.apple.com/us/app/zeus-wallet/id1456038895",
2153 zapStoreLink: "https://zapstore.dev/download/",
2154 logo: zeus,
2155 extendedDescription:
2156 "Send and receive payments, to and from your Hub, on the go",
2157 installGuide: (
2158 <>
2159 <p className="text-muted-foreground">
2160 Install{" "}
2161 <ExternalLink
2162 to="https://zeusln.com/download/"
2163 className="font-medium text-foreground underline"
2164 >
2165 ZEUS
2166 </ExternalLink>{" "}
2167 on your Android or iOS smartphone
2168 </p>
2169 </>
2170 ),
2171 finalizeGuide: (
2172 <>
2173 <div>
2174 <h3 className="font-medium">In ZEUS</h3>
2175 <ul className="list-inside list-decimal text-muted-foreground">
2176 <li>Open the settings</li>
2177 <li>
2178 Scan the connection QR using the QR scanner in the bottom right
2179 corner of the bottom of the app, OR manually paste in the
2180 connection string under{" "}
2181 <span className="font-medium text-foreground">Menu</span> {">"}{" "}
2182 <span className="font-medium text-foreground">
2183 Connect a Wallet
2184 </span>{" "}
2185 {">"} <span className="font-medium text-foreground">+</span>{" "}
2186 after selecting{" "}
2187 <span className="font-medium text-foreground">
2188 Nostr Wallet Connect
2189 </span>{" "}
2190 as the{" "}
2191 <span className="font-medium text-foreground">
2192 Wallet interface
2193 </span>
2194 .
2195 </li>
2196 </ul>
2197 </div>
2198 </>
2199 ),
2200 categories: ["wallet-interfaces"],
2201 },
2202 {
2203 id: "bitrefill",
2204 title: "Bitrefill",
2205 description: "Live on bitcoin",
2206 extendedDescription: "Buy gift cards and e-sims with no KYC",
2207 webLink: "https://bitrefill.com",
2208 logo: bitrefill,
2209 categories: ["shopping"],
2210 appleLink:
2211 "https://apps.apple.com/us/app/bitrefill-esims-gift-cards/id1378102623",
2212 playLink:
2213 "https://play.google.com/store/apps/details?id=com.bitrefill.app&hl=en",
2214 installGuide: (
2215 <>
2216 <p className="text-muted-foreground">
2217 Open{" "}
2218 <ExternalLink
2219 to="https://bitrefill.com"
2220 className="font-medium text-foreground underline"
2221 >
2222 Bitrefill
2223 </ExternalLink>{" "}
2224 in your browser, or download the app on iOS or Android
2225 </p>
2226 </>
2227 ),
2228 finalizeGuide: (
2229 <>
2230 <div>
2231 <h3 className="font-medium">In Bitrefill</h3>
2232 <ul className="list-inside list-decimal text-muted-foreground">
2233 <li>
2234 Go to settings {"->"} wallets {"->"} lightning {"->"} payments.
2235 </li>
2236 <li>Paste the connection secret to connect Alby Hub</li>
2237 </ul>
2238 </div>
2239 </>
2240 ),
2241 },
2242 {
2243 id: "bringin",
2244 title: "Bringin",
2245 description:
2246 "Spend Bitcoin from your Alby Hub with VISA at 150M+ merchants worldwide",
2247 webLink: "https://bringin.xyz",
2248 playLink:
2249 "https://play.google.com/store/apps/details?id=xyz.bringin.client",
2250 appleLink: "https://apps.apple.com/in/app/bringin/id1579153016",
2251 zapStoreLink: "https://zapstore.dev/download/",
2252 logo: bringin,
2253 extendedDescription:
2254 "Bringin turns your Alby Hub into a global spending account. Connect once and instantly swap sats into Euro with a linked IBAN and debit card. Spend Bitcoin at 150M+ VISA merchants worldwide, or pay directly with Euro IBAN transfers—all while keeping your funds in self-custody via Alby Hub. Lightning in, real-world payments out.",
2255 categories: ["payment-tools"],
2256 installGuide: (
2257 <>
2258 <p className="text-muted-foreground">
2259 Install Bringin on your Android or iOS smartphone
2260 </p>
2261 </>
2262 ),
2263 finalizeGuide: (
2264 <>
2265 <div>
2266 <h3 className="font-medium">Connect Alby Hub to Bringin</h3>
2267 <ul className="list-inside list-decimal text-muted-foreground">
2268 <li>
2269 Log in to Bringin, open the{" "}
2270 <span className="font-medium text-foreground">Bitcoin</span>{" "}
2271 tab, and tap{" "}
2272 <span className="font-medium text-foreground">Get started</span>
2273 .
2274 </li>
2275 <li>
2276 Select{" "}
2277 <span className="font-medium text-foreground">Alby Hub</span>{" "}
2278 and paste your{" "}
2279 <span className="font-medium text-foreground">NWC secret</span>.
2280 </li>
2281 <li>
2282 That's it—your Alby Hub is linked. Use Bringin to swap sats to
2283 Euro and spend at 150M+ VISA merchants worldwide.
2284 </li>
2285 </ul>
2286 </div>
2287 </>
2288 ),
2289 },
2290 {
2291 id: "jumble",
2292 title: "Jumble",
2293 description: "Social media client with Bitcoin Connect",
2294 webLink: "https://jumble.social",
2295 logo: jumble,
2296 extendedDescription:
2297 "A social media client that uses Bitcoin Connect for seamless wallet integration with your Hub",
2298 installGuide: (
2299 <>
2300 <p className="text-muted-foreground">
2301 Open{" "}
2302 <ExternalLink
2303 to="https://jumble.social"
2304 className="font-medium text-foreground underline"
2305 >
2306 Jumble
2307 </ExternalLink>{" "}
2308 in your browser
2309 </p>
2310 </>
2311 ),
2312 finalizeGuide: (
2313 <>
2314 <div>
2315 <h3 className="font-medium">In Jumble</h3>
2316 <ul className="list-inside list-decimal text-muted-foreground">
2317 <li>
2318 Click on Settings {"->"} Wallet {"->"}
2319 <span className="font-medium text-foreground">
2320 other wallets
2321 </span>
2322 </li>
2323 <li>
2324 Choose{" "}
2325 <span className="font-medium text-foreground">
2326 Nostr Wallet Connect
2327 </span>
2328 </li>
2329 <li>Paste the connection secret from Alby Hub</li>
2330 </ul>
2331 </div>
2332 </>
2333 ),
2334 categories: ["social-media"],
2335 },
2336 {
2337 id: "takemysats",
2338 readonly: true,
2339 title: "Take My Sats",
2340 description: "Create your online store and accept Bitcoin payments",
2341 webLink: "https://www.takemysats.com",
2342 logo: takemysats,
2343 extendedDescription:
2344 "A Bitcoin e-commerce platform that enables merchants to create online stores and accept Lightning payments directly to your Hub",
2345 installGuide: (
2346 <>
2347 <p className="text-muted-foreground">
2348 Open{" "}
2349 <ExternalLink
2350 to="https://www.takemysats.com"
2351 className="font-medium text-foreground underline"
2352 >
2353 Take My Sats
2354 </ExternalLink>{" "}
2355 in your browser and create your store
2356 </p>
2357 </>
2358 ),
2359 finalizeGuide: (
2360 <>
2361 <div>
2362 <h3 className="font-medium">In Take My Sats</h3>
2363 <ul className="list-inside list-decimal text-muted-foreground">
2364 <li>
2365 Go to your store{" "}
2366 <span className="font-medium text-foreground">Settings</span>
2367 </li>
2368 <li>
2369 Choose{" "}
2370 <span className="font-medium text-foreground">
2371 Nostr Wallet Connect
2372 </span>{" "}
2373 as your payment method
2374 </li>
2375 <li>Paste the connection secret from Alby Hub</li>
2376 </ul>
2377 </div>
2378 </>
2379 ),
2380 categories: ["merchant-tools"],
2381 },
2382 {
2383 id: "tunnelsats",
2384 title: "TunnelSats",
2385 description: "Privacy Lightning VPN",
2386 webLink: "https://tunnelsats.com",
2387 logo: tunnelsats,
2388 extendedDescription:
2389 "Secure your lightning node with a dedicated static IP. Automated, non-custodial VPN renewals via Nostr Wallet Connect.",
2390 finalizeGuide: (
2391 <>
2392 <div>
2393 <p>
2394 Link your Alby Hub to TunnelSats for non-custodial automated
2395 renewals:
2396 </p>
2397 <ol className="list-inside list-decimal text-muted-foreground">
2398 <li>
2399 Go to the{" "}
2400 <ExternalLink
2401 to="https://tunnelsats.com/dashboard?section=automation"
2402 className="font-medium text-foreground underline"
2403 >
2404 TunnelSats Dashboard
2405 </ExternalLink>
2406 .
2407 </li>
2408 <li>Sign in with your node or Nostr extension.</li>
2409 <li>
2410 Navigate to the <span className="font-medium">Automation</span>{" "}
2411 tab.
2412 </li>
2413 <li>
2414 Click{" "}
2415 <span className="font-medium text-foreground">
2416 Connect Wallet
2417 </span>
2418 .
2419 </li>
2420 <li>
2421 Paste the{" "}
2422 <span className="font-medium text-foreground">
2423 Connection Secret
2424 </span>{" "}
2425 from this Alby Hub.
2426 </li>
2427 <li>
2428 Alternatively, use this{" "}
2429 <ExternalLink
2430 to="https://tunnelsats.com/dashboard?section=automation"
2431 className="font-medium text-foreground underline"
2432 >
2433 One-Click Connect
2434 </ExternalLink>{" "}
2435 link to pre-fill the connection.
2436 </li>
2437 </ol>
2438 </div>
2439 </>
2440 ),
2441 categories: ["misc"],
2442 },
2443 {
2444 // Keep the legacy app store ID so existing LendaSwap connections still match this entry.
2445 id: "lendaswap",
2446 title: "Satora",
2447 legacyTitles: ["LendaSwap"],
2448 description: "Self-custodial Bitcoin ↔ Stablecoin atomic swaps",
2449 webLink: "https://app.satora.io/?ref=lnds_e3f8dd88_f7db93dbf176",
2450 logo: satoraLogo,
2451 extendedDescription:
2452 "Swap between Lightning Bitcoin and stablecoins (USDC, USDT) on Polygon, Arbitrum, and Ethereum. Satora uses your Hub to pay swap invoices and generate receiving invoices — all self-custodial via HTLCs.",
2453 installGuide: (
2454 <>
2455 <p className="text-muted-foreground">
2456 Open{" "}
2457 <ExternalLink
2458 to="https://app.satora.io/?ref=lnds_e3f8dd88_f7db93dbf176"
2459 className="font-medium text-foreground underline"
2460 >
2461 Satora
2462 </ExternalLink>{" "}
2463 in your browser
2464 </p>
2465 </>
2466 ),
2467 finalizeGuide: (
2468 <>
2469 <div>
2470 <h3 className="font-medium">In Satora</h3>
2471 <ul className="list-inside list-decimal text-muted-foreground">
2472 <li>
2473 Click the{" "}
2474 <span className="font-medium text-foreground">
2475 ⚡ Lightning
2476 </span>{" "}
2477 button in the header
2478 </li>
2479 <li>Paste the connection secret from Alby Hub</li>
2480 <li>
2481 When swapping Lightning → stablecoins, click{" "}
2482 <span className="font-medium text-foreground">
2483 Pay with Lightning Wallet
2484 </span>{" "}
2485 to pay directly from your Hub
2486 </li>
2487 <li>
2488 When swapping stablecoins → Lightning, click{" "}
2489 <span className="font-medium text-foreground">
2490 Generate invoice from wallet
2491 </span>{" "}
2492 to receive directly into your Hub
2493 </li>
2494 </ul>
2495 </div>
2496 </>
2497 ),
2498 categories: ["payment-tools"],
2499 addedDate: "2026-04-10",
2500 },
2501 ] satisfies AppStoreApp[]
2502 ).sort((a, b) => (a.title.toUpperCase() > b.title.toUpperCase() ? 1 : -1));
2503
2504 export function getAppStoreUrl(app: AppStoreApp) {
2505 return app.internal ? `/internal-apps/${app.id}` : `/appstore/${app.id}`;
2506 }
2507
2508 export const getAppStoreApp = (app: App) => {
2509 return appStoreApps.find(
2510 (suggestedApp) =>
2511 suggestedApp.id === (app.metadata?.app_store_app_id ?? "") ||
2512 app.name.includes(suggestedApp.title) ||
2513 suggestedApp.legacyTitles?.some((title) => app.name.includes(title))
2514 );
2515 };
2516