Deploy Smart Contracts on Arbitrum: Deployment, Verification, and Optimization

We deploy smart contracts on Arbitrum taking into account all the peculiarities of Optimistic Rollup. It's an EVM-compatible L2 where most Ethereum contracts work unchanged, but there are critical nuances: from two-component gas to precompiles absent in Ethereum. Let's examine them in practice. M

Blockchain Development Services

Frequently Asked Questions

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1441
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1267
  • image_logo-advance_0.webp
    B2B Advance company logo design
    713
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1003

We deploy smart contracts on Arbitrum taking into account all the peculiarities of Optimistic Rollup. It's an EVM-compatible L2 where most Ethereum contracts work unchanged, but there are critical nuances: from two-component gas to precompiles absent in Ethereum. Let's examine them in practice.

Mistakes at deployment can be costly: gas overruns, incorrect handling of block.number, verification issues. Our experience — over 5 years in blockchain development and 50+ successfully launched contracts on Ethereum and L2. We guarantee your contract will run stably and securely.

Why does deployment on Arbitrum require a special approach?

Gas model — the first pitfall for newcomers. Arbitrum uses two-component gas: L2 execution gas (analogous to Ethereum gas, cheap) and L1 calldata cost (cost of publishing data on Ethereum). tx.gasprice on Arbitrum is not equal to Ethereum — use the ArbGasInfo precompile for accurate calculation. Average gas savings when working with Arbitrum amount to 90% compared to Ethereum — deploying a simple ERC-20 contract on Ethereum costs $150–300, on Arbitrum — $1–5.

Block numbersblock.number returns the L1 Ethereum block number, not the Arbitrum-native one. To get the Arbitrum block number, call ArbSys(0x64).arbBlockNumber(). Contracts with vesting or TWAP that rely on block.number may behave unexpectedly.

Block timestamp — updates with every Arbitrum block (~250 ms), which is faster than Ethereum. If your contract uses time oracles, adjustments are needed.

Which precompiles do you need to know?

Arbitrum adds specific precompile addresses: 0x64 (ArbSys — get L1 block number, send messages), 0x6b (ArbGasInfo — gas pricing), 0x6c (ArbAggregator — info about current aggregator). Use them in code for accurate information. The official Arbitrum Developer Docs describe these interfaces in detail.

How to deploy using Hardhat and Foundry?

Example Hardhat configuration for Arbitrum One:

// hardhat.config.ts networks: { arbitrum: { url: process.env.ARBITRUM_RPC_URL || 'https://arb1.arbitrum.io/rpc', accounts: [process.env.PRIVATE_KEY!], chainId: 42161, }, arbitrumSepolia: { url: 'https://sepolia-rollup.arbitrum.io/rpc', accounts: [process.env.PRIVATE_KEY!], chainId: 421614, }, } 

Deployment and verification via Foundry in one command:

forge create --rpc-url $ARBITRUM_RPC_URL \ --private-key $PRIVATE_KEY \ --etherscan-api-key $ARBISCAN_API_KEY \ --verify \ src/MyContract.sol:MyContract \ --constructor-args arg1 arg2 

Verification on Arbiscan requires a separate API key from arbiscan.io. The mechanism is the same as Etherscan.

Comparison of deployment frameworks

Parameter Hardhat Foundry
Scripting language TypeScript/JavaScript Solidity (natspec)
Compilation speed Medium High (Rust)
Fork integration Hardhat network (built-in) Anvil (separate)
Verification @nomiclabs/hardhat-etherscan plugin --verify flag
Fuzzing Not built-in Built-in (forge fuzz)

Contract verification on Arbiscan

After deployment, always verify the source code. This increases user trust and is necessary for interaction with some DApps. We include verification in the basic service package.

Contract size limitations and optimization

Contract limit is 24 KB, as on Ethereum. Gas on Arbitrum is cheaper, but L1 calldata costs money. Optimize calldata for frequently called functions with large arguments (e.g., data compression or using structs instead of arrays).

Parameter Ethereum L1 Arbitrum
Gas price (average) 20-50 Gwei 0.1-0.5 Gwei (L2 gas)
Calldata cost 16 gas/byte 16 gas/byte L2 + L1 cost
Block time ~12 s ~0.25 s (L2)
block.number L2 block L1 block (via ArbSys - L2)

Bridges and token handling

Canonical Arbitrum bridge for ETH and standard ERC-20s. For custom tokens — registration through the Arbitrum token bridge. If your contract manages a bridge or works with bridged tokens, note: WETH on Arbitrum is not the same address as on Ethereum. We verify compatibility.

How does deployment proceed with our team?

  1. Compatibility analysis of the contract with Arbitrum (gas, block.number, precompiles).
  2. Deployment with verification on Arbiscan (turnkey).
  3. Multisig ownership setup via Safe (optional).
  4. Proxy deployment (UUPS/Transparent) and deployment scripts.
  5. Documentation on deployment and interaction.
  6. Test phase on Arbitrum Sepolia.

We evaluate your project for free — contact us for a consultation.

How do we guarantee quality?

Over 5 years of experience in blockchain development, 50+ successful projects on Ethereum and L2, certified Solidity specialists. We use automated checks (Slither, Mythril) and formal verification of key contracts. We guarantee correct operation after deployment.

Common deployment mistakes

  • Using block.number for timing without adaptation.
  • Ignoring L1 calldata cost in gas estimates.
  • Incorrect WETH address when bridging.
  • Skipping verification on Arbiscan.
  • Failing to check compatibility with custom token bridge.

Estimated timelines

Deployment of a ready contract with verification — a few hours. Full cycle (compatibility audit, multisig setup, deployment scripts) — 1-2 days. Cost is calculated individually for your project.

Order deployment of your contract on Arbitrum — we will do the job with a quality guarantee.