What problem does it solve? Developing on zkSync Era differs significantly from standard Ethereum: contracts compile to zkEVM bytecode via zksolc, CREATE2 address derivation includes constructor input hashes, all accounts are smart accounts, gas includes L1 pubdata costs, and opcodes like SELFDESTRUCT and EXTCODECOPY behave differently. This Skill prevents costly mistakes caused by applying Ethereum assumptions to zkSync. ## Core Features & Use Cases - ZK-Specific Deployment: Deploy contracts with hardhat-zksync or foundry-zksync, including correct CREATE2 address computation and contract verification. - Native Account Abstraction & Paymasters: Implement custom IAccount smart accounts (e.g., multi-sig) and General or Approval-Based paymasters for gasless or ERC-20-paid transactions. - Bridging & System Contracts: Handle L1-L2 ETH/ERC-20 deposits, withdrawal finalization, L2-to-L1 messaging, and interaction with system contracts like ContractDeployer and NonceHolder. - Use Case: A developer porting an Ethereum dApp to zkSync uses this Skill to fix CREATE2 factory address mismatches, add a paymaster so users pay gas in USDC, and bridge test ETH via the canonical bridge. ## Quick Start Ask the agent to deploy a Solidity contract to zkSync Sepolia testnet using hardhat-zksync and verify it on the explorer.