Precompile Availability Checker Per Chain
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
Precompile Availability Checker Per Chain analyzes smart contract bytecode to detect precompile calls—special contract-like addresses in the range 0x01-0x09 and beyond—and generates a comprehensive availability assessment across multiple EVM chains. It retrieves on-chain contract bytecode via eth_getCode and fetches verified source code and ABI from block explorer APIs. The tool performs opcode-level scanning for STATICCALL and CALL opcodes that reference precompile addresses, detecting usage of standard precompiles including ecrecover (0x01), sha256 (0x02), ripemd160 (0x03), identity (0x04), modExp (0x05), altBN128_add (0x06), altBN128_mul (0x07), altBN128_pairing (0x08), blake2f (0x09), and others. It then cross-references detected precompile usage against a built-in database of network-specific precompile availability for Ethereum Mainnet, Optimism, BNB Chain, Gnosis, Polygon, Arbitrum, Base, and other EVM chains. The output includes an overall availability score, a count of detected precompiles, critical mismatches, a visual matrix with precompiles as rows and target chains as columns with status indicators (available, unavailable, unknown), and actionable recommendations for avoiding unsupported precompiles or using alternative implementations.
HOW TO USE
Connect your BGWallet to the target EVM chain. Paste the address of the contract you wish to analyze. Select the target chains you plan to deploy to using the chip selector—you can choose multiple chains to generate a comprehensive cross-chain precompile availability assessment. Optionally supply a GitHub repository URL to pull compiler version information and precompile implementation notes for additional context. The tool fetches the contract's bytecode, performs opcode disassembly to detect precompile calls, and builds an availability matrix against the selected target chains. Review the overall availability score, the visual matrix, critical mismatches, and the list of recommendations. Use the assessment to identify chains that may not support the precompiles your contract relies on, and plan your deployment strategy accordingly—for example, by avoiding unsupported precompiles, using alternative implementations, or deploying to chains with full precompile support.
PRECOMPILE CALL DETECTION AND CHAIN AVAILABILITY MAPPING ENGINE
The real technical mechanism is the precompile call detection and chain availability mapping engine that combines bytecode analysis with a curated database of network-specific precompile implementations. The tool disassembles the deployed bytecode into its constituent opcodes and scans for CALL and STATICCALL opcodes that have addresses in the precompile range (0x01 through 0x09 and extended ranges). It extracts the address being called and maps it to known precompile identifiers: 0x01 (ecrecover), 0x02 (sha256), 0x03 (ripemd160), 0x04 (identity), 0x05 (modExp), 0x06-0x08 (BN128 elliptic curve operations), 0x09 (blake2f), and address ranges 0x0a-0x0f for chain-specific or future precompiles. For each detected precompile, the engine cross-references a built-in metadata database that tracks precompile availability across major EVM chains—Ethereum Mainnet supports all standard precompiles, while some chains may lack support for certain precompiles (e.g., blake2f on some L2s). The database is versioned and can be updated as networks add support for new precompiles or implement custom ones. The tool also distinguishes between direct precompile calls and calls to addresses that happen to fall in the precompile range but may be used for other purposes, using additional context from the ABI and source code when available. The final output includes a weighted availability score—100% if all detected precompiles are available on all target chains, with penalties for precompiles that are unavailable or have unknown status. This approach provides developers with a clear, actionable view of cross-chain precompile compatibility risks before deployment, preventing runtime failures caused by unsupported precompiles.
WHAT IT CANNOT SEE
This tool cannot generate a complete precompile availability assessment without access to contract bytecode or source code. It is limited by your RPC provider's rate limits for bytecode retrieval, which may delay analysis on congested networks. It cannot determine if precompile calls are actually executed at runtime versus merely present in bytecode—some calls may be in unreachable code paths, but the tool flags them regardless. The detection relies on the completeness of the ABI and source code verification; unverified contracts or incomplete verification data will produce incomplete or inaccurate results. Detection is based on bytecode pattern matching and may miss obfuscated or indirect usages, such as precompile calls made via DELEGATECALL or through inline assembly that obscures the address. The tool cannot assess runtime behavior or performance implications of precompile compatibility, such as gas cost differences between chains that implement precompiles differently. It may produce false positives for addresses that happen to match precompile ranges but are used for other purposes, such as regular contract addresses in the precompile range on non-standard chains. The tool does not execute the contract to validate compatibility, so it cannot confirm whether precompile calls would succeed or revert on each target chain. It cannot account for network-specific precompile differences or future additions—some chains may add custom precompiles or implement standard ones differently. Precompile support status may vary across chains and change over time as networks upgrade their EVM implementations.
PLEASE NOTE
This tool works exclusively with EVM-compatible chains. It requires active internet connectivity to access block explorer APIs and RPC endpoints. Some block explorers may require API keys for high-volume bytecode retrieval. The tool is read-only and does not modify or deploy any code—it only produces compatibility assessments. Precompile availability varies by chain; always verify compatibility against official network documentation and test on target chains before production deployment. Some chains may implement precompiles with different gas costs or behavior than Ethereum Mainnet.