# Robinhood Chain 테스트넷 파셋

> Source: https://docs.blockvectra.com/ko/guides/robinhood-testnet-faucet/

Robinhood Chain 테스트넷(`robinhood_testnet`, 체인 ID `46630`)에서 트랜잭션을 실행하는 데 필요한 테스트 ETH를 파셋에서 받으세요. 수령은 무료이며 CU를 소모하지 않습니다. 이후의 테스트넷 RPC 호출에는 정상적인 CU 요금이 부과됩니다.

## 수령 전 준비 사항

BlockVectra 계정을 등록하고 보유한 API key 중 하나를 사용하세요. [콘솔](https://console.blockvectra.com/login/?next=%2Fkeys%2F)에서 키를 생성하거나 [프로그래밍 방식 회원가입 가이드](https://docs.blockvectra.com/en/guides/programmatic-signup/)를 참고하세요.

`0x` 뒤에 40자리 16진수 문자가 오는 주소를 사용하며, 소문자 또는 유효한 EIP-55 체크섬이 적용된 대소문자 혼합 주소를 지원합니다. 응답의 주소는 소문자로 반환되며, 동일한 주소의 다른 표기 방식도 동일한 수령 한도를 공유합니다.

## 수령 요청 보내기

`Content-Type: application/json` 헤더와 `x-api-key`에 API key를 포함하여 `POST https://api.blockvectra.com/v1/faucet/robinhood_testnet`을 호출하세요. 이 엔드포인트는 URL 경로 또는 `Authorization` 헤더에서 키를 읽지 않습니다.

`{api_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`만 포함되어야 하며 64KiB 이내여야 합니다. 알 수 없는 필드나 잘못된 JSON은 `400 invalid_request`를 반환합니다. 쿼리 파라미터 없이 정확한 엔드포인트를 사용하세요.

## 수령 기간 및 한도

* 접수된 각 요청당 **0.001 테스트 ETH**(`1000000000000000` wei)가 전송됩니다.
* 각 계정과 각 수신자 주소는 **24시간 롤링 윈도우당 1회의 신규 요청**만 가능합니다. 동일한 계정의 다른 키를 사용해도 한도가 늘어나지 않습니다.
* 파셋은 모든 사용자를 합쳐 **UTC 일일 최대 1,000건의 신규 요청**을 접수합니다.
* 요청은 `/v1/account`와 함께 **키당 초당 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`         | 10진수 정수 문자열 형태의 수령 금액         |
| `tx_hash`            | 접수된 트랜잭션의 고유 해시               |
| `next_eligible_at`   | 롤링 윈도우 기준 다음 수령 가능 시각         |

동일한 계정에서 24시간 이내에 동일한 정규화 주소로 재시도하면 원래의 `202` 응답과 동일한 `tx_hash`가 반환되며, 해당 계정의 다른 유효한 키를 사용하는 경우에도 마찬가지입니다. 추가 전송은 발생하지 않습니다. 응답이 유실된 경우 동일한 계정으로 동일한 주소에 대해 재시도하세요.

기존 테스트넷 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`에 유효한 키를 제공하세요.                                                  |
| 403  | `key_expired`                               | 새 API key를 생성하세요.                                                           |
| 404  | `not_found`                                 | 경로, 체인, POST 메서드 및 쿼리 파라미터가 없는지 확인하세요. 파셋을 일시적으로 사용할 수 없을 수도 있습니다.          |
| 413  | `request_too_large`                         | 요청 본문 크기를 64KiB 이내로 줄이세요.                                                   |
| 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/)를 확인하세요.

키 없이 읽기 및 WebSocket 로그는 [Robinhood Chain 테스트넷 RPC 시작 가이드](https://docs.blockvectra.com/en/guides/robinhood-testnet-starter/)를 참조하세요. 퍼블릭 RPC URL과 지원 메서드는 [테스트넷 체인 페이지](https://blockvectra.com/en/chains/robinhood_testnet/)에서 확인할 수 있습니다.
