# 계정과 지갑

모든 요청에 [HMAC 인증](/api-docs/guide/authentication.md)이 필요합니다. REST 기본 주소는 `https://api.btxpro.co.kr`입니다.

| 메서드 | 경로 | 권한 | 용도 |
| --- | --- | --- | --- |
| GET | `/v1/account` | 서명된 키 | 계정 ID, 키 ID, Public Key, 권한 |
| GET | `/v1/wallets` | read | 계정에서 볼 수 있는 일반·현물 거래 지갑 |
| GET | `/v1/balances` | read | 지갑별 통화 잔고 |

## 계정과 권한 확인

`GET /v1/account`의 `data` 예시:

```json
{
  "accountId": 123,
  "apiKeyId": 7,
  "publicKey": "public",
  "permissions": { "read": true, "trade": true, "withdraw": false, "write": false },
  "createdAt": 1783420800123
}
```

Secret Key는 반환하지 않습니다. 주문 클라이언트는 시작할 때 read·trade 권한을 확인하는 것이 좋습니다.

## 지갑과 잔고 조회 순서

1. `/v1/wallets`로 접근 가능한 지갑을 확인합니다.
2. `/v1/balances?walletId=21`로 필요한 지갑만 조회합니다.
3. 통화 제한이 필요하면 `currency`를 추가합니다. 정확한 타입은 [잔고 명세](/api-docs/generated/rest.md#listbalances)를 확인하세요.
4. 주문에는 조회 결과의 현물 거래 지갑 `walletId`를 전달합니다.

`walletId`, `currency`는 잔고 조회에서 선택 파라미터입니다. 개인 키가 있다고 해서 계정 밖의 지갑을 조회하거나 거래할 수 있는 것은 아닙니다.

실시간 잔고가 필요하면 [개인 WS](/api-docs/websocket/user.md)를 연결합니다. 잔고 이벤트는 차감·가산량이 아닌 **절대 잔고**이므로 지갑·통화 단위로 로컬 값을 교체합니다.
