Solia saysPrecompiles are pseudo-contracts at addresses 0x01-0x09 that expose expensive primitives (ecrecover, modexp, pairings) at gas costs the EVM could not afford to implement in bytecode.
Precompiles are special addresses that execute native code instead of EVM bytecode. They exist because primitives like ecrecover or BN254 pairings are far too expensive to run as Solidity — they need native crypto. The fixed addresses 0x01-0x09 cover signature recovery, hashes (SHA-256, RIPEMD-160), identity (memcpy), modular exponentiation, elliptic-curve add/mul, pairings, and BLAKE2.
You invoke them like any other contract — usually via staticcall or assembly. Gas costs are bespoke: ecrecover is 3,000 flat, modexp depends on input sizes, pairings cost 100,000+ per pairing. Knowing which precompile exists is the difference between an unwritable contract and a one-line call.
Power-ups you unlock
Pseudo-contracts at 0x01-0x09 with native implementations