# Faucet da testnet da Robinhood Chain

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

Use o faucet para obter test ETH para transações na testnet da Robinhood Chain (`robinhood_testnet`, chain ID `46630`). A solicitação é gratuita e não consome CU; as chamadas RPC subsequentes na testnet usam a cobrança normal de CU.

## Antes de solicitar

Cadastre uma conta BlockVectra e use uma de suas próprias chaves de API. Crie uma chave no [Console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) ou siga o [guia de cadastro programático](https://docs.blockvectra.com/en/guides/programmatic-signup/).

Use `0x` seguido por 40 caracteres hexadecimais, em letras minúsculas ou com capitalização mista usando um checksum EIP-55 válido. As respostas utilizam endereços em minúsculas; grafias diferentes do mesmo endereço compartilham o mesmo limite de solicitação.

## Enviar uma solicitação

Chame `POST https://api.blockvectra.com/v1/faucet/robinhood_testnet` com `Content-Type: application/json` e sua chave em `x-api-key`. Este endpoint não lê a chave do caminho da URL nem do cabeçalho `Authorization`.

Substitua `{api_key}` pela sua chave e o endereço de exemplo pelo seu endereço de destino:

```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"}'
```

O corpo JSON contém apenas `address` e deve ter no máximo 64 KiB. Campos desconhecidos ou JSON inválido retornam `400 invalid_request`. Use o endpoint exato sem parâmetros de consulta.

## Janela e limites de solicitação

* Cada solicitação aceita envia **0.001 test ETH** (`1000000000000000` wei).
* Cada conta e cada endereço destinatário podem fazer **uma nova solicitação a cada janela deslizante de 24 horas**. Usar outra chave na mesma conta não aumenta o limite.
* O faucet aceita no máximo **1.000 novas solicitações por dia UTC** somando todos os usuários.
* As requisições compartilham um limite de **5 requisições por segundo por chave** com `/v1/account`.

`next_eligible_at` é o horário de aceitação mais 24 horas, expresso como um timestamp UTC RFC 3339. As janelas de conta e endereço não são reiniciadas à meia-noite UTC. Um `429` por limite de solicitação inclui `error.data.scope` (`account`, `address` ou `global`) e `error.data.next_eligible_at`; para `global`, o timestamp é o início do próximo dia UTC. Um `429` por frequência de requisições não possui `scope`.

## Aceito não significa confirmado

HTTP **202 significa aceito, não incluído com sucesso on-chain**. A resposta JSON contém:

| Campo                | Significado                                           |
| -------------------- | ----------------------------------------------------- |
| `chain` / `chain_id` | `robinhood_testnet` / `46630`                         |
| `address`            | Endereço de destino em letras minúsculas              |
| `amount_wei`         | Valor da solicitação como uma string inteira decimal  |
| `tx_hash`            | Hash estável da transação aceita                      |
| `next_eligible_at`   | Próximo horário de elegibilidade na janela deslizante |

Tentar novamente o mesmo endereço normalizado a partir da mesma conta dentro de 24 horas retorna a resposta `202` original e o mesmo `tx_hash`, inclusive ao usar outra chave válida dessa conta. Isso não envia outro pagamento. Se uma resposta for perdida, tente novamente com o mesmo endereço e a mesma conta.

Verifique a transação usando o endpoint RPC existente da testnet. Substitua `{tx_hash}` pelo hash da resposta aceita; essa consulta RPC utiliza a cobrança normal de 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}"]}'
```

## Erros e novas tentativas

O envelope de erro contém `error.code`, `error.message` e `error.data`. `error.data.reason` é igual a `error.code`; `docs_url`, `retryable` e `request_id` fornecem a referência do erro, a política de novas tentativas e o identificador da requisição. Para cada `429` ou `503`, aguarde o número de segundos no cabeçalho de resposta **`Retry-After`** antes de tentar novamente. Sem uma resposta aceita, não assuma que o test ETH foi enviado.

| HTTP | Código de erro                              | O que fazer                                                                                                                                                 |
| ---- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400  | `invalid_address`                           | Corrija o formato do endereço ou o checksum EIP-55; `error.data.field` é `/address`.                                                                        |
| 400  | `invalid_request`                           | Envie um JSON válido contendo apenas `address`.                                                                                                             |
| 401  | `missing_api_key` / `invalid_api_key`       | Forneça uma chave válida em `x-api-key`.                                                                                                                    |
| 403  | `key_expired`                               | Crie uma nova API key.                                                                                                                                      |
| 404  | `not_found`                                 | Verifique o caminho, a rede, o método POST e a ausência de parâmetros de consulta; o faucet pode estar indisponível.                                        |
| 413  | `request_too_large`                         | Reduza o corpo para que caiba em até 64 KiB.                                                                                                                |
| 429  | `rate_limited`                              | Aguarde pelo tempo de `Retry-After`; inspecione `scope` e `next_eligible_at` quando presentes.                                                              |
| 503  | `faucet_empty`                              | O faucet possui fundos insuficientes para a solicitação e as taxas. Aguarde pelo tempo de `Retry-After`.                                                    |
| 503  | `service_unavailable`                       | O processamento de solicitações está temporariamente indisponível ou uma solicitação anterior ainda não possui recibo. Aguarde pelo tempo de `Retry-After`. |
| 503  | `auth_unavailable` / `upstream_unavailable` | Aguarde pelo tempo de `Retry-After` e tente novamente.                                                                                                      |

Consulte a [referência de erros](https://docs.blockvectra.com/en/errors/) ou [/errors.json](https://docs.blockvectra.com/errors.json) para obter orientações legíveis por máquina e o [guia da Robinhood Chain](https://docs.blockvectra.com/en/guides/robinhood-chain/) para acesso RPC.

Continue com o [início rápido com RPC da testnet da Robinhood Chain](https://docs.blockvectra.com/en/guides/robinhood-testnet-starter/) para leituras sem chave e logs via WebSocket. Encontre a URL do RPC público e os métodos suportados na [página da testnet](https://blockvectra.com/en/chains/robinhood_testnet/).
