Skip to content

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

rrelayer.yaml
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

rrelayer.yaml
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

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.

rrelayer.yaml
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

rrelayer.yaml
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

rrelayer.yaml
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 - 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

rrelayer.yaml
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: 2

enable_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

rrelayer.yaml
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: false

signing_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:

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
rrelayer.yaml
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"] 
Examples:

Enable for all relayers:

allowed_random_relayers: '*'

Allow only specific relayers:

allowed_random_relayers:
  - '0x742f0677b50b0F1C2151865Dcb98BF32FeaF65c9'
  - '0x8ba1f109551bD432803012645Hac136c6d3A60E7'

Allow single relayer:

allowed_random_relayers: '0x742f0677b50b0F1C2151865Dcb98BF32FeaF65c9'