These are values which are included within config.json

Config detail

ValueExampleDescriptionOptional
relayers[“0xPrivateKey1”, “0xPrivateKey2”]Array of relayer private keys or mnemonics, so multiple executors can be set.No
beneficiary”0xAddress”Fee collector, avaiable via env var (SKANDHA_BENEFICIARY etc)Yes
rpcEndpointhttp://localhost:8545RPC provider, also available via env variable (SKANDHA_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 estimationYes
validationGasLimit10e6Gas limit during simulateHandleOps and simulateValidation callsYes
receiptLookupRange1024Limits the block range of getUserOperationByHash and getUserOperationReceiptYes
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_sendRawTransactionYes
rpcEndpointSubmithttps://polygon-{network}.blockpi.network/v1/rpc/publicRPC endpoint that is used only during submission of a bundleYes
gasPriceMarkup0Adds % markup on reported gas price via skandha_getGasPrice, 10000 = 100.00%, 500 = 5%Yes
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 priceYes
relayingMode”classic”Two options here, “classic” or “flashbots” which enables flashbot protection.Yes
eip2930”false”optional, enables eip-2930No
useropsTTL300optional, Userops time to live (in seconds)No
whitelistedEntities”whitelistedEntities”: “factory”: [], “paymaster”: [], “account”: []optional, Entities that bypass stake and opcode validation (array of addresses)No
bundleGasLimitMarkup25000optional, adds some amount of additional gas to a bundle txYes
bundleInterval10000bundle creation intervalYes
bundleSize4optional, max size of a bundle, 4 userops by defaultYes
pvgMarkup0optional, adds some gas on top of estimated PVGYes
cglMarkup35000optional, markup on estimated call gas limitYes
vglMarkup0optional, markup on estimated verification gas limitYes
skipBundleValidationfalseoptional, skips bundle validationYes
userOpGasLimit25000000optional, gas limit of a useropYes
bundleGasLimit25000000optional, gas limit of a bundleYes
archiveDuration5184000optional, keeps submitted, reverted and cancelled userops in the mempool for this many secondsYes

Simplest config

{
  "entryPoints": [
    "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
  ],
  "relayers": ["0x{RELAYER-PRIVATE-KEY}"],
  "beneficiary": "0x{BENEFICIARY-ADDRESS}",
  "rpcEndpoint": "https://polygon-mumbai.blockpi.network/v1/rpc/public"
}

config.json with a default value of each config parameter

{
  "entryPoints": [
    "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
  ],
  "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": 50,
  "minStake": 10000000000,
  "minUnstakeDelay": 0,
  "minSignerBalance": 1,
  "multicall": "0xcA11bde05977b3631167028862bE2a173976CA11",
  "estimationGasLimit": 0,
  "receiptLookupRange": 1024,
  "etherscanApiKey": "",
  "conditionalTransactions": false,
  "rpcEndpointSubmit": "",
  "gasPriceMarkup": 0,
  "enforceGasPrice": false,
  "enforceGasPriceThreshold": 1000,
  "eip2930": false,
  "useropsTTL": 300,
  "whitelistedEntities": {
    "factory": [],
    "paymaster": [],
    "account": []
  },
  "bundleGasLimitMarkup": 25000,
  "relayingMode": "classic",
  "bundleInterval": 10000,
  "bundleSize": 4,
  "pvgMarkup": 0,
  "cglMarkup": 35000,
  "vglMarkup": 0,
  "skipBundleValidation": false,
  "userOpGasLimit": 25000000,
  "bundleGasLimit": 25000000,
  "archiveDuration": 5184000
}