30. Deploy First Contract on Arbitrum
Overview
Section titled “Overview”The hands-on payoff of the module’s scaling thread: you deploy a contract to Arbitrum, a leading L2. After the conceptual lessons (22, 24), this makes it real — the same Scaffold-ETH workflow from Module 3, pointed at an L2 testnet instead of a local chain. This is the exact skill Lab 4 requires.
Key concepts
Section titled “Key concepts”- Same code, different network — your contract doesn’t change. Arbitrum is EVM-compatible, so you deploy the same bytecode; what changes is the network config, the RPC endpoint, and the gas token you use to pay.
- Configuring the target — deploying to an L2 means pointing your toolchain at the L2’s RPC and chain ID, and funding the deployer account with that network’s testnet ETH from a faucet (Module 1, lesson 07).
- The deploy → verify loop — you deploy, then confirm on the L2’s block explorer (e.g. Arbiscan for Arbitrum): the contract address, the deployment transaction, and, ideally, verified source so others can read it. Verification is what turns “it’s deployed” into “anyone can inspect it.”
- Why an L2 for your app — you get near-mainnet security at a fraction of mainnet’s cost (lessons 22, 24). For a learner or a real product, this is usually the right place to ship.
- Portfolio artifacts — an L2 deployment gives you a real explorer link and address to add to your portfolio, the kind of concrete proof-of-work the course wants you collecting.
Common pitfalls
Section titled “Common pitfalls”- Forgetting to fund the deployer on the L2 testnet specifically. Testnet ETH on one network can’t pay gas on another; you need the right faucet.
- Pointing at the wrong RPC or chain ID and wondering why the deploy lands nowhere you expect.
- Stopping at “deployed” without verifying the source on the explorer, which is what makes the contract readable and trustworthy to others.
- Assuming L2 deployment is harder than mainnet. It’s the same flow with different network settings.
Check yourself
Section titled “Check yourself”- What actually changes when you deploy the same contract to an L2 instead of a local chain?
- Where do you get the ETH to pay for an L2 testnet deployment?
- After deploying, what two or three things should you confirm on the L2’s block explorer?
Watch the Video
Section titled “Watch the Video”
Deploy First Contract on Arbitrum
Video credit: Austin Griffith · Duration: 26 minutes
