Blockchain RPC proxy for interacting with multiple EVM and non-EVM blockchains. Also offers higher-levels functions such as ENS resolution and transaction history. We do not run our own blockchain RPC nodes but instead proxy to and load balance across other popular RPC providers.
Not to be confused with the WalletConnect Relay.
Endpoint: https://rpc.walletconnect.com/v1?chainId=eip155:1&projectId=<your-project-id>
For example:
curl -X POST "https://rpc.walletconnect.com/v1?chainId=eip155:1&projectId=<your-project-id>" --data '{"id":"1","jsonrpc":"2.0","method":"eth_chainId","params":[]}'Obtain a projectId from https://cloud.walletconnect.com
See SUPPORTED_CHAINS.md for which chains we support and which chainId to use.
cp .env.example .env
nano .envjust run# projectId is not validated under default .env.example configuration
curl -X POST "http://localhost:3000/v1?chainId=eip155:1&projectId=someid" --data '{"id":"1","jsonrpc":"2.0","method":"eth_chainId","params":[]}'just amigood$ docker build . --tag rpc-proxy:
$ docker run -p 3000:3000 \
-e RPC_PROXY_POKT_PROJECT_ID=<some_id> \
-e RPC_PROXY_INFURA_PROJECT_ID=<some_id> \
-e RPC_PROXY_REGISTRY_API_URL=<registry_url> \
-e RPC_PROXY_REGISTRY_API_AUTH_TOKEN=<token> \
--name rpc -it rpc-proxyIf you need to test with registry caching activated, you can use docker-compose to spawn a redis instance for the proxy:
$ RPC_PROXY_POKT_PROJECT_ID=<some_id> \
RPC_PROXY_INFURA_PROJECT_ID=<some_id> \
RPC_PROXY_REGISTRY_API_AUTH_TOKEN=<token> \
docker-compose up