# Arbitrum Documentation > Official documentation for the Arbitrum ecosystem: building apps, bridging tokens, running nodes, launching Arbitrum chains, and developing with Stylus. - [Arbitrum Documentation](/index.md) ## arbitrum-bridge - [Arbitrum bridge transaction traceability](/arbitrum-bridge/bridge-transaction-traceability.md): Learn how to trace transactions happening through the Arbitrum bridge - [Arbitrum embedded bridge widget](/arbitrum-bridge/embedded-bridge-widget.md): Learn how to integrate and configure the Arbitrum bridge widget in your dApp - [Quickstart: Arbitrum bridge](/arbitrum-bridge/quickstart.md): Learn how to use Arbitrum's bridge to transfer ETH or ERC-20 tokens between a parent chain and a child chain - [Troubleshooting: Arbitrum bridge](/arbitrum-bridge/troubleshooting.md): List of questions and answers frequently asked by users - [USDC on Arbitrum One](/arbitrum-bridge/usdc-arbitrum-one.md): Learn about the two different types of USDC supported by Arbitrum One: Arbitrum-Native USDC and Bridged (from Ethereum) USDC ## arbitrum-essentials - [Arbitrum essentials](/arbitrum-essentials.md): Core, language-agnostic guidance for building on Arbitrum — bridging, oracles, precompiles, the NodeInterface, RPC and provider references, networks, gas, and how Arbitrum differs from Ethereum. Applies whether you write contracts in Solidity or Stylus. - [Block gas limit, numbers and time](/arbitrum-essentials/arbitrum-vs-ethereum/block-numbers-and-time.md): Understand how Arbitrum handles block gas limits, block numbers, and transaction timing differently from Ethereum. Learn about parent chain gas components and block.number behavior on Arbitrum. - [Differences between Arbitrum and Ethereum: Overview](/arbitrum-essentials/arbitrum-vs-ethereum/comparison-overview.md): Explore the key differences between Arbitrum and Ethereum, including state transition functions, EVM compatibility, gas handling, and block production. Understand what changes when deploying Ethereum dApps to Arbitrum. - [Nonce management](/arbitrum-essentials/arbitrum-vs-ethereum/nonce-management.md): Understand how Arbitrum handles transaction nonces differently from Ethereum. Arbitrum's sequencer keeps only a short retry window for out-of-order nonces instead of a long-lived pending pool, so concurrent submitters must coordinate nonce allocation. - [RPC methods](/arbitrum-essentials/arbitrum-vs-ethereum/rpc-methods.md): Compare Arbitrum and Ethereum RPC method responses, including additional transaction types, fields, and blocks returned by Arbitrum nodes. Covers eth_getTransactionByHash, eth_getBlockByHash, and other JSON-RPC methods. - [Solidity support](/arbitrum-essentials/arbitrum-vs-ethereum/solidity-support.md): Learn how Solidity behaves differently on Arbitrum compared to Ethereum, including blockhash, block.coinbase, block.number, msg.sender, and other EVM opcode differences for smart contract developers. - [Configure custom gateway bridging](/arbitrum-essentials/bridging/configure-token-gateway/custom.md): Guide to creating and deploying a custom gateway for specialized token bridging between Ethereum and Arbitrum. For advanced use cases not covered by the standard or generic-custom gateways. - [Configure generic-custom gateway bridging](/arbitrum-essentials/bridging/configure-token-gateway/generic-custom.md): Guide to configuring Arbitrum's generic-custom gateway for token bridging with custom child chain token functionality. Enables custom ERC-20 behavior while using Arbitrum's built-in bridge infrastructure. - [Configure standard gateway bridging](/arbitrum-essentials/bridging/configure-token-gateway/standard.md): Guide to configuring ERC-20 token bridging using Arbitrum's standard gateway, which automatically creates a standard token representation on the child chain with no custom configuration required. - [Cross-chain messaging](/arbitrum-essentials/bridging/cross-chain-messaging.md): Learn how to send cross-chain messages between Ethereum and Arbitrum using retryable tickets, the ArbSys precompile, and the Outbox contract. Includes a complete Greeter tutorial demonstrating both parent-to-child and child-to-parent messaging. - [SDK support for custom gas token Arbitrum chains](/arbitrum-essentials/bridging/custom-gas-token-chains.md): Guide to using the Arbitrum SDK for custom gas token chains, including APIs for ERC-20 deposits, withdrawals, and bridging on Arbitrum chains configured with non-ETH gas tokens. - [How to bridge from parent chain to child chain](/arbitrum-essentials/bridging/deposit/eth-and-messages.md): Step-by-step guide to programmatically bridge ETH and send messages from Ethereum to an Arbitrum using retryable tickets and the Inbox contract. - [Deposit tokens to Arbitrum](/arbitrum-essentials/bridging/deposit/tokens.md): Step-by-step guide to depositing ERC-20 tokens from Ethereum (parent chain) to an Arbitrum child chain using the token bridge gateway system and Arbitrum SDK. - [Bridge tokens from L1 to an Arbitrum L3](/arbitrum-essentials/bridging/l1-l3-teleportation.md): Learn how to bridge ERC-20 tokens and ETH from Ethereum (L1) directly to an Arbitrum L3 chain using the Arbitrum SDK teleport feature, requiring only a single user transaction. - [Bridging overview](/arbitrum-essentials/bridging/overview.md): Choose the right approach for bridging assets and messages between Ethereum and Arbitrum. - [How to bridge from child chain to parent chain](/arbitrum-essentials/bridging/withdraw/eth-and-messages.md): Step-by-step guide to programmatically withdraw ETH and send messages from an Arbitrum child chain to Ethereum using ArbSys and the Outbox contract. - [Withdraw tokens to parent chain](/arbitrum-essentials/bridging/withdraw/tokens.md): Step-by-step guide to withdrawing ERC-20 tokens from an Arbitrum child chain back to Ethereum (parent chain) using the token bridge gateway system, including the 6.4-day challenge period. - [How to estimate gas in Arbitrum](/arbitrum-essentials/how-to-estimate-gas.md): Learn how to estimate gas costs on Arbitrum using eth_estimateGas, NodeInterface.gasEstimateComponents(), and the Arbitrum SDK. Covers the two-component fee model with L1 data costs and L2 execution costs. - [NodeInterface overview](/arbitrum-essentials/nodeinterface/overview.md): Overview of Arbitrum's NodeInterface, a virtual contract at address 0xc8 accessible only via RPCs. Provides gas estimation, proof construction, and other node-level utilities not available onchain. - [NodeInterface reference](/arbitrum-essentials/nodeinterface/reference.md): Complete API reference for Arbitrum's NodeInterface contract methods, including gas estimation, retryable ticket helpers, and outbox proof construction. Available at address 0xc8 via RPC calls only. - [Oracles](/arbitrum-essentials/oracles/overview-oracles.md): Overview of blockchain oracles on Arbitrum — external data providers that supply offchain data to smart contracts. Learn how oracles work, their trust models, and available providers on Arbitrum. - [Precompiles overview](/arbitrum-essentials/precompiles/overview.md): Overview of Arbitrum precompiled contracts — predefined smart contracts executed natively by the Arbitrum client for optimized performance. Covers both Ethereum-standard and Arbitrum-specific precompiles. - [Precompiles reference](/arbitrum-essentials/precompiles/reference.md): Complete reference for all Arbitrum precompiled contracts, including ArbSys, ArbRetryableTx, ArbGasInfo, ArbAggregator, and more. Lists methods, addresses, Solidity interfaces, and Go implementations. - [Arbitrum chains overview](/arbitrum-essentials/public-chains.md): Overview of Arbitrum's public chains including Arbitrum One (Rollup), Arbitrum Nova (AnyTrust), and available testnets. Compare chain features, technology stacks, and use cases for each network. - [Chain parameters](/arbitrum-essentials/reference/chain-params.md): Reference of key system parameters for Arbitrum One and Arbitrum Nova, including chain IDs, block times, gas settings, and confirmation thresholds for public Arbitrum chains. - [Smart contract addresses](/arbitrum-essentials/reference/contract-addresses.md): Complete list of deployed Arbitrum smart contract addresses across Arbitrum One, Arbitrum Nova, and testnets. Includes core protocol contracts, token bridge contracts, and governance contracts. - [Debugging tools](/arbitrum-essentials/reference/debugging-tools.md): Overview of debugging tools for Arbitrum dApp development, including Tenderly and other platforms for transaction simulation, tracing, and smart contract debugging on Arbitrum chains. - [Development frameworks](/arbitrum-essentials/reference/development-frameworks.md): Overview of development frameworks compatible with Arbitrum, including Hardhat, Foundry, and other tools for building, testing, and deploying smart contracts on Arbitrum chains. - [Arbitrum: Understanding the risks](/arbitrum-essentials/reference/mainnet-risks.md): Understand the risks of deploying on Arbitrum mainnet, including the state of progressive decentralization, smart contract upgrade mechanisms, and trust assumptions for Arbitrum One and Nova. - [Monitoring tools and block explorers](/arbitrum-essentials/reference/monitoring-tools-block-explorers.md): List of monitoring tools and block explorers for Arbitrum, including Arbiscan, Dune Analytics, and other platforms for tracking transactions, contracts, and network activity on Arbitrum chains. - [RPC endpoints and providers](/arbitrum-essentials/reference/node-providers.md): List of RPC endpoints and third-party node providers for Arbitrum One, Arbitrum Nova, and Arbitrum testnets. Find public and premium endpoints for connecting your dApp to Arbitrum networks. - [Web3 libraries and tools](/arbitrum-essentials/reference/web3-libraries-tools.md): Overview of Web3 libraries and tools for interacting with Arbitrum, including ethers.js, web3.js, viem, and other client libraries for building decentralized applications. ## audit-reports - [Security audit reports](/audit-reports.md): A comprehensive list of security audits conducted on Arbitrum protocol components, including Nitro, BoLD, Stylus, and related smart contracts. ## build-decentralized-apps - [Machine Payments Protocol (MPP)](/build-decentralized-apps/machine-payments-protocol.md): This quickstart shows you how to implement the Machine Payments Protocol (MPP) on Arbitrum. - [Create a token using Foundry (Quickstart)](/build-decentralized-apps/quickstart-create-a-token.md): This quickstart walks you through the process of how to setup the Foundry environment, and create a token on Arbitrum. - [Build a decentralized app with Solidity (Quickstart)](/build-decentralized-apps/quickstart-solidity-remix.md): Learn how to build and deploy your first Solidity smart contract on Arbitrum using Remix IDE. This beginner-friendly quickstart guides you from a JavaScript vending machine to a decentralized app deployed on Arbitrum One, covering smart contract basics, wallet setup, and testnet deployment. ## for-devs - [Contribute docs](/for-devs/contribute.md): Learn how to contribute to Arbitrum's open-source documentation. - [Arbitrum chain information](/for-devs/dev-tools-and-resources/chain-info.md): Chains information Arbitrum - [API3](/for-devs/oracles/api3.md): Learn how to query a price feed for your smart contract. - [Chainlink](/for-devs/oracles/chainlink.md): Learn how to integrate oracles into your Arbitrum app - [Chronicle](/for-devs/oracles/chronicle.md): Learn how to integrate oracles into your Arbitrum app - [DIA](/for-devs/oracles/DIA.md): Learn how to integrate DIA oracles into your Arbitrum app - [ORA](/for-devs/oracles/ora.md): Learn how to use ORA Onchain AI Oracle - [Oracles providers](/for-devs/oracles/oracles-content-map.md): Overview of oracle providers available on Arbitrum, including API3, Chainlink, Chronicle, and more. - [Supra, price feed oracle](/for-devs/oracles/supra/supras-price-feed.md): Learn how to use Supra price feed oracle - [Supra, VRF](/for-devs/oracles/supra/supras-vrf.md): Learn how to use Supra VRF - [Trellor](/for-devs/oracles/trellor.md): Learn how to integrate oracles into your Arbitrum app - [Circle Paymaster quickstart](/for-devs/third-party-docs/Circle/usdc-paymaster-quickstart.md): Learn how to integrate with Circle paymaster. - [USDC quick start guide](/for-devs/third-party-docs/Circle/usdc-quickstart-guide.md): Learn how to integrate USDC into your application using the Arbitrum network. - [Codex Quickstart - DeFi Data API for Arbitrum](/for-devs/third-party-docs/Codex.md): Learn how to use the Codex GraphQL API to access real-time and historical DeFi data on Arbitrum, including token prices, DEX trades, liquidity pools, and wallet analytics. - [Contribute third-party docs](/for-devs/third-party-docs/contribute.md): Discover how to contribute third-party resources to Arbitrum's documentation. Share your expertise and help expand the largest Ethereum Layer 2 developer ecosystem. - [Quickstart - Covalent Indexing and Querying API](/for-devs/third-party-docs/Covalent.md): Learn how to use the Covalent APIs to access Arbitrum One, Nova and Arbitrum chain data including balances, transactions, NFTs, DEX and core blockchain data. - [How to deploy an NFT smart contract and enable credit card and cross-chain payments with no-code](/for-devs/third-party-docs/Crossmint.md): Learn how to use Crossmint to create and deploy NFT contracts and enable credit card and cross-chain payments for your customers and users. - [Quickstart: Blazing-fast indexing and data analytics using Envio](/for-devs/third-party-docs/Envio.md): Learn how to create an API for your smart contracts in less than 3 minutes and index Arbitrum data 100x faster than RPC - [Quickstart: Indexing Arbitrum custom data via Flair](/for-devs/third-party-docs/Flair.md): Real-time and historical custom data indexing for any evm chain. - [Getting Started with Gelato VRF](/for-devs/third-party-docs/Gelato/gelato-vrf.md): Learn how to use Gelato VRF - [LayerZero](/for-devs/third-party-docs/LayerZero.md): Omnichain interoperability protocol enabling secure cross-chain communication for Arbitrum applications. Connect to 100+ blockchains, send messages, and deploy omnichain tokens. - [MetaMask Smart Accounts](/for-devs/third-party-docs/MetaMask.md): Learn about MetaMask Smart Accounts and how to use them with Arbitrum - [Moralis Quickstart - Crypto Data APIs for Arbitrum](/for-devs/third-party-docs/Moralis.md): Learn how to use Moralis APIs to get data about wallets, tokens, NFTs, prices and more on Arbitrum. - [OKX - Crypto exchange, app, and wallet](/for-devs/third-party-docs/OKX.md): Learn how to use OKX. - [How to onboard users and make a sponsored transaction](/for-devs/third-party-docs/Openfort.md): Learn how to use Openfort to integrate wallets into your project on Arbitrum - [How to make your Arbitrum dApp chain-agnostic with Universal Accounts](/for-devs/third-party-docs/Particle.md): Guide covering the process of leveraging Particle Network's Universal Accounts SDK to accept deposits from any chain and interact cross-chain. - [QuickNode Backfill Templates](/for-devs/third-party-docs/QuickNode/backfill-templates.md): Learn about QuickNode's Backfill Templates, a tool that simplifies the process of retrieving historical blockchain data. - [Reactive Network](/for-devs/third-party-docs/Reactive.md): Learn how to use the Reactive Network to create reactive dApps - [Reown (prev. known as WalletConnect](/for-devs/third-party-docs/Reown.md): Reown gives developers the tools to build user experiences that make digital ownership effortless, intuitive, and secure. - [The Graph: index and query Arbitrum data](/for-devs/third-party-docs/TheGraph.md): Learn how to use The Graph to index and query smart contract data on Arbitrum using subgraphs and GraphQL. - [Venly Tools <> Arbitrum](/for-devs/third-party-docs/Venly.md): Venly Tools stand on three pillars: Digital Wallets, Digital Assets, and Payments - [What is the Webacy Risk Data Network?](/for-devs/third-party-docs/Webacy.md): Learn about the Webacy Risk Data Network, and how you can use it in your products. - [Quickstart - Zerion API for Arbitrum](/for-devs/third-party-docs/Zerion.md): Learn how to use the Zerion API to access wallet portfolios, token balances, DeFi positions, transactions, and NFT data on Arbitrum. - [ZeroDev Smart Account Integration Guide for Arbitrum](/for-devs/third-party-docs/ZeroDev/zero-dev.md): Learn about integrating smart accounts for Arbitrum and account abstraction. - [Troubleshooting: Building Arbitrum dApps](/for-devs/troubleshooting-building.md): List of questions and answers frequently asked by developers ## get-started - [Arbitrum introduction](/get-started/arbitrum-introduction.md): Frequently asked questions about Arbitrum, a finance-native blockchain platform. ## how-arbitrum-works - [Economics of Disputes in Arbitrum BoLD](/how-arbitrum-works/bold/bold-economics-of-disputes.md): An in-depth explanation on BoLD economic mechanisms. - [BoLD: a technical deep dive](/how-arbitrum-works/bold/bold-technical-deep-dive.md): A technical deep dive into the BoLD protocol. - [Overview of BoLD](/how-arbitrum-works/bold/gentle-introduction.md): An educational introduction that provides a high-level understanding of BoLD, a new dispute protocol to enable permissionless validation for Arbitrum chains. - [How BoLD bisection works](/how-arbitrum-works/bold/how-bold-bisection-works.md): Interactive visualization of the BoLD edge challenge flow, replaying real onchain events from Arbitrum Sepolia. - [AnyTrust Protocol](/how-arbitrum-works/deep-dives/anytrust-protocol.md): Learn the fundamentals of the Arbitrum AnyTrust protocol. - [ArbOS](/how-arbitrum-works/deep-dives/arbos.md): How ArbOS works as the child chain hypervisor, managing resources, block production, cross-chain messaging, and EVM execution. - [Assertions](/how-arbitrum-works/deep-dives/assertions.md): Deep dive information on assertions and how to make an assertion. - [Gas and fees](/how-arbitrum-works/deep-dives/gas-and-fees.md): Learn the fundamentals of how to calculate fees on Arbitrum, including parent chain pricing formulas and child chain gas mechanics. - [Bridging from a parent chain to a child chain](/how-arbitrum-works/deep-dives/l1-to-l2-messaging.md): Learn the fundamentals of parent to child chain messaging on Arbitrum. - [Child to parent chain messaging](/how-arbitrum-works/deep-dives/l2-to-l1-messaging.md): Learn the fundamentals of child to parent chain messaging on Arbitrum. - [The Sequencer and Censorship Resistance](/how-arbitrum-works/deep-dives/sequencer.md): Learn the fundamentals of the Arbitrum Sequencer. - [A gentle introduction](/how-arbitrum-works/deep-dives/stf-gentle-intro.md): Learn the fundamentals of Nitro, Arbitrum stack. - [Token bridging](/how-arbitrum-works/deep-dives/token-bridging.md): Describes how token bridging works on Arbitrum and the architecture of the token bridge - [Transaction lifecycle on Arbitrum](/how-arbitrum-works/deep-dives/transaction-lifecycle.md): Learn how transactions are submitted and processed on Arbitrum, including sequencer and non-sequencer pathways. - [Inside Arbitrum Nitro](/how-arbitrum-works/inside-arbitrum-nitro.md): Follow a transaction's journey through the complete Arbitrum Nitro stack, from submission to finality. - [ArbOS technical reference](/how-arbitrum-works/reference/arbos-reference.md): Technical reference for ArbOS internals: precompile architecture, state storage, child chain pricing state, and Stylus execution details. - [Geth at the core: modified Geth on Arbitrum Nitro](/how-arbitrum-works/reference/geth.md): Learn the fundamentals of Nitro, Arbitrum stack. - [Inputs to the State Transition Function](/how-arbitrum-works/reference/stf-inputs.md): Reference for the message types and input channels that feed the Arbitrum State Transition Function. - [How Timeboost works](/how-arbitrum-works/timeboost/gentle-introduction.md): Learn how Timeboost works and how it can benefit your Arbitrum-based project. - [How to use Timeboost](/how-arbitrum-works/timeboost/how-to-use-timeboost.md): Learn how to use timeboost - [Frequently Asked Questions (FAQs) about Timeboost](/how-arbitrum-works/timeboost/timeboost-faq.md): Timeboost FAQ - [Troubleshoot Timeboost](/how-arbitrum-works/timeboost/troubleshoot-timeboost.md): A guide on common errors & best practices when using Timeboost ## intro - [Arbitrum glossary](/intro/glossary.md): A list of terms and definitions related to Arbitrum. ## launch-arbitrum-chain - [Additional configuration parameters: Arbitrum chains](/launch-arbitrum-chain/chain-config/additional-configuration-parameters.md): Reference list of additional CLI configuration parameters available when deploying or managing your Arbitrum chain. - [Batch Poster](/launch-arbitrum-chain/chain-config/batch-poster/config-batch-poster.md): Learn how to configure the batch poster. - [Enabling blob transactions for Arbitrum batch poster](/launch-arbitrum-chain/chain-config/batch-poster/enable-4844-blobs.md): How to configure your Arbitrum node to post EIP-4844 blob transactions to the parent chain - [Batch poster fee tuning](/launch-arbitrum-chain/chain-config/batch-poster/fee-tuning.md): Learn how to configure and tune fee-related parameters for batch posting, including blob transaction fees and gas price spike handling. - [chainConfig reference](/launch-arbitrum-chain/chain-config/chainConfig-reference.md): Reference list of chainConfig JSON parameters available when deploying or managing your Arbitrum chain. - [The AEP fee router: introduction](/launch-arbitrum-chain/chain-config/costs/aep-overview.md): Learn what is the AEP fee router. - [How to set up an AEP fee router](/launch-arbitrum-chain/chain-config/costs/aep-router-contracts.md): Learn how to setup an AEP fee router. - [Use native interop token with mint/burn as your Arbitrum chain gas token](/launch-arbitrum-chain/chain-config/costs/configure-native-mint-burn.md): Learn how use a native interop token with mint/burn (such as LayerZero OFT, xERC-20, or native USDC) as your Arbitrum chain gas token - [How to configure a custom gas token for your AnyTrust Arbitrum chain](/launch-arbitrum-chain/chain-config/costs/custom-gas-token-anytrust.md): Learn how to deploy your AnyTrust Arbitrum chain with a custom gas token - [How to configure a custom gas token for your Rollup Arbitrum chain](/launch-arbitrum-chain/chain-config/costs/custom-gas-token-rollup.md): Learn how to deploy your Rollup Arbitrum chain with a custom gas token - [Dynamic Pricing for Arbitrum chains](/launch-arbitrum-chain/chain-config/costs/dynamic-pricing.md): Guidance & best practices for using Dynamic Pricing on Arbitrum chains - [How to manage the fee parameters of your Arbitrum chain](/launch-arbitrum-chain/chain-config/costs/fee-management.md): Learn how to manage the fee parameters of your Arbitrum chain - [Configure and optimize gas](/launch-arbitrum-chain/chain-config/costs/gas-optimization.md): Learn how to configure and optimize gas for your Arbitrum chain - [Guidance for Arbitrum chains gas target](/launch-arbitrum-chain/chain-config/costs/gas-target.md): How to manage your Arbitrum chain gas target - [Reporting on Fees](/launch-arbitrum-chain/chain-config/costs/reporting-on-fees.md): Learn how to setup an AEP fee router. - [Configure data availability](/launch-arbitrum-chain/chain-config/data-availability/config-data-availability.md): Learn how to configure data availability for Rollup, AnyTrust, and alt-DA for your Arbitrum chain. - [How to configure the Data Availability Committee (DAC) in your chain](/launch-arbitrum-chain/chain-config/data-availability/configure-dac.md): This how-to will help you configure the DAC in your chain. - [DAC configuration defaults](/launch-arbitrum-chain/chain-config/data-availability/dac-configuration-defaults.md): Learn the default settings for DAC configuration for your Arbitrum chain. - [DAC/DAS Operations Guide](/launch-arbitrum-chain/chain-config/data-availability/dac-das-operations.md): Learn about DAC and DAS specific operations such as key rotation, bitMask bit-level formatting, quorum mechanics, committee member management for your Arbitrum chain. - [How to configure a Data Availability Committee: Introduction](/launch-arbitrum-chain/chain-config/data-availability/dac-get-started.md): Learn what's needed to configure a Data Availability Committee for your chain - [DAS RPC method reference](/launch-arbitrum-chain/chain-config/data-availability/das-rpc-method-reference.md): Discover and learn about the DAS RPC methods. - [How to deploy a Data Availability Server (DAS)](/launch-arbitrum-chain/chain-config/data-availability/deploy-das.md): This how-to will help you deploy a Data Availability Server (DAS) - [How to deploy a mirror Data Availability Server (DAS)](/launch-arbitrum-chain/chain-config/data-availability/deploy-mirror-das.md): This how-to will help you deploy a mirror Data Availability Server (DAS) - [Configure smart contract size limit](/launch-arbitrum-chain/chain-config/execution/smart-contract-size-limit.md): Learn how to configure the smart contract size limits on your Arbitrum chain - [How to configure Delayed Inbox finality](/launch-arbitrum-chain/chain-config/sequencer/chain-finality.md): Learn how to configure Delayed Inbox finality on your Arbitrum chain. - [Configure Sequencer timing adjustments](/launch-arbitrum-chain/chain-config/sequencer/sequencer-timing-adjustments.md): Learn how to configure timing adjustments to the Sequencer for your Arbitrum chain - [Timeboost for Arbitrum chains](/launch-arbitrum-chain/chain-config/sequencer/timeboost.md): Guidance & best practices for using Timeboost on Arbitrum chains - [Configure assertion control](/launch-arbitrum-chain/chain-config/validation/assertion-control.md): Learn how to configure assertion control. - [BoLD for Arbitrum chains](/launch-arbitrum-chain/chain-config/validation/bold.md): Learn how to integrate BoLD with your Arbitrum chain - [Bond and validator configurations](/launch-arbitrum-chain/chain-config/validation/bond-and-validator.md): Learn how to configure your Arbitrum chain with a custom bond and validator configurations - [Customizable challenge period](/launch-arbitrum-chain/chain-config/validation/challenge-period.md): Learn how to customize your Arbitrum chain's challenge period - [Compliance filtering](/launch-arbitrum-chain/chain-config/validation/compliance-filtering.md): How chain owners configure protocol-level transaction filtering to restrict sanctioned addresses on their Arbitrum chain. - [Enable fast withdrawals on your Arbitrum chain](/launch-arbitrum-chain/chain-config/validation/fast-withdrawals.md): Learn to deploy Fast Withdrawals - [Canonical factory contracts](/launch-arbitrum-chain/deploy/canonical-factory-contracts.md): Learn how to use the canonical factory contracts for deploying your Arbitrum chain - [How to configure your Arbitrum chain's node using the Chain SDK](/launch-arbitrum-chain/deploy/configure-node.md): Learn how to configure a node using the Chain SDK - [How to deploy an Arbitrum chain using the Chain SDK](/launch-arbitrum-chain/deploy/deploy-chain.md): How to deploy an Arbitrum chain using the Chain SDK - [Deploy a token bridge using the Chain SDK](/launch-arbitrum-chain/deploy/token-bridge.md): How to deploy a token bridge using the Chain SDK - [How to add your Arbitrum chain to Arbitrum's bridge](/launch-arbitrum-chain/integrations/bridge-ui.md): Learn how to add your Arbitrum chain to Arbitrum's bridge. - [How to adopt the bridged USDC standard on your Arbitrum chain](/launch-arbitrum-chain/integrations/bridged-usdc.md): How to implement Circle bridged USDC standard on Arbitrum chain - [Exchange integration checklist: deposit and withdrawal verification](/launch-arbitrum-chain/integrations/exchange-integration-checklist.md): A version-pinned checklist that helps centralized exchanges reliably detect deposits, process withdrawals, and re-verify their indexing logic across Nitro and ArbOS upgrades on Dedicated Blockchains. - [Third-party Arbitrum chain infrastructure providers](/launch-arbitrum-chain/integrations/infrastructure-providers.md): A high-level overview of third-party Arbitrum chain infrastructure providers for production-grade chains. - [Migrate between RaaSes](/launch-arbitrum-chain/migrate/between-raases.md): Learn how to migrate your chain from a RaaS provider - [Migrate from another stack to an Arbitrum chain](/launch-arbitrum-chain/migrate/from-another-stack.md): Migrate to Arbitrum chain from another stack - [How to upgrade ArbOS on your Arbitrum chain](/launch-arbitrum-chain/operate/arbos-upgrade.md): Learn how to upgrade ArbOS on your Arbitrum chain. - [Batch poster troubleshooting](/launch-arbitrum-chain/operate/batch-poster-troubleshooting.md): Diagnose and resolve common batch poster operational issues including mempool errors, balance management, backlog conditions, and retry failures. - [Arbitrum Node Key Rotation Guide](/launch-arbitrum-chain/operate/key-rotation.md): Learn how to rotate keys for the different roles in your Arbitrum chain. - [Monitoring tools and considerations](/launch-arbitrum-chain/operate/monitoring.md): List of tools available to monitor an Arbitrum chain, and special considerations to take with regard to monitoring - [Ownership structure and access control](/launch-arbitrum-chain/operate/ownership-and-access.md): Overview of the technical architecture of chain ownership affordances on Arbitrum chains. - [Post-launch deployment of deterministic contracts](/launch-arbitrum-chain/operate/post-launch-deployments.md): Learn about deploying contracts like Multicall3 to an Arbitrum chain after launch using sendL2Message, without needing a chain upgrade or predeploy. - [Managing state growth and corresponding issues](/launch-arbitrum-chain/operate/state-growth.md): Learn about state growth and corresponding issues - [Arbitrum chain FAQ](/launch-arbitrum-chain/overview/faq.md): List of questions and answers frequently asked by developers launching and working on Arbitrum chains - [Overview of Arbitrum chains](/launch-arbitrum-chain/overview/introduction.md): Launch your own Arbitrum chain using the Arbitrum Nitro codebase. Build a completely customizable chain that fits your specific needs. - [Arbitrum chain licensing](/launch-arbitrum-chain/overview/license.md): Learn about the Arbitrum chain license and AEP. - [Public preview: What to expect](/launch-arbitrum-chain/overview/public-preview.md): Arbitrum chains are currently a public preview capability. This concept document explains what this means, and what to expect from public preview capabilities. - [How to customize ArbOS on your Arbitrum chain](/launch-arbitrum-chain/protocol-hacks/arbos.md): Learn how to customize your ArbOS version - [How to integrate with the DA API](/launch-arbitrum-chain/protocol-hacks/da-api-guide.md): Learn how to implement your own custom DA provider for Nitro - [How to customize your Arbitrum chain's precompiles](/launch-arbitrum-chain/protocol-hacks/precompiles.md): Learn how (and when) to customize your Arbitrum chain's precompiles - [How to customize your Arbitrum chain's behavior](/launch-arbitrum-chain/protocol-hacks/stf.md): Learn how to customize your Arbitrum chain's behavior (known as the State Transition Function or STF) - [Run an L3 rollup from scratch](/launch-arbitrum-chain/quickstart/l3-rollup-from-scratch.md): A simple A-Z guide to deploy and run a default-configured L3 rollup chain on Arbitrum Sepolia. - [Run testnet infrastructure on your first rollup (product-level testnet)](/launch-arbitrum-chain/quickstart/l3-rollup-testnet.md): Step-by-step guide to run your Arbitrum chain infrastructure as a production-level testnet with high availability. - [Deploy a production chain: an overview](/launch-arbitrum-chain/quickstart/sdk-introduction.md): Learn how to deploy and manage your Arbitrum chain with the Arbitrum chain SDK. - [Run a batch poster](/launch-arbitrum-chain/run-a-node/batch-poster.md): Learn how to run and configure a batch poster. - [How to set up a high-availability sequencer](/launch-arbitrum-chain/run-a-node/high-availability-sequencer.md): Learn how to set up a high-availabilty sequencer for your Arbitrum chain. - [Run a split validator node](/launch-arbitrum-chain/run-a-node/split-validator-node.md): How to run a split validator node ## learn-more - [Arbitrum FAQ](/learn-more/faq.md): List of questions and answers frequently asked by users ## node-running - [Frequently asked questions: Run a node](/node-running/faq.md): List of questions and answers frequently asked by node runners - [Sequencer](/node-running/sequencer-content-map.md): Learn how to keep your Arbitrum node in sync with the sequencer, including reading the sequencer feed and running the coordination manager. ## notices - [Upgrade notice for ArbOS 51](/notices/arbos51-upgrade-notice.md): Upgrade notices for ArbOS 51 activation on Arbitrum One, Arbitrum Nova, and Arbitrum Spolia - [Upgrade notice for ArbOS 60](/notices/arbos60-upgrade-notice.md): Upgrade notices for ArbOS 60 activation on Arbitrum One, Arbitrum Nova, and Arbitrum Sepolia - [Upgrade notice for ArbOS 61](/notices/arbos61-upgrade-notice.md): Upgrade notices for ArbOS 61 activation on Arbitrum One, Arbitrum Nova, and Arbitrum Sepolia - [Fusaka Compatibility Notice](/notices/fusaka-upgrade-notice.md): Upgrade notices for the transition to Fusaka ## Offchain-pattern-guide - [Offchain Pattern guide](/Offchain-pattern-guide.md): Offchain Pattern guide ## run-arbitrum-node - [ArbOS 11](/run-arbitrum-node/arbos-releases/arbos11.md): Release notes for ArbOS 11, shipped via Nitro v2.2.0, including Shanghai upgrade EVM changes and upgrade requirements. - [ArbOS 20 Atlas](/run-arbitrum-node/arbos-releases/arbos20.md): Release notes for ArbOS 20 Atlas, shipped via Nitro v2.3.1, adding support for Ethereum Dencun upgrade and blob data. - [ArbOS 32 Bianca](/run-arbitrum-node/arbos-releases/arbos32.md): Release notes for ArbOS 32 Bianca, the canonical Bianca release shipped via Nitro v3.3.1, including Stylus fixes and optimizations. - [ArbOS 40 Callisto](/run-arbitrum-node/arbos-releases/arbos40.md): Release notes for ArbOS 40 Callisto, shipped via Nitro v3.6.5, building upon ArbOS 32 Bianca with new features and requirements. - [ArbOS 51 Dia](/run-arbitrum-node/arbos-releases/arbos51.md): Learn about ArbOS 51 Dia release, including Fusaka upgrade support, new EIPs, bug fixes, and upgrade requirements for Arbitrum chain owners and node operators. - [ArbOS software releases: Overview](/run-arbitrum-node/arbos-releases/overview.md): Overview of ArbOS software releases for Arbitrum, including upgrade requirements and the relationship between Nitro and ArbOS versions. - [Beacon Nodes: Historical Blobs](/run-arbitrum-node/beacon-nodes-historical-blobs.md): Learn more about the impacts of the Fusaka upgrade when running a beacon node. - [Data Availability](/run-arbitrum-node/data-availability.md): Learn how data availability works in arbitrum - [Ethereum beacon chain RPC providers](/run-arbitrum-node/l1-ethereum-beacon-chain-rpc-providers.md): A reference list of Ethereum beacon chain RPC providers that Arbitrum node operators can use to access blob data after the Dencun upgrade. - [How to run an archive node](/run-arbitrum-node/more-types/run-archive-node.md): Learn how to run an Arbitrum archive node on your local machine - [How to run a Classic node](/run-arbitrum-node/more-types/run-classic-node.md): Learn how to run an classic node on your local machine. - [How to run a validator](/run-arbitrum-node/more-types/run-validator-node.md): Learn how to run an Arbitrum validator node - [Nitro support policy](/run-arbitrum-node/nitro-support-policy.md): Learn the details of the support policy for Nitro. - [How to build Nitro locally (Debian, Ubuntu, macOS)](/run-arbitrum-node/nitro/build-nitro-locally.md): This how-to provides step-by-step instructions for building Nitro locally using Docker on Debian, Ubuntu, or macOS. - [CLI flags reference](/run-arbitrum-node/nitro/cli-flags-reference.md): Complete reference of all Nitro node command-line flags with types, defaults, and descriptions - [Nitro configuration system](/run-arbitrum-node/nitro/configuration-system.md): How Nitro loads configuration from files, environment variables, CLI flags, and S3 — including precedence rules and how to dump running config - [Data availability tools reference](/run-arbitrum-node/nitro/da-tools-reference.md): Reference for anytrusttool (keygen, dumpkeyset, client), anytrustserver, and daprovider CLI tools - [Docker images and CLI binaries](/run-arbitrum-node/nitro/docker-and-cli-binaries.md): Nitro Docker image variants, available CLI binaries, entrypoint usage, and Docker Compose examples - [How to convert databases from leveldb to pebble](/run-arbitrum-node/nitro/how-to-convert-databases-from-leveldb-to-pebble.md): Learn how convert your node database from leveldb to pebble - [How to migrate state and history from a classic (pre-Nitro) node to a Nitro node](/run-arbitrum-node/nitro/migrate-state-and-history-from-classic.md): This how-to provides step-by-step instructions for migrating the state and history from a classic (pre-Nitro) node to a Nitro node - [Nitro database snapshots](/run-arbitrum-node/nitro/nitro-database-snapshots.md): This page explains how to supply a snapshot to Nitro and how to create a new snapshot - [Nitro memory management](/run-arbitrum-node/nitro/nitro-memory-management.md): Placeholder for the Nitro memory management guide (cache tuning, allocators, and OOM mitigations). - [Node tuning and monitoring](/run-arbitrum-node/nitro/node-tuning-and-monitoring.md): Memory management, cache configuration, validator tuning, metrics endpoints, and monitoring setup for Nitro nodes - [Arbitrum nodes: an overview](/run-arbitrum-node/overview.md): Learn more about what types of Arbitrum nodes are available to run. - [How to run a feed relay](/run-arbitrum-node/run-feed-relay.md): Learn how to run an Arbitrum feed relay on your local machine. - [How to run a full node for an Arbitrum chain](/run-arbitrum-node/run-full-node.md): Learn how to run an Arbitrum node on your local machine - [How to run a local full chain simulation](/run-arbitrum-node/run-local-full-chain-simulation.md): This page provides instructions for setting up a complete local development environment for testing Arbitrum contracts in a fully simulated environment. - [How to run a local Nitro dev node](/run-arbitrum-node/run-nitro-dev-node.md): This page provides instructions for setting up and running a local Nitro dev node for contract testing and development. - [How to read the sequencer feed](/run-arbitrum-node/sequencer/read-sequencer-feed.md): Learn how to read the sequencer feed - [How to run a Sequencer Coordinator Manager (SQM)](/run-arbitrum-node/sequencer/run-sequencer-coordination-manager.md): Learn how to run a Sequencer Coordinator Manager terminal UI tool on your local machine. - [How to run a normal sequencer node for an Arbitrum chain](/run-arbitrum-node/sequencer/run-sequencer-node.md): Learn how to run an normal Arbitrum chain sequencer node on your local machine - [Prepare to run a node](/run-arbitrum-node/start-here.md): Learn the prerequisites for running an Arbitrum node on your local machine - [Troubleshooting: Run a node](/run-arbitrum-node/troubleshooting.md): Troubleshoot common issues when running an Arbitrum node, with configuration-specific guidance and a report generator for getting help. ## stylus - [Build apps with Stylus](/stylus.md): Learn how to build decentralized applications using Stylus, Arbitrum's next-generation smart contract platform supporting Rust, C, and C++. - [Hostio exports](/stylus/advanced/hostio-exports.md): Learn about low-level hostio functions for direct VM access in Stylus smart contracts - [Minimal entrypoint contracts](/stylus/advanced/minimal-entrypoint-contracts.md): Understanding low-level Stylus contract entrypoints and the Router trait - [Recommended libraries (Rust crates)](/stylus/advanced/recommended-libraries.md): Using public Rust crates - [Rust to Solidity differences](/stylus/advanced/rust-to-solidity-differences.md): Language and syntax differences between Rust Stylus and Solidity smart contracts - [Gas optimization best practices](/stylus/best-practices/gas-optimization.md): Techniques and patterns for optimizing gas costs in Stylus smart contracts - [Security best practices](/stylus/best-practices/security.md): Essential security patterns and guidelines for writing secure Stylus smart contracts - [Check and deploy](/stylus/cli-tools/check-and-deploy.md): Check and deploy Stylus contracts - [cargo-stylus command reference](/stylus/cli-tools/commands-reference.md): Complete reference for all cargo-stylus CLI commands, including flags, defaults, and aliases - [How to debug Stylus transactions](/stylus/cli-tools/debugging-tx.md): Learn how to debug Stylus transactions using cargo-stylus replay, trace, and usertrace commands, as well as the StylusDB debugger for advanced multi-contract debugging. - [Using Stylus CLI](/stylus/cli-tools/overview.md): Get started with Stylus CLI, a Rust toolkit for developing Stylus contracts - [How to verify Stylus contracts](/stylus/cli-tools/verify-contracts.md): Learn how to verify Stylus contracts locally and on Arbiscan - [Activation](/stylus/concepts/activation.md): Understanding Stylus contract deployment and activation - [Gas metering](/stylus/concepts/gas-metering.md): A conceptual overview of gas and ink, the primitives that Stylus uses to measure the cost of WASM activation, compute, memory, and storage. - [VM and execution differences](/stylus/concepts/vm-differences.md): Understand the differences between EVM and WASM execution models in Stylus - [WebAssembly in Nitro](/stylus/concepts/webassembly.md): Understanding WebAssembly compilation, deployment, and execution in Arbitrum Nitro - [Choose your learning path](/stylus/fundamentals/choose-your-path.md): Find the right Stylus learning path based on your background and goals - [Stylus contracts](/stylus/fundamentals/contracts.md): Stylus Rust SDK contracts, methods, and lifecycle - [Stylus compound types](/stylus/fundamentals/data-types/compound-types.md): Stylus Rust SDK compound types - [Conversions between types](/stylus/fundamentals/data-types/conversions-between-types.md): Learn how to convert between Rust types, Alloy primitives, and Solidity types in Stylus smart contracts - [Stylus primitives](/stylus/fundamentals/data-types/primitives.md): Stylus Rust SDK primitives - [Stylus Rust SDK storage](/stylus/fundamentals/data-types/storage.md): Stylus Rust SDK storage types - [Global variables and functions](/stylus/fundamentals/global-variables-and-functions.md): Stylus Rust SDK global variables and functions for blockchain context access - [Prerequisites and setup](/stylus/fundamentals/prerequisites.md): Set up your development environment for Stylus - [Structure of a Stylus Rust project](/stylus/fundamentals/project-structure.md): A quick overview of how contracts are structured with the Stylus Rust SDK - [Testing smart contracts with Stylus](/stylus/fundamentals/testing-contracts.md): A comprehensive guide to writing and running tests for Stylus smart contracts. - [A gentle introduction to Stylus](/stylus/gentle-introduction.md): An introduction to Stylus, which enables writing EVM-compatible smart contracts in programming languages that compile to WASM, such as Rust, C, and C++. - [Caching contracts with Stylus](/stylus/how-tos/caching-contracts.md): A conceptual overview of the Stylus caching strategy and CacheManager contract, and a practical guide for using its functionality. - [Deploying non-Rust WASM contracts](/stylus/how-tos/deploying-non-rust-wasm-contracts.md): Deploy WebAssembly contracts from C, C++, and other languages to Arbitrum Stylus - [Exporting ABIs](/stylus/how-tos/exporting-abi.md): Exporting Solidity ABIs from Stylus contracts - [Import and call external contract interfaces](/stylus/how-tos/importing-interfaces.md): Learn how to import Solidity interfaces and call external contracts from your Stylus smart contracts - [How to optimize Stylus WASM binaries](/stylus/how-tos/optimizing-binaries.md): A guide on optimizing Stylus WASM program sizes - [Composition and trait-based routing model](/stylus/how-tos/trait-based-composition.md): Learn how to implement trait-based composition in your Stylus smart contracts - [Using constructors with Stylus](/stylus/how-tos/using-constructors.md): A comprehensive guide to implementing and deploying smart contracts with constructors in Stylus - [How to verify Stylus contracts on Arbiscan](/stylus/how-tos/verifying-contracts-arbiscan.md): This page provides a step-by-step guide to verifying Stylus contracts on Arbiscan, including contract details, source code submission, and handling previously verified contracts. - [Quickstart: write a smart contract in Rust using Stylus](/stylus/quickstart.md): Leads a developer step by step writing and deploying a smart contract in Rust using Stylus - [Gas and ink costs](/stylus/reference/opcode-hostio-pricing.md): A reference of how much opcodes and host I/Os cost in Stylus, with measurements in ink and gas. - [Stylus Rust SDK overview](/stylus/reference/overview.md): Architecture, crate structure, feature flags, and documentation index for the Stylus Rust SDK v0.10.7 - [Stylus Rust SDK advanced features](/stylus/reference/rust-sdk-guide.md): Advanced features of the Stylus Rust SDK - [Configuration reference](/stylus/reference/stylus-toml-reference.md): A complete reference for the Stylus.toml, Cargo.toml, and rust-toolchain.toml configuration files used in Stylus Rust projects - [Troubleshooting Stylus](/stylus/troubleshooting-building-stylus.md): List of questions and answers frequently asked by developers building with Stylus - [Common issues and solutions](/stylus/troubleshooting/common-issues.md): Troubleshooting guide for frequently encountered Stylus development issues ## stylus-by-example - [ERC-20](/stylus-by-example/applications/erc20.md): An example implementation of the ERC-20 token standard in Rust using Arbitrum Stylus. - [ERC-721](/stylus-by-example/applications/erc721.md): An example implementation of the ERC-721 token standard in Rust using Arbitrum Stylus. - [Multicall](/stylus-by-example/applications/multi_call.md): An example implementation of the Multi Call contract in Rust using Arbitrum Stylus. - [Vending Machine](/stylus-by-example/applications/vending_machine.md): An example implementation of the Vending Machine in Rust using Arbitrum Stylus. - [ABI Decode](/stylus-by-example/basic_examples/abi_decode.md): A simple solidity ABI encode and decode example - [ABI Encode](/stylus-by-example/basic_examples/abi_encode.md): A simple solidity ABI encode and decode example - [Bytes In, Bytes Out](/stylus-by-example/basic_examples/bytes_in_bytes_out.md): A simple bytes in, bytes out Arbitrum Stylus Rust contract that shows a minimal `entrypoint` function. - [Constants](/stylus-by-example/basic_examples/constants.md): How to declare constants in your Rust smart contracts using Arbitrum's Stylus SDK - [Errors](/stylus-by-example/basic_examples/errors.md): How to define and use Errors on Stylus Rust smart contracts - [Events](/stylus-by-example/basic_examples/events.md): How to log events to the chain using the Arbitrum Stylus Rust SDK. - [Functions](/stylus-by-example/basic_examples/function.md): How to define and use internal and external functions in Stylus, and how to return multiple values from functions. - [Function selector](/stylus-by-example/basic_examples/function_selector.md): How to compute the encoded function selector of a contract's function using the Arbitrum Stylus Rust SDK. - [Hasing with keccak256 • Stylus by Example](/stylus-by-example/basic_examples/hashing.md): A simple solidity ABI encode and decode example - [Hello World](/stylus-by-example/basic_examples/hello_world.md): This example shows how to use the `console!` macro from the Arbitrum Stylus Rust SDK to print output to the terminal for debugging. - [Inheritance](/stylus-by-example/basic_examples/inheritance.md): How to leverage inheritance using the Arbitrum Stylus Rust SDK. - [Primitive Data Types](/stylus-by-example/basic_examples/primitive_data_types.md): Defines some of the basic primitives used in Arbitrum Stylus Rust smart contracts and how they map to compatible Solidity constructs. - [Sending Ether](/stylus-by-example/basic_examples/sending_ether.md): How to send Ether in your Rust smart contracts using Arbitrum's Stylus SDK - [Variables](/stylus-by-example/basic_examples/variables.md): An explanation of the types of variables available as part of the Arbitrum Stylus Rust SDK and how it differs from Solidity. - [VM affordances](/stylus-by-example/basic_examples/vm_affordances.md): How to access VM affordances using the Arbitrum Stylus Rust SDK.