zkSync Era extends the standard EVM precompile set with additional elliptic curve and hashing operations to support advanced cryptographic use cases. This page tracks newly activated precompiles, their addresses, gas schedules, and the specific cryptographic primitives they expose. For protocol teams and library developers, each new precompile represents a shift in the cost and feasibility of on-chain operations like signature verification, zero-knowledge proof validation, and identity-based systems.

New Precompile Integration and Usage Patterns
Introduction
A living reference for developers integrating newly activated cryptographic precompiles on zkSync Era.
Integrating a new precompile requires more than a simple address call. Developers must understand the exact input encoding, the gas metering model—which on zkSync Era is state-diff based rather than purely opcode-priced—and the behavioral differences from equivalent EVM precompiles. A precompile that is cheap on Ethereum may have a different cost profile on zkSync Era due to the underlying circuit constraints and proof generation overhead. Calling patterns that are gas-efficient in Solidity may need to be restructured in Yul to minimize state diffs and reduce overall transaction cost.
This guide provides secure, tested calling patterns from both Solidity and Yul, benchmarks gas consumption for common operations, and flags integration risks such as silent failure modes or malformed input handling. Teams deploying contracts that depend on these precompiles should conduct a precompile integration review to verify correct encoding, gas budgeting, and fallback behavior. Chainscore Labs can perform targeted audits of precompile-dependent contract logic and gas profiling to ensure deployments are both secure and cost-optimized.
Precompile Quick Facts
A quick-reference table for protocol teams and library developers evaluating the operational impact of newly activated precompiles on zkSync Era.
| Area | What changes | Who is affected | Action |
|---|---|---|---|
Address Assignment | A new precompile is assigned a specific address, potentially colliding with a known address on Ethereum mainnet. | Smart contract developers, library maintainers | Verify the canonical address against the latest ZIP and system contract release. Do not assume mainnet equivalence. |
Gas Metering | The precompile introduces a new gas cost model that differs from standard EVM opcodes, based on circuit complexity. | Wallet teams, dApp developers, paymaster operators | Update gas estimation logic to account for the precompile's specific cost function. Benchmark against state-diff based pricing. |
Circuit Compatibility | The precompile's underlying circuit is added to the prover, requiring an update to the ZK Stack's cryptographic backend. | Prover operators, ZK Stack integrators | Ensure the prover version supports the new circuit before the activation block. Monitor for proof generation failures. |
Solidity Interface | A new interface or library is required to call the precompile via | Smart contract developers, security auditors | Use the canonical interface from the zkSync Era documentation. Review input encoding for off-by-one errors and ABI mismatches. |
Yul/Assembly Usage | Calling the precompile from Yul or inline assembly requires specific memory layout and gas stipend handling. | Protocol engineers, gas-optimization teams | Validate assembly blocks against the precompile's formal specification. Test for memory corruption and out-of-gas scenarios. |
L1-L2 Bridge Interaction | A precompile used in a bridge context (e.g., for message verification) may alter the trust assumptions of the canonical bridge. | Bridge operators, cross-chain dApp teams | Review the precompile's role in the bridge's proof verification. Assess if a new trust assumption is introduced. |
Indexing and Analytics | Calls to the new precompile generate specific traces and events that indexing pipelines must decode. | Data teams, block explorer operators | Update ETL pipelines to parse and label precompile calls. Verify trace decoding for nested |
Security Review | A new cryptographic precompile expands the attack surface for integration-level vulnerabilities. | Security auditors, risk teams | Conduct a focused review of contracts interacting with the precompile, paying attention to input validation, replay risks, and error handling. |
Technical Mechanism and Calling Architecture
How new precompiles are activated on zkSync Era and the secure, gas-efficient calling patterns for developers.
New precompiles on zkSync Era are activated through system contract upgrades, typically as part of a scheduled network upgrade or a specific ZIP (ZKsync Improvement Proposal). Unlike Ethereum, where precompiles are defined at the protocol level and activated via hard forks, zkSync Era's zkEVM implements precompiled contracts at designated addresses within the system contract space. The activation is governed by the ZKsync governance system, with the Security Council and Guardians holding the authority to execute the upgrade that deploys or activates a new precompile contract. Developers must monitor ZIPs and the SystemContractHelper interface for new precompile addresses and ABI definitions.
Calling a precompile from a high-level language like Solidity or Yul requires strict adherence to the staticcall convention. Precompiles are read-only and do not modify state; any attempt to use call or delegatecall will revert. The standard integration pattern involves using a Solidity interface or a low-level staticcall assembly block, forwarding the exact ABI-encoded input and decoding the returned bytes. For gas optimization, developers should benchmark the precompile's cost against equivalent EVM implementations, as zkSync Era's state-diff based pricing model charges for the computational cost of the precompile's circuit execution, which can differ significantly from Ethereum's fixed precompile gas schedules.
Protocol teams integrating new cryptographic precompiles, such as those for P256 or secp256r1 curve operations, must also consider the broader system contract context. The ContractDeployer and NonceHolder system contracts do not interact with precompiles directly, but factory contracts that deploy new account abstractions may use precompiles for signature validation within the IAccount interface. A security review of the calling pattern is critical to prevent edge cases where a failed precompile call is not correctly handled, potentially leading to a locked account or a denial-of-service vector. Chainscore Labs provides precompile integration review and gas benchmarking to ensure secure and cost-effective usage.
Affected Actors and Impact
Core Impact
New precompiles alter the cost and security model for on-chain cryptographic operations. Teams maintaining ECDSA, BLS, or hash-based libraries must decide whether to migrate internal functions to native precompiles or maintain fallback paths for environments where the precompile is not yet active.
Required Actions
- Benchmark new precompile gas costs against existing Solidity/Yul implementations.
- Update library interfaces to accept precompile addresses as configurable parameters.
- Verify that precompile call patterns do not introduce silent reverts on older blocks.
- Audit interaction between precompile calls and the state-diff gas model.
Chainscore Labs can perform gas benchmarking and integration review for library upgrades targeting new precompiles.
Integration Workflow and Patterns
A structured workflow for integrating newly activated precompiles on zkSync Era, from discovery and gas benchmarking to secure implementation and production monitoring.
Precompile Discovery and Capability Assessment
Monitor canonical ZIPs and the zkSync system contract repository for new precompile addresses. Verify the exact ABI, gas schedule, and supported elliptic curves or hash functions against the formal specification. Do not assume behavioral parity with Ethereum mainnet precompiles; zkEVM implementations may differ in edge-case handling or input validation. Library developers should abstract precompile calls behind a versioned interface to simplify future migrations.
Secure Calling Patterns in Solidity and Yul
Use staticcall for precompiles that perform pure computation to prevent unexpected state modifications. In Yul, validate the return data size before decoding to avoid out-of-bounds access. For precompiles with variable gas costs, implement a gas buffer to prevent out-of-gas reverts during high-computation inputs. Always validate precompile return values; a successful call does not guarantee a valid cryptographic result. Chainscore can review your integration for these failure modes.
Gas Benchmarking and State-Diff Cost Modeling
New precompiles introduce unique gas profiles that interact with zkSync Era's state-diff based pricing model. Benchmark precompile calls across a range of input sizes to map the relationship between computational cost and L2 gas charged. Account for the pubdata cost if precompile results are emitted in event logs or stored in state. Teams should build a cost model before integrating precompiles into high-throughput dApps to avoid unpredictable transaction fees.
Cross-Compiler Compatibility Verification
Test precompile integration across both zksolc and solc compilation paths if your codebase targets multi-chain deployment. Inline assembly wrappers for precompiles may behave differently under the LLVM-IR pipeline. Verify that the precompile address is correctly resolved and that the staticcall gas forwarding logic is preserved. Chainscore provides cross-compiler compatibility audits for teams deploying precompile-dependent libraries on zkSync Era.
Account Abstraction Interaction Testing
Precompile calls originating from custom account contracts (IAccount) or paymasters execute in a constrained context. Test that precompile gas consumption is correctly accounted for in the validation phase, where the gas limit is strictly bounded. Ensure paymaster postOp logic does not inadvertently rely on precompile return data that may be invalidated by the outer transaction context. Wallet and paymaster teams need AA-specific precompile integration testing.
Production Monitoring and Circuit Upgrade Readiness
Monitor the ZK Stack prover releases for circuit changes that may alter precompile gas costs or supported curves. Set up alerts on precompile call reverts and unexpected gas spikes in production. Maintain a registry of deployed contracts that depend on specific precompile versions. Chainscore can help establish a monitoring framework and upgrade readiness plan for protocol teams with critical precompile dependencies.
Integration Risk Matrix
Evaluates the integration risks, affected actors, and required actions when a new cryptographic precompile is activated on zkSync Era.
| Area | What changes | Who is affected | Action |
|---|---|---|---|
Gas Cost Model | New precompile introduces a fixed gas cost that may be cheaper or more expensive than an equivalent EVM or Yul implementation. | dApp developers, wallet teams | Benchmark gas costs against existing Solidity/Yul libraries and update gas estimation logic. |
Contract Bytecode | Contracts using the new precompile become incompatible with other EVM chains and older zkSync Era versions. | Multi-chain dApp teams, library developers | Implement version-gated compilation or deploy separate contract instances for zkSync Era. |
Compiler Support | The | CI/CD pipeline maintainers, security auditors | Update to the minimum required |
Address Collision | The precompile's address could collide with a previously deployed contract on zkSync Era. | Protocol architects, deployment tooling teams | Audit the precompile address space against existing deployments and system contracts. |
Audit Assumptions | Existing security audits may assume a specific gas profile or execution context that the precompile alters. | Security auditors, protocol risk teams | Trigger a targeted re-audit of any contract path that will integrate the new precompile. |
Wallet Integration | Wallets must correctly simulate and display transactions interacting with the new precompile address. | Wallet developers, transaction simulation services | Update simulation engines to recognize the precompile and display a human-readable transaction description. |
Indexing and Analytics | Indexers must decode calls to the new precompile address to provide meaningful analytics and event data. | Data teams, block explorer operators | Update ETL pipelines and ABI decoders to parse precompile interactions correctly. |
Bridge and L1 Messaging | Using a new precompile in an L1→L2 transaction context may have undocumented gas or execution limits. | Bridge operators, cross-chain dApp teams | Verify the precompile's behavior within the |
Developer Integration Checklist
A practical checklist for protocol teams and library developers integrating newly activated precompiles on zkSync Era. Each item identifies a critical verification step, the operational risk it mitigates, and the signal that confirms readiness for production deployment.
Confirm that the target precompile is active on the specific zkSync Era network you are deploying to (mainnet, testnet, or local node). Precompile addresses and activation blocks can differ from Ethereum mainnet.
- What to check: Query the canonical precompile address against the zkSync Era system contract registry or the official ZK Stack specification for the current protocol version.
- Why it matters: Calling an inactive or incorrect address will either revert silently or execute unintended fallback logic, potentially causing fund loss or state corruption.
- Readiness signal: A test call to the precompile with known inputs returns the expected output and does not revert.
Canonical Resources
Canonical resources for teams integrating newly available zkSync Era precompiles. Use these sources to verify activation status, address-level behavior, compiler assumptions, and production transaction evidence before shipping Solidity, Yul, wallet, bridge, or library changes.
Looking to build on a specific blockchain?
We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.
EVM ecosystems
- Ethereum
- Arbitrum
- Optimism
- Polygon
- Avalanche
- Cronos

Non-EVM ecosystems
- Solana
- Sui
- Aptos
- Hedera
- Stellar
- NEAR
Additional ecosystems
- Polkadot
- Cosmos
- TON
- Cardano
- Algorand
- Tempo
Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.
Frequently Asked Questions
Common questions from protocol teams and library developers integrating newly activated precompiles on zkSync Era.
Do not rely on static address lists. Query the system contract that governs precompile availability or check the protocol upgrade's ZIP specification for the activation gate.
What to check:
- The canonical
PRECOMPILE_IMPLEMENTATIONaddress for the target operation. - Whether the precompile is gated behind a protocol version check in the
ContractDeployerorSystemContext.
Why it matters: Calling an inactive or future precompile address will revert or return unexpected data, leading to silent failures in production.
Readiness signal: A successful staticcall to the precompile address on the target network (testnet first) with a known input vector that returns the expected output.
Delivering blockchain solutions for 5+ years.
We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.
Selected Partners & Clients
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
How to get started?
If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.
Exploration & Strategy
Define your product goals and choose the right blockchain architecture for your use case.
Architecture & Design
Design the smart contracts, tokenomics, and security parameters of your system.
Development & Integration
Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.
Security & Launch
Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.
Discover our
blockchain development services.
We build production-grade blockchain solutions for top-tier projects across DeFi and Web3.
Need a blockchain engineering team?
Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.


