# Robinhood Chain 測試網水龍頭

> Source: https://docs.blockvectra.com/zh-hant/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)建立 key，或參考[程式化註冊指南](https://docs.blockvectra.com/en/guides/programmatic-signup/)。

地址格式為 `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.001 test ETH**（`1000000000000000` 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。                                                       |
| 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/en/errors/)或機器可讀的 [/errors.json](https://docs.blockvectra.com/errors.json)；RPC 接入方式見 [Robinhood Chain 指南](https://docs.blockvectra.com/en/guides/robinhood-chain/)。

接著參考 [Robinhood Chain 測試網 RPC 入門指南](https://docs.blockvectra.com/en/guides/robinhood-testnet-starter/)進行免 key 讀取並訂閱 WebSocket 日誌。公開 RPC URL 與支援方法見[測試網鏈頁面](https://blockvectra.com/en/chains/robinhood_testnet/)。
