Contract Size Limit Checker (EIP-170)
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Contract Size Limit Checker (EIP-170) is a developer-focused tool that checks whether a contract's bytecode size complies with the EIP-170 limit of 24,576 bytes. It accepts contract bytecode directly or fetches it from a deployed contract address via eth_getCode. The tool calculates the exact bytecode size in bytes, compares it against the EIP-170 limit, and provides a clear status: within limit, near limit, or exceeds limit. It also displays a visual size meter showing the percentage of the limit used, a breakdown of code vs metadata sections, and the remaining space available. If the contract exceeds the limit, the tool provides actionable recommendations such as enabling optimization, splitting the contract, or using proxy patterns.
HOW TO USE
Connect your wallet to the target EVM chain. Either paste the contract bytecode into the "Contract bytecode" text area, or enter a deployed contract address to fetch its bytecode from the chain. Click "Check size" to analyze the bytecode. The tool will display the bytecode size, EIP-170 limit, remaining space, percentage used, a visual size meter, a breakdown of code and metadata sections, and a bytecode preview. If the contract exceeds the limit, recommendations for reducing the size are provided.
TECHNICAL NOTE: BYTECODE SIZE CALCULATION AND METADATA DETECTION
The tool calculates bytecode size by removing the 0x prefix and dividing the hex string length by 2 to get the number of bytes. It also attempts to detect Solidity metadata sections by searching for the CBOR metadata marker patterns (a264, a165) near the end of the bytecode. When metadata is detected, the tool estimates the metadata size and provides a breakdown of code vs metadata bytes. The tool uses the EIP-170 limit of 24,576 bytes as the reference, which applies to most EVM chains. The size meter visually represents the used percentage with color coding: green (safe), amber (near limit, >90%), and red (over limit).
WHAT IT CANNOT SEE
The tool cannot reduce contract size automatically; it only reports the size and provides recommendations. It cannot detect size issues from source code alone without the compiled bytecode. It cannot analyze contracts with multiple files or dependencies to identify which parts contribute to the size. The tool is limited to the accuracy of bytecode size calculation; it counts all bytes in the hex representation. It cannot detect the difference between runtime bytecode and deployment bytecode. It cannot verify that the contract will deploy successfully on all chains, as some chains may have different size limits or additional constraints. The tool is limited to the EIP-170 limit; it does not check chain-specific variations or the EIP-3860 limit for initcode. It cannot check non-EVM chains.
PLEASE NOTE
This tool is designed exclusively for EVM-compatible chains (Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, Avalanche C-Chain, etc.). It does not support non-EVM blockchains. The EIP-170 limit applies to the runtime bytecode, not the deployment bytecode (initcode). The tool checks the provided bytecode as-is; if the bytecode includes constructor arguments, they are counted as part of the size. Always verify that the bytecode is valid hex and does not include extra data. The tool provides no warranty that the contract will deploy successfully within the limit; users are responsible for testing deployment on their target chains.