Networks
rrelayer supports any EVM chain out the box. You can config this really easily. Alongside it allows some additional nice features which we talk about a little later.
Fields
name
This is the name of the network it can be anything its YOUR name of it
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"chain_id
This is the chain id for the network
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111provider_urls
This is rpc urls for your network which rrelayer will use to send transactions and also monitor transactions. It can accept an array of providers and will randomly load balance through them if you put more then 1.
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"block_explorer_url - optional
This is the block explorer url - it will come back in network info but is not required
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"max_gas_price_multiplier - default 4
rrelayer will bump up prices after n numbers of blocks depending on what transaction speed you sent it as, with that it could end up on huge spikes trying to bump it a very high amount. The idea with this is rrelayer will never send a transaction more then 4x greater then the fastest gas price we have from our gas providers. You can change this to say 1000 if you wish to never care about max gas cost. Note each relayer can have its own config for max gas price which you can read more about here
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"
max_gas_price_multiplier: 4confirmations - optional default 12
This is how many confirmations it will wait to mark it as CONFIRMED this will still mark it as MINED asap and normally applications consider it done after that
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"
max_gas_price_multiplier: 4
confirmations: 2enable_sending_blobs - optional
When blobs are enabled it does additional RPC lookups for the blob gas oracles so you can disable it by setting this to false
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"
max_gas_price_multiplier: 4
enable_sending_blobs: falsesigning_provider - optional
In all our examples we map the signing_provider to the main project, but you can override it in the network itself. This follows all the same YAML style as the signing provider logic but within the network's object. You can find all the documentation in the signer provider pages:
- KMS
- AWS Secret Manager
- GCP Secret Manager
- Raw Mnemonic
- Privy
- Turnkey
- Fireblocks
- Private Keys
- PKCS11 Beta
allowed_random_relayers - optional
Controls which relayers are eligible for selection when using the random relayer endpoint. If not specified, the random relayer feature is disabled for this network.
Options:"*"- Allow all relayers for random selection- Single address - Only allow one specific relayer for random selection
- Array of addresses - Allow only the specified relayers for random selection
- Not specified - Random relayer feature disabled
name: first-rrelayer
description: "my first rrelayer"
api_config:
port: 3000
authentication_username: ${RRELAYER_AUTH_USERNAME}
authentication_password: ${RRELAYER_AUTH_PASSWORD}
signing_provider:
aws_kms:
region: "eu-west-1"
networks:
- name: "sepolia_ethereum"
chain_id: 11155111
provider_urls:
- "https://sepolia.gateway.tenderly.co"
block_explorer_url: "https://sepolia.etherscan.io"
allowed_random_relayers: ["0x742f0677b50b0F1C2151865Dcb98BF32FeaF65c9"] Enable for all relayers:
allowed_random_relayers: '*'Allow only specific relayers:
allowed_random_relayers:
- '0x742f0677b50b0F1C2151865Dcb98BF32FeaF65c9'
- '0x8ba1f109551bD432803012645Hac136c6d3A60E7'Allow single relayer:
allowed_random_relayers: '0x742f0677b50b0F1C2151865Dcb98BF32FeaF65c9'