-
Notifications
You must be signed in to change notification settings - Fork 79
Configuration
marie-fourier edited this page Jan 1, 2025
·
1 revision
Default config.json file with basic configuration
{
"entryPoints": [
"0x9b5d240EF1bc8B4930346599cDDFfBD7d7D56db9"
],
"relayers": [
"test test test test test test test test test test test junk",
"0x0101010101010101010101010101010101010101010101010101010101010101"
],
"rpcEndpoint": "http://localhost:8545"
}-
entryPoints: string[]- Array of supported ERC-4337 entry point contract addresses (required) -
relayers: string[]- Private keys of relayers. One bundler can have multiple relayers (required) -
beneficiary: string- Address of beneficiary. If not set, relayers address will be used -
rpcEndpoint: string- Chain's RPC endpoint (required) -
minInclusionDenominator: number- Parameter for EIP-4337 inclusion rules (default:10) -
throttlingSlack: number- Throttling slack (default:10) -
banSlack: number- Banning slack (default:10) -
minSignerBalance: BigNumberish- If the balance of a relayer is lower than this value, that relayer will be beneficiary even ifbeneficiaryparam is set (default:0.1 ETH in wei) -
minStake: BigNumberish- Minimum required stake for entities (factories, paymasters, account) (default:0.01 ETH in wei) -
minUnstakeDelay: number- Minimum unstaking delay period for entities (default:0) -
receiptLookupRange: number- Limits the block range of getUserOperationByHash and getUserOperationReceipt. If requests to those endpoints are timing out, reduce this value (default:1024) -
etherscanApiKey: string- Etherscan API key (used for fetching gas prices) (default:"") -
conditionalTransactions: boolean- Bundles will be submitted as conditional transactions. See EIP-7796 (default:false) -
rpcEndpointSubmit: string- Optional separate RPC endpoint used only for bundle submission -
gasPriceMarkup: number- Adds markup on reported gas price via skandha_getGasPrice (in bps) (default:0, example:10000= 100.00%) -
enforceGasPrice: boolean- Do not bundle userops with low gas prices (default:false) -
enforceGasPriceThreshold: number- Gas price threshold in bps. When set to 500, then the userop's gas price is allowed to be 5% lower than the networks gas prices (default:1000) -
eip2930: boolean- Enables eip-2930 (default:false) -
useropsTTL: number- Userops TTL in seconds. After TTL you can replace a userop without increasing gas fees (default:300) -
whitelistedEntities: { "paymaster": [], "account": [], "factory": [], external: [] }- Entities that bypass stake and opcode validation -
bundleGasLimitMarkup: number- Adds some amount of gas to bundle's estimated gas limit (default:25000) -
relayingMode: "merkle" | "flashbots" | "classic" | "kolibri" | "echo" | "fastlane"- Submit bundles via different relayers (default:classic) -
bundleInterval: number- Interval of bundling in seconds (default:10) -
bundleSize: number- Max bundle size (default:4userops) -
pvgMarkup: number- Adds markup on PVG (default:0) -
canonicalMempoolId: string- Canonical mempool id (default:"") -
canonicalEntryPoint: string- Canonical entry point (default:"") -
gasFeeInSimulation: boolean- Add gas fee in simulated transactions (may be required for some rpc providers) (default:false) -
skipBundleValidation: boolean- Skip bundle validation (default:false) -
userOpGasLimit: number- Bundler won't accept userops with higher gas limit (default:25000000) -
bundleGasLimit: number- Max gas limit of a bundle (default:25000000) -
merkleApiURL: string- API URL of (https://merkle.io/) (default:"") -
kolibriAuthKey: string- Auth key for Kolibri (https://kolibrio.xyz/) (default:"") -
cglMarkup: number- Adds markup on CGL (default:35000) -
vglMarkup: number- Adds markup on VGL (default:0) -
echoAuthKey: string- Auth key for Echo (https://echo.chainbound.io/) (default:"") -
fastlaneValidators: string[]- Fastlane validators (https://x.com/ThogardPvP/status/1843652671259193355) (default:[]) -
archiveDuration: number- After submission userops will stay in the mempool for this duration so that info on these userops are quickly accessible (default:86400in seconds) -
pvgMarkupPercent: number- Adds markup on PVG in bps (default:0) -
cglMarkupPercent: number- Adds markup on CGL in bps (default:0) -
vglMarkupPercent: number- Adds markup on VGL in bps (default:3000) -
eip1559: boolean- Enables EIP-1559 (default:true) -
blockscoutUrl: string- URL of Blockscout API. Used by getUserOperationByHash and getUserOperationReceipt for historical data (default:"") -
blockscoutApiKeys: string[]- Blockscout API keys (default:[])
You can also set config params via ENV variables. ENV variables have higher priority than config.json file.
-
SKANDHA_ENTRYPOINTS- entryPoints -
SKANDHA_RELAYERS- relayers (example:SKANDHA_RELAYERS=0x0101010101010101010101010101010101010101010101010101010101010101, 0x0101010101010101010101010101010101010101010101010101010101010102) -
SKANDHA_BENEFICIARY- beneficiary -
SKANDHA_RPC- rpcEndpoint -
SKANDHA_MIN_INCLUSION_DENOMINATOR- minInclusionDenominator -
SKANDHA_THROTTLING_SLACK- throttlingSlack -
SKANDHA_BAN_SLACK- banSlack -
SKANDHA_MIN_STAKE- minStake -
SKANDHA_MIN_UNSTAKE_DELAY- minUnstakeDelay -
SKANDHA_RECEIPT_LOOKUP_RANGE- receiptLookupRange -
SKANDHA_ETHERSCAN_API_KEY- etherscanApiKey -
SKANDHA_CONDITIONAL_TRANSACTIONS- conditionalTransactions -
SKANDHA_RPC_SUBMIT- rpcEndpointSubmit -
SKANDHA_GAS_PRICE_MARKUP- gasPriceMarkup -
SKANDHA_ENFORCE_GAS_PRICE- enforceGasPrice -
SKANDHA_ENFORCE_GAS_PRICE_THRESHOLD- enforceGasPriceThreshold -
SKANDHA_EIP2930- eip2930 -
SKANDHA_USEROPS_TTL- useropsTTL -
SKANDHA_WHITELISTED_ENTITIES- whitelistedEntities -
SKANDHA_BUNDLE_GAS_LIMIT_MARKUP- bundleGasLimitMarkup -
SKANDHA_RELAYING_MODE- relayingMode -
SKANDHA_BUNDLE_INTERVAL- bundleInterval -
SKANDHA_BUNDLE_SIZE- bundleSize -
SKANDHA_PVG_MARKUP- pvgMarkup -
SKANDHA_CANONICAL_MEMPOOL_ID- canonicalMempoolId -
SKANDHA_CANONICAL_ENTRY_POINT- canonicalEntryPoint -
SKANDHA_GAS_FEE_IN_SIMULATION- gasFeeInSimulation -
SKANDHA_SKIP_BUNDLE_VALIDATION- skipBundleValidation -
SKANDHA_USER_OP_GAS_LIMIT- userOpGasLimit -
SKANDHA_BUNDLE_GAS_LIMIT- bundleGasLimit -
SKANDHA_MERKLE_API_URL- merkleApiURL -
SKANDHA_KOLIBRI_AUTH_KEY- kolibriAuthKey -
SKANDHA_CGL_MARKUP- cglMarkup -
SKANDHA_VGL_MARKUP- vglMarkup -
SKANDHA_ECHO_AUTH_KEY- echoAuthKey -
SKANDHA_FASTLANE_VALIDATORS- fastlaneValidators -
SKANDHA_ARCHIVE_DURATION- archiveDuration -
SKANDHA_PVG_MARKUP_PERCENT- pvgMarkupPercent -
SKANDHA_CGL_MARKUP_PERCENT- cglMarkupPercent -
SKANDHA_VGL_MARKUP_PERCENT- vglMarkupPercent -
SKANDHA_EIP1559- eip1559 -
SKANDHA_BLOCKSCOUT_URL- blockscoutUrl -
SKANDHA_BLOCKSCOUT_API_KEYS- blockscoutApiKeys