> ## Documentation Index
> Fetch the complete documentation index at: https://shinydapps-bd9fa40b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# वॉलेट्स

> अपने एजेंट को Lightning इनवॉइस स्वचालित रूप से भुगतान करने देने के लिए Blink या Alby को कनेक्ट करें।

## समर्थित वॉलेट्स

| वॉलेट                           | इंस्टॉल                |     स्व-अभिरक्षा     | नोट्स                        |
| ------------------------------- | ---------------------- | :------------------: | ---------------------------- |
| [Blink](https://blink.sv)       | built-in               |      ❌ कस्टोडियल     | सबसे आसान सेटअप, GraphQL API |
| [Alby Hub](https://getalby.com) | built-in               | ✅ स्व-होस्टेड विकल्प | REST API, अपना Hub समर्थित   |
| कस्टम                           | `L402Wallet` interface |           ✅          | अपना खुद का वॉलेट लाएं       |

***

## BlinkWallet

### सेटअप

1. [blink.sv](https://blink.sv) पर साइन अप करें
2. **Dashboard → API Keys** पर जाएं → एक key बनाएं
3. डैशबोर्ड से अपना **Wallet ID** कॉपी करें

```bash theme={null}
export BLINK_API_KEY="your-api-key"
export BLINK_WALLET_ID="your-wallet-id"
```

### Node.js

```typescript theme={null}
import { BlinkWallet } from "l402-kit";

const wallet = new BlinkWallet(
  process.env.BLINK_API_KEY!,
  process.env.BLINK_WALLET_ID!,
);
```

### Python

```python theme={null}
from l402kit.wallets import BlinkWallet

wallet = BlinkWallet(
    api_key=os.environ["BLINK_API_KEY"],
    wallet_id=os.environ["BLINK_WALLET_ID"],
)
```

### यह कैसे काम करता है

`lnInvoicePaymentSend` म्यूटेशन के साथ [Blink GraphQL API](https://api.blink.sv/graphql) को कॉल करता है। सेटल हुए ट्रांज़ैक्शन से `preImage` लौटाता है।

***

## AlbyWallet

### सेटअप

1. [getalby.com](https://getalby.com) पर अकाउंट बनाएं
2. **Settings → Access Tokens** पर जाएं → `payments:send` स्कोप के साथ एक टोकन बनाएं
3. (वैकल्पिक) स्व-अभिरक्षा के लिए अपना खुद का [Alby Hub](https://github.com/getAlby/hub) चलाएं

```bash theme={null}
export ALBY_TOKEN="your-access-token"
# वैकल्पिक — केवल स्व-होस्टेड Hub के लिए आवश्यक:
export ALBY_HUB_URL="https://your-hub.example.com"
```

### Node.js

```typescript theme={null}
import { AlbyWallet } from "l402-kit";

// Alby cloud
const wallet = new AlbyWallet(process.env.ALBY_TOKEN!);

// Self-hosted Hub
const wallet = new AlbyWallet(
  process.env.ALBY_TOKEN!,
  process.env.ALBY_HUB_URL,  // optional base URL
);
```

### Python

```python theme={null}
from l402kit.wallets import AlbyWallet

# Alby cloud
wallet = AlbyWallet(os.environ["ALBY_TOKEN"])

# Self-hosted Hub
wallet = AlbyWallet(
    access_token=os.environ["ALBY_TOKEN"],
    base_url=os.environ.get("ALBY_HUB_URL", "https://api.getalby.com"),
)
```

### यह कैसे काम करता है

`Bearer` टोकन के साथ Alby Hub REST API पर `POST /payments/bolt11` को कॉल करता है। रिस्पॉन्स से `payment_preimage` लौटाता है।

***

## कस्टम वॉलेट

किसी भी Lightning वॉलेट का उपयोग करने के लिए `L402Wallet` interface को इम्प्लीमेंट करें:

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    import type { L402Wallet } from "l402-kit";

    class PhoenixWallet implements L402Wallet {
      async payInvoice(bolt11: string): Promise<{ preimage: string }> {
        const res = await fetch("http://localhost:9740/payinvoice", {
          method: "POST",
          body: new URLSearchParams({ invoice: bolt11 }),
        });
        const data = await res.json();
        return { preimage: data.paymentPreimage };
      }
    }
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    from l402kit import L402Wallet
    import httpx

    class PhoenixWallet(L402Wallet):
        def pay_invoice(self, bolt11: str) -> str:
            r = httpx.post(
                "http://localhost:9740/payinvoice",
                data={"invoice": bolt11},
            )
            r.raise_for_status()
            return r.json()["paymentPreimage"]
    ```
  </Tab>
</Tabs>

इस interface के लिए एक एकल मेथड आवश्यक है:

| मेथड                         | TypeScript                                          | Python                            |
| ---------------------------- | --------------------------------------------------- | --------------------------------- |
| BOLT11 इनवॉइस का भुगतान करें | `payInvoice(bolt11): Promise<{ preimage: string }>` | `pay_invoice(bolt11: str) -> str` |

***

## वॉलेट चुनना

* **टेस्टिंग / प्रोटोटाइपिंग** → Blink (कस्टोडियल, तुरंत सेटअप, फ्री टियर)
* **प्रोडक्शन एजेंट, अधिकतम नियंत्रण** → Alby Hub स्व-होस्टेड (नॉन-कस्टोडियल, REST API)
* **उच्च थ्रूपुट / कम शुल्क** → Phoenix कस्टम `L402Wallet` के ज़रिए (नॉन-कस्टोडियल, ACINQ)
* **एंटरप्राइज़** → LNbits स्व-होस्टेड कस्टम वॉलेट के ज़रिए
