# Robinhood Chain 测试网水龙头

> 原文地址: https://docs.blockvectra.com/zh/guides/robinhood-testnet-faucet/

通过水龙头获取 Robinhood Chain 测试网（`robinhood_testnet`，chain ID `46630`）交易所需的测试 ETH。领取免费、不扣 CU；后续测试网 RPC 调用正常计 CU。

## 领取前准备

需要有效的 BlockVectra API key。可在[控制台](https://console.blockvectra.com/login/?next=%2Fkeys%2F)创建，或按[程序化开户指南](https://docs.blockvectra.com/zh/guides/programmatic-signup/)获取。

收款地址在 `robinhood_mainnet` 上的余额**或** nonce 必须大于 0。两者均为 0 的地址，包括没有主网余额且未发送过主网交易的新钱包，会收到 HTTP `403`、错误码 `not_eligible`。资格无法查询时，请求以临时服务错误拒绝受理，这不表示地址无资格。

地址格式为 `0x` 加 40 位十六进制字符，使用小写或符合 EIP-55 校验和的混合大小写。响应中的地址统一小写，同一地址的不同写法共用领取限额。

## 发起领取

调用 `POST https://api.blockvectra.com/v1/faucet/robinhood_testnet`，携带 `Content-Type: application/json` 和 `x-api-key`。此端点不读取 URL 路径或 `Authorization` 中的 key。

将 `{api_key}` 替换为你的 key，将示例地址替换为有领取资格的收款地址：

```bash
curl -i "https://api.blockvectra.com/v1/faucet/robinhood_testnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: {api_key}" \
  -d '{"address":"0x1111111111111111111111111111111111111111"}'
```

JSON 请求体只含 `address`，上限 64 KiB。未知字段或无效 JSON 返回 `400 invalid_request`。使用上述完整端点，不添加查询参数。

## 领取窗口与限额

* 每次受理发放 **0.01 test ETH**（`10000000000000000` wei）。
* 每账户和每收款地址各滚动 **24 小时最多受理一次新领取**。更换同一账户的 key 不会增加额度。
* 所有用户合计，每 UTC 日最多受理 **1,000 次新领取**。
* 请求与 `/v1/account` 共用**每 key 每秒 5 次**的频率限制。

`next_eligible_at` 为受理时刻加 24 小时，以 RFC 3339 UTC 时间戳表示。账户和地址的领取窗口不在 UTC 午夜重置。领取限额触发的 `429` 包含 `error.data.scope`（`account`、`address` 或 `global`）和 `error.data.next_eligible_at`；`global` 对应下一个 UTC 日的开始时刻。请求频率超限的 `429` 不含 `scope`。

## 已受理不等于已上链

HTTP **202 表示已受理，不表示已成功上链**。JSON 响应包含：

| 字段                   | 含义                            |
| -------------------- | ----------------------------- |
| `chain` / `chain_id` | `robinhood_testnet` / `46630` |
| `address`            | 小写收款地址                        |
| `amount_wei`         | 十进制整数字符串形式的领取金额               |
| `tx_hash`            | 已受理交易的稳定哈希                    |
| `next_eligible_at`   | 滚动窗口内的下次可领取时刻                 |

同一账户在 24 小时内重试同一规范化地址，会返回原 `202` 响应和同一 `tx_hash`，更换该账户的另一把有效 key 也一样，不会再次发币。响应丢失时，使用同一账户对同一地址重试。

通过现有测试网 RPC 端点查询交易回执。将 `{tx_hash}` 替换为受理响应中的哈希；此 RPC 查询正常计 CU：

```bash
curl -s "https://api.blockvectra.com/v1/robinhood_testnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: {api_key}" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["{tx_hash}"]}'
```

## 错误与重试

错误信封包含 `error.code`、`error.message` 和 `error.data`。`error.data.reason` 与 `error.code` 相同；`docs_url`、`retryable` 和 `request_id` 分别提供错误参考、重试策略和请求标识。遇到任何 `429` 或 `503`，按 **`Retry-After`** 响应头指定的秒数等待后重试。未收到受理响应时，不要假定测试 ETH 已发放。

| HTTP | 错误码                                         | 处理方式                                                                |
| ---- | ------------------------------------------- | ------------------------------------------------------------------- |
| 400  | `invalid_address`                           | 修正地址格式或 EIP-55 校验和；`error.data.field` 为 `/address`。                 |
| 400  | `invalid_request`                           | 发送只含 `address` 的有效 JSON。                                            |
| 401  | `missing_api_key` / `invalid_api_key`       | 在 `x-api-key` 中提供有效 key。                                            |
| 403  | `key_expired`                               | 创建新的 API key。                                                       |
| 403  | `not_eligible`                              | 待地址的主网余额或 nonce 大于 0 后重新申请。                                         |
| 404  | `not_found`                                 | 检查路径、链、POST 方法和是否没有查询参数；水龙头也可能暂不可用。                                 |
| 413  | `request_too_large`                         | 将请求体减小至 64 KiB 以内。                                                  |
| 429  | `rate_limited`                              | 按 `Retry-After` 等待；如有 `scope` 和 `next_eligible_at`，据此确认受限范围与下次领取时刻。 |
| 503  | `faucet_empty`                              | 水龙头余额不足以支付领取金额和手续费，按 `Retry-After` 等待。                              |
| 503  | `service_unavailable`                       | 资格查询或领取处理暂不可用，或上一笔领取尚无回执，按 `Retry-After` 等待。                        |
| 503  | `auth_unavailable` / `upstream_unavailable` | 按 `Retry-After` 等待后重试。                                              |

详见[错误参考](https://docs.blockvectra.com/zh/errors/)或机器可读的 [/errors.json](https://docs.blockvectra.com/errors.json)；RPC 接入方式见 [Robinhood Chain 指南](https://docs.blockvectra.com/zh/guides/robinhood-chain/)。
