These are values which are included within config.json

Config detail

ValueExampleDescriptionOptional
relayer“0xPrivateKey”Relayer private key or mnemonic phrase, can access from here or via environment variables (SKANDHA_MUMBAI_RELAYER or SKANDHA_DEV_RELAYER etc)Yes
relayers[“0xPrivateKey1”, “0xPrivateKey2”]Array of relayer private keys or mnemonics, so multiple executors can be set.Yes
beneficiary“0xAddress”Fee collector, avaiable via env var (SKANDHA_MUMBAI_BENEFICIARY etc)Yes
rpcEndpointhttp://localhost:8545RPC provider, also available via env variable (SKANDHA_MUMBAI_RPC etc)No
minInclusionDenominator10(See EIP-4337 spec)[https://eips.ethereum.org/EIPS/eip-4337]Yes
throttlingSlack10(See EIP-4337 spec)[https://eips.ethereum.org/EIPS/eip-4337]Yes
banSlack10(See EIP-4337 spec)[https://eips.ethereum.org/EIPS/eip-4337]Yes
minSignerBalance1Default is 0.1 ETH. If the relayer’s balance drops lower than this, it will be selected as a fee collectorYes
multicall“0xAddress”Multicall3 contract (see here)[https://github.com/mds1/multicall#multicall3-contract-addresses]Yes
estimationStaticBuffer21000Adds certain amount of gas to callGasLimit on estimationNo
validationGasLimit10e6Gas limit during simulateHandleOps and simulateValidation callsNo
receiptLookupRange1024Limits the block range of getUserOperationByHash and getUserOperationReceiptNo
etherscanApiKey“A1C15S3AXQHQ7PVVDX63VVK2IBAECS448Z”Etherscan api is used to fetch gas pricesYes
conditionalTransactionsfalseEnabling this flag will make the bundler submit all transactions via eth_sendRawTransactionConditional instead of eth_sendRawTransactionNo
rpcEndpointSubmithttps://polygon-{network}.blockpi.network/v1/rpc/publicRPC endpoint that is used only during submission of a bundleNo
gasPriceMarkup0Adds % markup on reported gas price via skandha_getGasPrice, 10000 = 100.00%, 500 = 5%No
enforceGasPricefalseDo not bundle userops with low gas pricesNo
enforceGasPriceThreshold1000Gas price threshold in bps. If set to 500, userops’ gas price is allowed to be 5% lower than the network’s gas priceNo
relayingMode“classic”Two options here, “classic” or “flashbots” which enables flashbot protection.No

Example file

{
  "networks": {
    "dev": { 
      "entryPoints": [ 
        "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
      ],
      "relayer": "0xprivateKey",
      "relayers": [
        "0x0101010101010101010101010101010101010101010101010101010101010101",
        "test test test test test test test test test test test junk"
      ],
      "beneficiary": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", 
      "rpcEndpoint": "http://localhost:8545", 
      "minInclusionDenominator": 10, 
      "throttlingSlack": 10, 
      "banSlack": 10,
      "minSignerBalance": 1,
      "multicall": "0xcA11bde05977b3631167028862bE2a173976CA11", 
      "estimationStaticBuffer": 21000,
      "validationGasLimit": 10e6, 
      "receiptLookupRange": 1024, 
      "etherscanApiKey": "", 
      "conditionalTransactions": false, 
      "rpcEndpointSubmit": "", 
      "gasPriceMarkup": 0, 
      "enforceGasPrice": false, 
      "enforceGasPriceThreshold": 1000, 
    }
  }
}