# MetaMask 및 Rabby 커스텀 RPC 설정: URL 및 Chain ID

> Source: https://docs.blockvectra.com/ko/guides/wallet-custom-rpc/

MetaMask 또는 Rabby에 RPC URL, Chain ID 및 네이티브 심볼을 추가하고, 인증이 필요한 경우 전용 지갑 키를 사용하세요.

## 1. 커스텀 RPC를 사용하는 이유

블록체인 생태계는 일반적으로 기본 커뮤니티 사용 및 개발자 온보딩을 위한 기본 퍼블릭 RPC 엔드포인트를 제공합니다. 하지만 공식 네트워크 문서에는 이러한 엔드포인트에 대한 명시적인 속도 제한(rate limits)과 사용 범위가 명시되어 있습니다:

* **Robinhood Chain**:
  공식 문서 페이지 [Connecting to Robinhood Chain](https://docs.robinhood.com/chain/connecting)에서는 퍼블릭 엔드포인트 `https://rpc.mainnet.chain.robinhood.com`에 속도 제한이 있으며 프로덕션 워크로드에는 권장되지 않는다고 명시하고 있습니다(*The following public endpoints are available but are rate-limited and not recommended for production use. For production, use a provider*).
* **HyperEVM**:
  공식 문서 페이지 [Rate limits and user limits](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/rate-limits-and-user-limits)에서는 퍼블릭 엔드포인트 `rpc.hyperliquid.xyz/evm`에 대해 IP 기반으로 분당 최대 100회의 EVM JSON-RPC 요청 제한을 지정하고 있습니다(*Maximum of 100 EVM JSON-RPC requests per minute for rpc.hyperliquid.xyz/evm*).

## 2. 필수 지갑 필드 및 네트워크 파라미터

EVM 지갑에서 네트워크를 추가하거나 편집할 때 다음과 같은 몇 가지 특정 필드가 필요합니다:

1. **Network Name**: 지갑 인터페이스에 표시되는 사람이 읽을 수 있는 레이블입니다.
2. **RPC URL**: 통신 엔드포인트입니다. `api.blockvectra.com`에서 `/v1/{chain}/{api_key}` 경로를 사용하여 **API key를 URL 경로에 포함해야 합니다**:
   ```http
   /v1/{chain}/{api_key}
   ```
   > **중요**: MetaMask 및 Rabby 같은 지갑은 RPC URL 필드에 표준 HTTP(S) URL만 허용하며 **커스텀 요청 헤더를 지원하지 않습니다**(`x-api-key: {api_key}` 등). 따라서 지갑 연결 시에는 API key를 URL 경로에 직접 제공해야 합니다. `{api_key}` 뒤에 후행 슬래시를 포함하지 마세요. 알 수 없는 `{chain}`을 대상으로 하는 요청은 HTTP 404를 반환합니다.
3. **Chain ID**: EIP-155 정수 체인 식별자입니다.
4. **Currency Symbol**: 체인의 네이티브 가스 자산 심볼입니다(예: `ETH`, `HYPE`).
5. **Block Explorer URL**: 네트워크 블록 탐색기(explorer)의 기본 웹 주소입니다.

### 지원 체인 네트워크 파라미터 표

| 네트워크 이름 | RPC URL (경로 키) | 체인 ID | 통화 기호 | 블록 탐색기 URL |
| --- | --- | --- | --- | --- |
| [arb_mainnet](https://blockvectra.com/ko/chains/arb_mainnet/) | `https://api.blockvectra.com/v1/arb_mainnet/{api_key}` | 42161 | [ETH](https://docs.arbitrum.io/build-decentralized-apps/reference/node-providers) | [arbiscan.io](https://arbiscan.io) |
| [base_mainnet](https://blockvectra.com/ko/chains/base_mainnet/) | `https://api.blockvectra.com/v1/base_mainnet/{api_key}` | 8453 | [ETH](https://docs.base.org/docs/network-information/) | [basescan.org](https://basescan.org) |
| [bsc_mainnet](https://blockvectra.com/ko/chains/bsc_mainnet/) | `https://api.blockvectra.com/v1/bsc_mainnet/{api_key}` | 56 | [BNB](https://docs.bnbchain.org/) | [bscscan.com](https://bscscan.com) |
| [Ethereum](https://blockvectra.com/ko/chains/eth_mainnet/) | `https://api.blockvectra.com/v1/eth_mainnet/{api_key}` | 1 | [ETH](https://ethereum.org/) | [etherscan.io](https://etherscan.io) |
| [eth_sepolia](https://blockvectra.com/ko/chains/eth_sepolia/) | `https://api.blockvectra.com/v1/eth_sepolia/{api_key}` | 11155111 | [SepoliaETH](https://ethereum.org/en/developers/docs/networks/#sepolia) | [sepolia.etherscan.io](https://sepolia.etherscan.io) |
| [HyperEVM](https://blockvectra.com/ko/chains/hyperevm_mainnet/) | `https://api.blockvectra.com/v1/hyperevm_mainnet/{api_key}` | 999 | [HYPE](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm) | [hyperscan.com](https://www.hyperscan.com/) |
| [polygon_mainnet](https://blockvectra.com/ko/chains/polygon_mainnet/) | `https://api.blockvectra.com/v1/polygon_mainnet/{api_key}` | 137 | [POL](https://docs.polygon.technology/) | [polygonscan.com](https://polygonscan.com) |
| [Robinhood Chain](https://blockvectra.com/ko/chains/robinhood_mainnet/) | `https://api.blockvectra.com/v1/robinhood_mainnet/{api_key}` | 4663 | [ETH](https://docs.robinhood.com/chain/connecting) | [robinhoodchain.blockscout.com](https://robinhoodchain.blockscout.com) |
| [robinhood_testnet](https://blockvectra.com/ko/chains/robinhood_testnet/) | `https://api.blockvectra.com/v1/robinhood_testnet/{api_key}` | 46630 | [ETH](https://docs.robinhood.com/chain/connecting) | [explorer.testnet.chain.robinhood.com](https://explorer.testnet.chain.robinhood.com) |

> **HyperEVM 읽기 전용 제한**: BlockVectra HyperEVM 엔드포인트는 읽기를 지원하지만 트랜잭션을 브로드캐스트하지 않습니다. 지갑에서 트랜잭션을 전송할 때는 eth\_sendRawTransaction을 지원하는 RPC를 사용하세요. 브로드캐스트에 대한 자세한 내용은 HyperEVM 가이드의 [Foundry 또는 Hardhat으로 배포](https://docs.blockvectra.com/en/guides/hyperevm-backfill/#deploy-with-foundry-or-hardhat)를 참조하세요.

경로의 `{chain}`을 원하는 체인 슬러그로 대체하면 하나의 API key를 모든 지원 체인에서 사용할 수 있습니다. 공유 할당량 및 URL 라우팅에 대한 자세한 내용은 [하나의 키로 여러 체인 사용 가이드](https://docs.blockvectra.com/en/guides/one-key-many-chains/)를 참조하세요.

## 3. 지갑별 단계별 설정 가이드

### MetaMask 설정 단계

공식 MetaMask 도움말 가이드 [How to add a custom network RPC](https://support.metamask.io/networks-and-sidechains/managing-networks/how-to-add-a-custom-network-rpc/)를 기반으로 합니다:

1. MetaMask 브라우저 확장 프로그램 또는 모바일 애플리케이션을 엽니다.
2. 인터페이스 상단의 네트워크 선택기 드롭다운을 클릭합니다(또는 설정 > 네트워크로 이동).
3. **네트워크 추가**(Add network)를 선택한 다음 하단의 **네트워크 수동 추가**(Add a network manually)를 선택합니다.
4. 위의 표를 참조하여 네트워크 세부 정보를 입력합니다:
   * **Network Name**: 위 표의 체인 이름을 입력합니다.
   * **New RPC URL**: `https://api.blockvectra.com/v1/robinhood_mainnet/{api_key}`와 같이 경로 인증 엔드포인트를 입력합니다(`{api_key}`를 실제 API key로 교체).
   * **Chain ID**: 위 표의 정수 Chain ID를 입력합니다.
   * **Currency Symbol**: 위 표의 네이티브 자산 심볼을 입력합니다.
   * **Block Explorer URL**: 위 표의 공식 블록 탐색기 주소를 입력합니다(선택 사항).
5. **저장**(Save)을 클릭하여 네트워크를 추가하고 해당 네트워크로 전환합니다.

> **HyperEVM에서 트랜잭션 전송**: BlockVectra HyperEVM 엔드포인트는 읽기를 지원하지만 트랜잭션을 브로드캐스트하지 않습니다. 지갑에서 트랜잭션을 전송할 때는 eth\_sendRawTransaction을 지원하는 RPC를 사용하세요([HyperEVM 브로드캐스트 설명](https://docs.blockvectra.com/en/guides/hyperevm-backfill/#deploy-with-foundry-or-hardhat) 참조).

> **기존 네트워크 편집**: 이미 목록에 있는 네트워크의 RPC 엔드포인트를 업데이트하려면 설정 > 네트워크로 이동하여 대상 네트워크를 선택하고, RPC URL 필드에서 BlockVectra URL을 편집하거나 추가한 후 변경 사항을 저장하세요.

### Rabby Wallet 설정 단계

Rabby의 커스텀 네트워크 또는 커스텀 RPC 설정에서 위 표의 파라미터를 입력합니다: Network Name, RPC URL(경로 키 포함: `https://api.blockvectra.com/v1/{chain}/{api_key}`), Chain ID, Currency Symbol 및 Block Explorer URL.

> **참고**: 커스텀 네트워크 또는 테스트넷을 추가할 때는 네트워크 ID 불일치 오류를 방지하기 위해 Chain ID가 엔드포인트에서 반환하는 ID와 일치하는지 확인하세요.

## 4. 보안 팁 및 사용량 관리

커스텀 RPC를 운영할 때는 다음 보안 및 청구 원칙을 염두에 두세요:

> \[!WARNING]
> **API Key 노출 위험**: RPC URL 경로에는 API key가 평문으로 포함됩니다. 지갑의 네트워크 설정 스크린샷을 공개 대화방이나 포럼에 공유하지 마시고, 실제 키가 포함된 URL을 공개 코드 저장소나 문서에 커밋하지 마세요.

1. **지갑 요청은 계정 사용량에 포함됩니다**:
   지갑을 열거나 계정을 전환하거나 자산 목록을 새로 고치면 실시간 JSON-RPC 호출(`eth_blockNumber`, `eth_getBalance`, `eth_call` 등)이 트리거됩니다. 이러한 요청은 호출된 메서드의 CU 가중치([요금 페이지](https://blockvectra.com/en/pricing/) 참조)에 따라 계정 한도 내에서 용량을 소모합니다.
2. **각 지갑에 전용 API key 생성**:
   [콘솔](https://console.blockvectra.com/login/?next=%2Fkeys%2F)에서 지갑 전용 라벨(예: `metamask-desktop` 또는 `rabby-extension`)을 지정하여 전용 API key를 생성하세요. 이렇게 하면 개인 지갑 트래픽을 서버 애플리케이션, 자동화 스크립트 및 AI 에이전트와 격리할 수 있습니다.
3. **유출 시 독립적인 해지**:
   지갑에 구성된 API key가 노출되었다고 의심되는 경우, 실행 중인 다른 키나 서비스에 영향을 주지 않고 콘솔에서 해당 개별 키를 즉시 해지하세요.
   세션이 만료되었거나 키를 분실한 경우 프로그래밍 방식 회원가입 가이드의 [세션이나 API 키를 분실하셨나요?](https://docs.blockvectra.com/en/guides/programmatic-signup/#lost-your-session-or-api-key)를 참조하여 이더리움 지갑 서명을 통해 제어권을 다시 확보하세요.

## 5. 관련 리소스

* [과거 상태 한도](https://docs.blockvectra.com/en/guides/evm-historical-state/): 이전 잔액이나 컨트랙트 값을 요청하기 전에 인증된 상태 윈도우와 키 없는 기록을 확인하세요. 로그 쿼리 범위는 별도의 한도입니다.
* [하나의 키로 여러 체인 사용 가이드](https://docs.blockvectra.com/en/guides/one-key-many-chains/): 상세 URL 라우팅 규칙, `GET /v1/chains`를 통한 프로그래밍 방식 검색 및 크로스체인 할당량 메커니즘.
* [요금 및 플랜 한도](https://blockvectra.com/en/pricing/): CU 가중치, 처리량 보충 속도 및 결제 예치금 업그레이드에 대한 정보.

## 다음 단계

* [데이터셋 디렉터리 둘러보기](https://blockvectra.com/en/data/): BlockVectra가 인덱싱하는 모든 데이터셋 확인.
* [무료 플랜 및 요금 확인](https://blockvectra.com/en/pricing/#free): 내 계정에 포함된 혜택 확인.
* [콘솔 로그인](https://console.blockvectra.com/login/?next=%2Fkeys%2F): API key 생성.
