# Chain Idiosyncrasies
Differences in chain design inevitably lead to some unique chain-specific considerations. Below are idiosyncrasies we have identified, though it may not be comprehensive and we are interested in hearing if you encounter others.
# config.json - chains field
Gas prices on Avalanche mainnet are often underestimated when getting
estimates (e.g. for the
providerRecommendedGasPrice strategy). The error
manifests as the
maxFeePerGas being set to less than the block
baseFeePerGas, resulting in unfulfilled requests. A solution to this is to set
recommendedGasPriceMultiplier to slightly greater than
Execution costs on Arbitrum are calculated slightly differently than Ethereum,
which impacts the gas required to fulfill requests. To account for this, we
recommend a minimum value of
fulfillmentGasLimit when using both
Arbitrum mainnet and testnet. For more on ArbGas
see here (opens new window).
On the Metis testnet Stardust, though not on the Metis mainnet Andromeda, we
fulfillmentGasLimit of at least
type 0 transaction types is recommended over
type 2 so the use of
providerRecommendedEip1559GasPrice is discouraged.
As a L2 scaling solution, Optimism has an L1 data fee and an L2 execution fee,
accounted for separately (opens new window).
To cover the L1 data fee when a sponsor requests a
withdrawal, an amount has to be subtracted
from the funds returned to the sponsor. The
withdrawalRemainder parameter has
been introduced specifically for this reason, though the value required will
differ between Optimism mainnet and testnet due to differences in L1 gas fees.
For Optimism testnet, a
1 gwei should suffice, while
for Optimism mainnet, a value as high as
2.4 finney (
2400000 gwei) may be
required in order to cover an L1 gas price of
300 gwei and
8000 L1 gas used
by the transaction.