Providers
Providers make it easy to add well-known third-parties RPC endpoints quickly. Here are the supported providers:
repository
A special provider to automatically add "public" RPC endpoints for 2,000+ EVM chains.alchemy
Accepts alchemy.com api key and automatically adds all their EVM chains.drpc
Accepts drpc.org api key and automatically adds all their EVM chains.blastapi
Accepts blastapi.io api key and automatically adds all their EVM chains.thirdweb
Accepts thirdweb.com client-id and automatically adds all their EVM chains.infura
Accepts infura.io api key and automatically adds all their EVM chains.envio
Accepts envio.dev rpc endpoint and automatically adds all chains by HyperRPC.pimlico
Accepts pimlico.io rpc endpoint for account-abstraction (ERC-4337) support.etherspot
Accepts etherspot.io rpc endpoint for account-abstraction (ERC-4337) support.
eRPC supports any EVM-compatible JSON-RPC endpoint when using evm
type.
Simple endpoints
repository
This special provider read a remote repository (a simple JSON file) that contains a list of RPC endpoints for any EVM chain. This allows automatic and lazy-loading of EVM chains on "first request":
eRPC design aims to be robust towards any number of endpoints in terms of failures or response times, but it is recommended to test before you use this provider in production.
# ...
projects:
- id: main
# ...
upstreams:
- endpoint: repository://evm-public-endpoints.erpc.cloud
eRPC team regularly updates an IPFS file containing 4,000+ public endpoints from chainlist.org (opens in a new tab), chainid.network (opens in a new tab) and viem library (opens in a new tab), which is pointed to by https://evm-public-endpoints.erpc.cloud (opens in a new tab) domain.
alchemy
Built for Alchemy (opens in a new tab) 3rd-party provider to make it easier to import "all supported evm chains" with just an API-KEY.
# ...
projects:
- id: main
# ...
upstreams:
- id: my-alchemy
endpoint: alchemy://YOUR_ALCHEMY_API_KEY
# ...
drpc
Built for dRPC (opens in a new tab) 3rd-party provider to make it easier to import "all supported evm chains" with just an API-KEY.
# ...
projects:
- id: main
# ...
upstreams:
- id: my-drpc
endpoint: drpc://YOUR_DRPC_API_KEY
# ...
blastapi
Built for BlastAPI (opens in a new tab) 3rd-party provider to make it easier to import "all supported evm chains" with just an API-KEY.
# ...
projects:
- id: main
# ...
upstreams:
- id: my-blastapi
endpoint: blastapi://YOUR_BLASTAPI_API_KEY
# ...
infura
Built for Infura (opens in a new tab) 3rd-party provider to make it easier to import "all supported evm chains" with just an API-KEY.
# ...
projects:
- id: main
# ...
upstreams:
- id: my-infura
endpoint: infura://YOUR_INFURA_API_KEY
# ...
thirdweb
Built for Thirdweb (opens in a new tab) 3rd-party provider to make it easier to import "all supported evm chains" with just a CLIENT-ID.
# ...
projects:
- id: main
# ...
upstreams:
- id: my-thirdweb
endpoint: thirdweb://YOUR_THIRDWEB_CLIENT_ID
# ...
For production traffic consult with Thirdweb team about the chains you are goin to use and amount of traffic you expect to handle.
envio
Envio HyperRPC (opens in a new tab) service provides a higher-performance alternative for certain read methods. When handling requests if a method is supported by HyperRPC (opens in a new tab), then this upstream may be used.
# ...
projects:
- id: main
# ...
upstreams:
- id: envio-public
endpoint: envio://rpc.hypersync.xyz
# ...
For indexing use-cases it is recommended to this upstream. This will automatically add all supported EVM chains by HyperRPC.
pimlico
Pimlico (opens in a new tab) adds account-abstraction (ERC-4337) support to your eRPC instance. With this upstream added when a AA-related request arrives it'll be forwarded to Pimlico, which allows you to use the same RPC endpoint for both usual eth_* methods along with ERC-4337 methods.
# ...
projects:
- id: main
# ...
upstreams:
- id: pimlico-public
endpoint: pimlico://public
# Or provide your API-KEY as:
# endpoint: pimlico://xxxxxmy-api-key
# ...
etherspot
Etherspot (opens in a new tab) adds account-abstraction (ERC-4337) support to your eRPC instance. With this upstream added when a AA-related request arrives it'll be forwarded to Etherspot, which allows you to use the same RPC endpoint for both usual eth_* methods along with ERC-4337 methods.
# ...
projects:
- id: main
# ...
upstreams:
- id: etherspot-public
endpoint: etherspot://public
# Or provide your API-KEY as:
# endpoint: etherspot://xxxxxmy-api-key
# ...
Advanced config
You can use dedicated providers:
config to customize per-network configurations (e.g. different config for Alchemy eth-mainnet vs Alchemy polygon) as follows:
# ...
projects:
- id: main
# ...
providers:
- id: alchemy-prod # (optional) Unique ID that will be prefixed to the dynamically generated upstream ID
vendor: alchemy # (REQUIRED) Defines the provider type
settings: # (optional) Provider-specific settings
apiKey: xxxxx
onlyNetworks: # (optional) If you want to limit the lazy-loaded networks (instead of loading all supported chains)
- evm:1
- evm:137
# (optional) If you want to customize the dynamically generated upstream ID
upstreamIdTemplate: "<PROVIDER>-<NETWORK>"
# (optional) Customize upstream configs for specific networks:
# - The key must be a networkId, and it supports matcher syntax (https://docs.erpc.cloud/config/matcher).
# - The value is a typical upstream config (https://docs.erpc.cloud/config/projects/upstreams#config).
overrides:
"evm:1":
rateLimitBudget: # ...
jsonRpc: # ...
ignoreMethods: # ...
allowMethods: # ...
failsafe: # ...
"evm:*":
failsafe: # ...
"evm:123|evm:10":
failsafe: # ...
Vendor settings reference
Here is a reference of all the settings you can use for each vendor:
# ...
providers:
- vendor: alchemy
settings:
apiKey: xxxxx
- vendor: blastapi
settings:
apiKey: xxxxx
- vendor: drpc
settings:
apiKey: xxxxx
- vendor: envio
settings:
rootDomain: xxxxx # (optional) default: rpc.hypersync.xyz
- vendor: etherspot
settings:
apiKey: xxxxx
- vendor: infura
settings:
apiKey: xxxxx
- vendor: llama
settings:
apiKey: xxxxx
- vendor: pimlico
settings:
apiKey: xxxxx # can be "public" or your API-KEY
- vendor: thirdweb
settings:
clientId: xxxxx
- vendor: repository
settings:
repositoryUrl: https://evm-public-endpoints.erpc.cloud
recheckInterval: 1h # How often to recheck the repository for newly added RPC endpoints