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

# 账户

> 了解银行账户、加密货币钱包和预充值账户

## 什么是账户？

KillB 中的**账户**代表 ramp 交易中资金的目的地或来源。账户可以是银行账户、加密货币钱包或托管账户。

<Info>
  用户可以拥有多个不同类型的账户。每个账户都链接到特定用户。
</Info>

## 账户类型

<Tabs>
  <Tab title="银行账户">
    用于接收本地货币的传统法币银行账户

    **类型：**

    * **PSE** - 哥伦比亚银行账户
    * **SPEI** - 墨西哥银行账户（CLABE）
    * **ACH** - 美国银行账户
    * **WIRE** - 国际电汇
    * **TRANSFIYA** - 哥伦比亚移动钱包

    **用例：**

    * Off-ramp 目的地（加密货币 → 法币）
    * 接收本地货币
    * 银行提款
  </Tab>

  <Tab title="加密货币钱包">
    用于接收加密货币的区块链钱包地址

    **支持：**

    * 多个网络上的 USDC
    * 多个网络上的 USDT
    * Polygon、Solana、Ethereum、Arbitrum、Tron、BSC

    **用例：**

    * On-ramp 目的地（法币 → 加密货币）
    * 接收稳定币
    * 加密货币提款
  </Tab>

  <Tab title="托管账户">
    KillB 管理的储蓄计划账户

    **功能：**

    * 以 USD 计价
    * FDIC 保险（通过合作银行）
    * 无需钱包管理
    * ACH/电汇存款

    **用例：**

    * 储蓄账户
    * 赚取收益
    * 简化托管
  </Tab>
</Tabs>

## 账户状态

| 状态         | 描述         | 可以交易？ |
| ---------- | ---------- | ----- |
| `ACTIVE`   | 账户已验证并准备就绪 | ✅ 是   |
| `PENDING`  | 等待验证       | ❌ 否   |
| `REJECTED` | 验证失败       | ❌ 否   |
| `INACTIVE` | 由用户/管理员禁用  | ❌ 否   |

## 创建账户

### PSE 账户（哥伦比亚）

用于接收 COP 的哥伦比亚银行账户：

```json theme={null}
{
  "type": "PSE",
  "userId": "user-id-here",
  "externalId": "account-123",
  "data": {
    "firstName": "Juan",
    "lastName": "García",
    "email": "juan@example.com",
    "phone": "+573001234567",
    "accountNumber": "1234567890",
    "bankCode": "0001",
    "type": "savings",
    "countryCode": "CO",
    "document": {
      "type": "NUIP",
      "number": "1234567890",
      "issuedCountryCode": "CO"
    }
  }
}
```

### SPEI 账户（墨西哥）

使用 CLABE 的墨西哥银行账户：

```json theme={null}
{
  "type": "SPEI",
  "userId": "user-id-here",
  "externalId": "account-456",
  "data": {
    "firstName": "María",
    "lastName": "López",
    "email": "maria@example.com",
    "phone": "+525512345678",
    "clabe": "012345678901234567",
    "clabeType": "CLABE",
    "countryCode": "MX",
    "document": {
      "type": "RFC",
      "number": "LOMM900515ABC",
      "issuedCountryCode": "MX"
    }
  }
}
```

<Tip>
  SPEI 支持三种 CLABE 类型：标准 18 位 `CLABE`、16 位 `DEBIT_CARD` 或 10 位 `PHONE_NUMBER`
</Tip>

### 钱包账户

用于接收 USDC/USDT 的加密货币钱包：

```json theme={null}
{
  "type": "WALLET",
  "userId": "user-id-here",
  "externalId": "wallet-789",
  "data": {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john@example.com",
    "phone": "+573001234567",
    "currency": "USDC",
    "network": "POLYGON",
    "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "countryCode": "CO",
    "document": {
      "type": "PASSPORT",
      "number": "AB123456",
      "issuedCountryCode": "CO"
    }
  }
}
```

### ACH 账户（美国）

用于 USD 的美国银行账户：

```json theme={null}
{
  "type": "ACH",
  "userId": "user-id-here",
  "externalId": "ach-001",
  "data": {
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane@example.com",
    "phone": "+12125551234",
    "bankName": "Chase Bank",
    "routingNumber": "021000021",
    "accountNumber": "123456789",
    "type": "checking",
    "countryCode": "US",
    "document": {
      "type": "SSN",
      "number": "123-45-6789",
      "issuedCountryCode": "US"
    }
  }
}
```

## 账户验证

KillB 在允许交易之前验证账户：

### 银行账户验证

* 银行代码存在于支持的银行中
* 账户号码格式正确
* 路由号码有效（对于 ACH/Wire）
* CLABE 是有效的 18 位格式（对于 SPEI）
* 账户持有人姓名与用户匹配

### 钱包验证

* 地址对指定网络有效
* 地址校验和正确（对于 EVM 链）
* 网络支持该货币
* 地址不是智能合约（除非允许）

## 查询账户

### 获取所有用户账户

```bash theme={null}
GET /api/v2/accounts/userId/{userId}
```

### 搜索账户

```bash theme={null}
GET /api/v2/accounts?type=WALLET&userId=user-id
```

**过滤选项：**

* `ids` - 特定账户 ID
* `userId` - 按用户过滤
* `type` - 账户类型
* `accountNumber` - 银行账户号码
* `address` - 钱包地址

## 更新账户

更新账户信息（有限字段）：

```bash theme={null}
PATCH /api/v2/accounts/{accountId}
```

**可更新字段：**

* 文档信息
* CLABE 号码（SPEI）
* 钱包地址
* 账户号码
* 银行代码

<Warning>
  某些更新可能需要重新验证，并暂时将账户状态设置为 PENDING。
</Warning>

## 删除账户

```bash theme={null}
DELETE /api/v2/accounts/{accountId}
```

<Note>
  在待处理或处理中的 ramps 中使用的账户无法删除，直到这些交易完成。
</Note>

## 最佳实践

<AccordionGroup>
  <Accordion title="创建前验证" icon="check-double">
    * 使用 `/api/v2/banks` 端点验证银行代码
    * 在客户端检查钱包地址格式
    * 确认用户拥有该账户
    * 首先测试小额交易
  </Accordion>

  <Accordion title="使用外部 ID" icon="hashtag">
    * 为每个账户提供唯一的 `externalId`
    * 使用您的内部账户标识符
    * 实现轻松账户查找
    * 防止重复账户
  </Accordion>

  <Accordion title="处理多个账户" icon="layer-group">
    * 允许用户保存多个账户
    * 让用户设置默认/首选账户
    * 支持账户切换
    * 显示账户验证状态
  </Accordion>

  <Accordion title="安全" icon="lock">
    * 永远不要存储敏感的银行详情
    * 在您的数据库中使用 KillB 账户 ID
    * 实现账户所有权检查
    * 每次使用时验证账户访问
  </Accordion>
</AccordionGroup>

## 下一步

<CardGroup cols={2}>
  <Card title="账户管理指南" icon="folder-open" href="/zh/guides/accounts/overview">
    管理账户的完整指南
  </Card>

  <Card title="银行账户设置" icon="building-columns" href="/zh/guides/accounts/bank-accounts">
    为不同国家配置银行账户
  </Card>

  <Card title="加密货币钱包" icon="wallet" href="/zh/guides/accounts/crypto-wallets">
    设置加密货币钱包账户
  </Card>

  <Card title="预充值账户" icon="bolt" href="/zh/concepts/pre-funded-accounts">
    了解使用预存流动性的即时执行
  </Card>

  <Card title="API 参考" icon="code" href="/api-reference/endpoint/accounts-create">
    查看账户 API 文档
  </Card>
</CardGroup>
