arbitrum

Implements Arbitrum Nitro L2 development including deployment, bridging, and cross-chain messaging.

6|20|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/andresdefi/cryptoskills --skill arbitrum-andresdefi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: arbitrum
Source: https://github.com/andresdefi/cryptoskills/tree/main/skills/arbitrum
Command: npx skills add https://github.com/andresdefi/cryptoskills --skill arbitrum-andresdefi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI models carry stale or incorrect assumptions about Arbitrum — wrong block.number semantics, missing L1 data gas costs, hallucinated contract addresses, and failed Foundry deployments. This Skill provides verified, current knowledge for building on Arbitrum One, Nova, and Orbit chains. ## Core Features & Use Cases - Deployment & Verification: Foundry and Hardhat deployment patterns with the required --legacy flag, plus Arbiscan and Sourcify verification workflows. - Cross-Chain Messaging: Complete L1→L2 retryable ticket flows and L2→L1 Outbox execution, including address aliasing and failed-ticket redemption. - Gas & Precompiles: Two-component gas estimation via NodeInterface, plus ArbSys, ArbGasInfo, and ArbRetryableTx precompile usage. - Use Case: Deploy a contract to Arbitrum One, bridge USDC from Ethereum via the Gateway Router, and send a retryable ticket to trigger L2 logic — all with correct gas estimates and verified contract addresses. ## Quick Start Ask the agent to deploy a contract to Arbitrum Sepolia testnet using Foundry and verify it on Arbiscan.

Frequently Asked Questions about arbitrum

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a contract to Arbitrum with Foundry?

Use forge create or forge script with the --legacy flag, since Arbitrum's sequencer does not accept EIP-1559 type-2 transactions from Foundry. Without --legacy, deployment fails with an opaque RPC error.

How do I bridge ETH or ERC20 tokens from Ethereum to Arbitrum?

Bridge ETH by calling depositEth on the L1 Inbox contract; funds arrive on L2 in about 10 minutes. For ERC20 tokens, approve the token's gateway, then call outboundTransfer on the Gateway Router with gas parameters.

Why does block.number return the wrong value on Arbitrum?

On Arbitrum, block.number returns the L1 Ethereum block number, not the L2 block number. Use the ArbSys precompile at 0x64 and call arbBlockNumber() to get the actual L2 block number.

Why did my Arbitrum gas estimation fail or run out of gas?

Standard eth_estimateGas may not fully account for the L1 data posting cost component. Use NodeInterface.gasEstimateComponents() at 0xC8 for an accurate L1+L2 breakdown, and add a 20-30% buffer for L1 base fee fluctuations.

How long do Arbitrum withdrawals to Ethereum take?

Native bridge withdrawals take approximately 7 days due to the optimistic rollup challenge period. After the period ends, you must manually execute the message on L1 via the Outbox contract; third-party fast bridges offer quicker exits.

Why is msg.sender different when an L1 contract calls my L2 contract?

Arbitrum applies address aliasing: msg.sender on L2 equals the L1 contract address plus the offset 0x1111000000000000000000000000000000001111. Subtract this offset in your L2 contract to recover the original L1 sender.