The router is accepts configuration using the config file config.json
in the root directory of the docker-compose repo.
The JSON schema accepts the following keys:
redis
: Required. Object containing the following keys to configure an external redis instance:host
: Required. The hostname of the redis instance.port
: Required. The port of the redis instance.
server
: Required. Object containing the following keys to configure the HTTP server:adminToken
: Required. Secret token used to authenticate admin requests.port
: Optional. The port the router will listen on. Defaults to8080
.host
: Optional. The host the router will listen on. Defaults to0.0.0.0
.
web3SignerUrl
: Recommended. The URL for a running Web3Signer instance. This is the recommended approach to private key storage.mnemonic
: Optional, Discouraged. The mnemonic used to generate the private key. Using the mnemonic directly in the config file is unsafe and not recommended.chains
: Required. The chain configuration. A JSON object with the following keyed by Domain IDs with the following object schema as value:providers
: Required. An array of providers URLs for a chain. Use a minimum of 1 URL, but additional URLs provide more fallback protection against provider issues.assets
: Required. An array of assets. Each asset is a JSON object with the following keys:assetId
: Required. The asset ID (ERC20 token address). This needs to represent the "local" asset which is the Connext bridge minted asset.name
: Required. The Asset Name.
network
: Required.mainnet
ortestnet
.environment
: Optional.production
orstaging
.mainnet
network config will always beproduction
.logLevel
: Optional. The log level. Defaults toinfo
. Acceptsdebug
,info
,warn
,error
,fatal
,trace
,silent
.sequencerUrl
: Optional. The URL for the sequencer. Only used to override defaults.cartographerUrl
: Optional. The URL for the cartographer. Only used to override defaults.
These are example RPC URLs. Please get your own RPC URLs!
{
"chains": {
"1634886255": {
"assets": [
{
"address": "0x8c556cF37faa0eeDAC7aE665f1Bb0FbD4b2eae36",
"name": "USDC"
},
{
"address": "0x2983bf5c334743Aa6657AD70A55041d720d225dB",
"name": "WETH"
}
],
"providers": [
"https://arb-mainnet.g.alchemy.com/v2/...",
"https://rpc.ankr.com/arbitrum"
]
},
"1869640809": {
"assets": [
{
"address": "0x67E51f46e8e14D4E4cab9dF48c59ad8F512486DD",
"name": "USDC"
},
{
"address": "0xbAD5B3c68F855EaEcE68203312Fd88AD3D365e50",
"name": "WETH"
}
],
"providers": [
"https://opt-mainnet.g.alchemy.com/v2/...",
"https://rpc.ankr.com/optimism"
]
},
"1886350457": {
"assets": [
{
"address": "0xF96C6d2537e1af1a9503852eB2A4AF264272a5B6",
"name": "USDC"
},
{
"address": "0x4b8BaC8Dd1CAA52E32C07755c17eFadeD6A0bbD0",
"name": "WETH"
}
],
"providers": [
"https://polygon-mainnet.g.alchemy.com/v2/...",
"https://rpc.ankr.com/polygon"
]
},
"6450786": {
"assets": [
{
"address": "0x5e7D83dA751F4C9694b13aF351B30aC108f32C38",
"name": "USDC"
},
{
"address": "0xA9CB51C666D2AF451d87442Be50747B31BB7d805",
"name": "WETH"
}
],
"providers": [
"https://bsc-dataseed1.binance.org",
"https://bsc-dataseed2.binance.org",
"https://rpc.ankr.com/bsc"
]
},
"6648936": {
"assets": [
{
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"name": "USDC"
},
{
"address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"name": "WETH"
}
],
"providers": [
"https://eth-mainnet.alchemyapi.io/v2/...",
"https://rpc.ankr.com/eth"
]
},
"6778479": {
"assets": [
{
"address": "0x44CF74238d840a5fEBB0eAa089D05b763B73faB8",
"name": "USDC"
},
{
"address": "0x538E2dDbfDf476D24cCb1477A518A82C9EA81326",
"name": "WETH"
}
],
"providers": [
"https://rpc.gnosischain.com",
"https://rpc.ankr.com/gnosis"
]
}
},
"environment": "production",
"logLevel": "debug",
"messageQueue": {
"uri": "amqp://guest:guest@rabbitmq:5672"
},
"redis": {
"host": "redis",
"port": 6379
},
"server": {
"adminToken": "supersecret"
},
"web3signer": "http://signer:9000",
"network": "mainnet"
}