What problem does it solve? Deploying audited smart contracts directly to mainnet skips a critical battle-testing phase where real funds are at stake. This Skill guides developers through BattleChain, a ZKSync-based L2 that inserts a live-fire testing stage between testnet and mainnet, where whitehats legally attack contracts under Safe Harbor agreements for bounties. ## Core Features & Use Cases - Deterministic Deployment: Use battlechain-lib helpers (bcDeployCreate, bcDeployCreate2, bcDeployCreate3) to deploy contracts via CreateX or BattleChainDeployer across 190+ EVM chains. - Safe Harbor Agreements: Create and adopt Safe Harbor agreements with correct scope and URI per chain, then request attack mode to enter the battle-testing phase. - Contract Verification: Verify contracts on BattleChain's custom block explorer API using forge verify-contract or the bundled justfile targets (bc-verify, bc-deploy-verify). - Use Case: A DeFi team finishes their audit, deploys their vault contracts to BattleChain testnet (chain 627), creates a Safe Harbor agreement, gets attack mode approved via the permissionless MockRegistryModerator, and lets whitehats probe the contracts before promoting to mainnet. ## Quick Start Install cyfrin/battlechain-lib with forge, then ask the assistant to deploy my Foundry contract to BattleChain testnet and create a Safe Harbor agreement for it.