-
Notifications
You must be signed in to change notification settings - Fork 60
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 ifbeneficiary
param 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:4
userops) -
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:86400
in 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