> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swipelux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accounts और wallets

> एक money flow द्वारा आवश्यक customer-owned account या issued resource चुनें।

प्रत्येक account एक customer का है। इसे दो dimensions का उपयोग करके चुनें: कौन इसे प्रबंधित करता है और क्या यह wallet है या bank account।

## एक account चुनें

| Account               | इसका उपयोग करें                                                                                                           |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Issued wallet         | एक custodial stablecoin balance रखें, payout को fund करें, pay-in प्राप्त करें, या एक issued bank account को settle करें। |
| Issued bank account   | Customer को पुन: उपयोग करने योग्य bank details दें जो एक issued wallet में settle होते हैं।                               |
| External wallet       | Customer के स्वामित्व वाले blockchain address को record करें।                                                             |
| External bank account | First-party payout के लिए customer के स्वामित्व वाले bank account को record करें।                                         |

`issued` का मतलब है कि Swipelux resource बनाता और प्रबंधित करता है। `external` customer के स्वामित्व वाले endpoint को record करता है। एक third-party endpoint [recipient और destination](/hi/integration/recipients) के अंतर्गत आता है, customer account list के अंतर्गत नहीं।

<h2 id="create-the-account">
  Account बनाएँ
</h2>

[`POST /v3/customers/{customerId}/accounts`](/api-reference/accounts/post-v3-customers-by-customer-id-accounts) का उपयोग करें। नीचे दिए गए request bodies में से एक के साथ ये headers भेजें:

```http theme={null}
X-API-Key: ${SWIPELUX_API_KEY}
Idempotency-Key: account-create-001
Content-Type: application/json
```

<Tabs>
  <Tab title="Issued wallet">
    ```json theme={null}
    {
      "origin": "issued",
      "type": "wallet",
      "currency": "USDC",
      "network": "base",
      "label": "Settlement wallet"
    }
    ```
  </Tab>

  <Tab title="Issued bank account">
    ```json theme={null}
    {
      "origin": "issued",
      "type": "bank",
      "method": "ach",
      "country": "US",
      "currency": "USD",
      "settlement": {
        "accountId": "${SETTLEMENT_WALLET_ID}"
      },
      "label": "USD account"
    }
    ```
  </Tab>

  <Tab title="External wallet">
    ```json theme={null}
    {
      "origin": "external",
      "type": "wallet",
      "currency": "USDC",
      "network": "polygon",
      "details": {
        "address": "0x4997b0a68bebc1b0d80a93567ba7002be92b8b11"
      },
      "label": "Customer Polygon wallet"
    }
    ```
  </Tab>

  <Tab title="External bank account">
    ```json theme={null}
    {
      "origin": "external",
      "type": "bank",
      "methods": ["ach", "wire"],
      "country": "US",
      "currency": "USD",
      "details": {
        "routingNumber": "021000021",
        "accountNumber": "123456789",
        "accountType": "checking",
        "bankName": "Example Bank",
        "accountHolderName": "Acme Payments SAS"
      },
      "label": "Customer operating account"
    }
    ```
  </Tab>
</Tabs>

केवल उन currencies, networks, methods, और account types का उपयोग करें जो वर्तमान customer और capability के लिए लौटाए गए हैं। किसी अन्य customer या environment से availability copy न करें।

## Account के उपयोग योग्य होने की प्रतीक्षा करें

Create response से `data.id`, `data.status`, और `data.openTaskIds` संग्रहीत करें। Transfer को quote करने या bank details दिखाने से पहले नवीनतम account को [`GET /v3/customers/{customerId}/accounts/{accountId}`](/api-reference/accounts/get-v3-customers-by-customer-id-accounts-by-account-id) के साथ पढ़ें।

Account का उपयोग केवल तब करें जब इसकी वर्तमान status अगले operation की अनुमति देती हो। यदि task IDs open हैं, तो उन्हें [Capabilities और tasks](/hi/integration/onboarding/capabilities-and-requirements) के माध्यम से पूरा करें।

एक issued bank account provisioning के दौरान `details: null` लौटा सकता है। Bank details केवल तभी प्रस्तुत करें जब वर्तमान read पूर्ण set लौटाए। यदि `details.referenceRequired` true है, तो सटीक `details.reference` को bank coordinates के साथ दिखाएँ।

## Account roles को स्पष्ट रखें

Payout के लिए, issued wallet `in.accountId` में source है। एक customer-owned bank account `destinationId` है। एक issued bank account के लिए, `settlement.accountId` वह issued wallet है जो matched deposits प्राप्त करता है।

आगे, [Receive funds](/hi/integration/receive-funds), [Send funds](/hi/integration/send-funds), या [Issue a bank account](/hi/integration/issue-bank-account) में एक ready account का उपयोग करें।


## Related topics

- [v3 पर माइग्रेट करना](/hi/api-reference/versioning/migrate-to-v3.md)
- [Wallet Architecture और Payouts](/hi/knowledge-base/compliance/custody-and-wallet-controls.md)
- [अवलोकन](/hi/knowledge-base/compliance/overview.md)
- [Quotes और transfers](/hi/integration/quotes-and-transfers.md)
- [Bank account जारी करें](/hi/integration/issue-bank-account.md)
