> ## 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.

# 계좌와 지갑

> 자금 흐름에 필요한 고객 소유 계좌 또는 발급 리소스를 선택하세요.

모든 계좌는 하나의 고객에게 속해요. 두 가지 차원을 사용해 선택하세요: 누가 관리하는지, 그리고 지갑인지 은행 계좌인지.

## 계좌 선택

| 계좌       | 용도                                                 |
| -------- | -------------------------------------------------- |
| 발급 지갑    | 커스터디 스테이블코인 잔액 보유, 페이아웃 자금 조달, 페이인 수취, 발급 은행 계좌 정산 |
| 발급 은행 계좌 | 발급 지갑으로 정산되는 재사용 가능한 은행 정보를 고객에게 제공                |
| 외부 지갑    | 고객이 소유한 블록체인 주소 기록                                 |
| 외부 은행 계좌 | 자사 페이아웃을 위해 고객이 소유한 은행 계좌 기록                       |

`issued`는 Swipelux가 리소스를 생성하고 관리한다는 뜻이에요. `external`은 고객이 소유한 엔드포인트를 기록해요. 제3자 엔드포인트는 고객 계좌 목록이 아니라 [수취인과 목적지](/ko/integration/recipients) 아래에 속해요.

<h2 id="create-the-account">
  계좌 생성
</h2>

[`POST /v3/customers/{customerId}/accounts`](/api-reference/accounts/post-v3-customers-by-customer-id-accounts)를 사용하세요. 아래 요청 본문 중 하나와 함께 이 헤더를 보내세요:

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

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

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

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

  <Tab title="외부 은행 계좌">
    ```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>

현재 고객과 케이퍼빌리티에 대해 반환된 통화, 네트워크, 방법, 계좌 유형만 사용하세요. 다른 고객이나 환경에서 가용성을 복사하지 마세요.

## 계좌가 사용 가능해질 때까지 대기

생성 응답에서 `data.id`, `data.status`, `data.openTaskIds`를 저장하세요. 전송을 견적하거나 은행 정보를 표시하기 전에 [`GET /v3/customers/{customerId}/accounts/{accountId}`](/api-reference/accounts/get-v3-customers-by-customer-id-accounts-by-account-id)로 최신 계좌를 조회하세요.

현재 상태가 다음 동작을 허용할 때만 계좌를 사용하세요. 태스크 ID가 열려 있으면 [케이퍼빌리티와 태스크](/ko/integration/onboarding/capabilities-and-requirements)를 통해 완료하세요.

발급 은행 계좌는 프로비저닝 중에 `details: null`을 반환할 수 있어요. 현재 조회가 전체 세트를 반환한 이후에만 은행 정보를 표시하세요. `details.referenceRequired`가 true이면 은행 좌표와 함께 정확한 `details.reference`를 표시하세요.

## 계좌 역할을 명확하게 유지

페이아웃에서 발급 지갑은 `in.accountId`의 출처예요. 고객 소유 은행 계좌는 `destinationId`예요. 발급 은행 계좌에서 `settlement.accountId`는 매칭된 입금을 수취하는 발급 지갑이에요.

다음으로 [자금 수취](/ko/integration/receive-funds), [자금 지급](/ko/integration/send-funds), [은행 계좌 발급](/ko/integration/issue-bank-account)에서 준비된 계좌를 사용하세요.


## Related topics

- [은행 계좌 발급](/ko/integration/issue-bank-account.md)
- [v3로 마이그레이션](/ko/api-reference/versioning/migrate-to-v3.md)
- [케이퍼빌리티와 태스크](/ko/integration/onboarding/capabilities-and-requirements.md)
- [퀵스타트](/ko/integration/quickstart.md)
- [일반적인 흐름](/ko/integration/common-flows.md)
