Arbitrum API FAQ

How to get started building on Arbitrum and use the JSON-RPC API.

What is Arbitrum?

Arbitrum is a side chain that runs parallel to Ethereum Mainnet. Also known as a Layer 2 (L2) scaling solution, Arbitrum improves transaction speeds and cost compared to the mainnet, making it an excellent solution for Ethereum developers.

Arbitrum was founded by Steven Goldfeder and Harry Kalodner in 2021, and since its creation, Arbitrum has shown evidence of continued growth.

How can I get started using the Arbitrum API?

It's simple! If you're using JavaScript and Node.js, simply install the Alchemy SDK, create an Alchemy object, and you'll be ready to start making Arbitrum node requests (for instance, getting the latest block) in a couple of lines of code.

After setting up a node project using npm init -y, install the SDK by running the following command in your shell:

npm install alchemy-sdk
yarn add alchemy-sdk

After installing the package, you can then import and use the SDK:

import { Network, Alchemy } from 'alchemy-sdk';

// Optional Config object, but defaults to demo api-key and eth-mainnet.
const settings = {
  apiKey: 'demo', // Replace with your Alchemy API Key.
  network: Network.ARB_MAINNET, // Replace with your network.
};
const alchemy = new Alchemy(settings);

// Access standard Ethers.js JSON-RPC node request
alchemy.core.getBlockNumber().then(console.log);

What type of Layer 2 solution is Arbitrum?

Arbitrum is a Layer 2 scaling solution that uses optimistic rollups for transactions. One of the things that make Arbitrum optimistic rollups unique is that they use multi-round fraud proofs, focusing on single transaction disputes. Other rollups like Optimism use single-round fraud proofs, which require executing the entire rollup on the Ethereum mainnet for validation.

Is Arbitrum EVM compatible?

Yes! Arbitrum is fully compatible with all Solidity smart contracts and Ethereum libraries. As Arbitrum acts as a second layer operating on top of the main Ethereum network, it can utilize the Ethereum Virtual Machine just like Ethereum.

How do I add Arbitrum to MetaMask Mainnet?

Adding Arbitrum to the Metamask takes four steps:

  1. Create a free Alchemy account
  2. Create an API key
  3. Choose custom RPC in Metamask
  4. Fill in the Arbitrum network details

What testnet should I use for Arbitrum?

Developers should use the Arbitrum Goerli testnet and a Goerli faucet to get test ETH when testing Arbitrum applications. Although a Rinkeby testnet does exist, we strongly suggest you not use it since it will be deprecated shortly after the Merge and will not be supported by Alchemy post 5th October, 2022.

If you sign in to your Alchemy account, you’ll get 5x more ETH. On Goerli, developers can get 0.25 ETH in a twenty-four-hour period, and use that on the testnet to make sure their applications are working properly before putting them on the Arbitrum mainnet.

How do I build an app on Arbitrum?

To start building a dApp on Arbitrum, sign up for Alchemy and log in. Then click the “Apps” tab and “Create App”. Then, choose Arbitrum mainnet as your chain and network.

How do you bridge Arbitrum to Ethereum?

For bridging, use the Arbitrum Bridge. When you connect your Metamask, you will be able to send and receive tokens between Arbitrum and Ethereum. Alchemy’s overview on cross-chain bridges can further help you understand how bridging works.

What wallets can be used on Arbitrum?

Developers can use many Web3 wallets on Arbitrum. As Optimism continues to grow, it supports many of the most popular wallets. Some wallets that people choose to use on Arbitrum include Metamask, Ledger Nano X, and SafePal S1.

What does Arbitrum use for gas?

Arbitrum uses ETH tokens for gas. Compared to Ethereum, Arbitrum typically has lower gas fees because it uses optimistic rollups to process transactions off-chain and then submit a single bundle of transactions to Ethereum’s mainnet.

What projects are on Arbitrum?

Some of the most popular dApps on Arbitrum include Aave, 1inch Network, and Yearn Finance. Aave is one of the biggest Peer-to-Peer lending protocols in DeFi. 1inch is a decentralized exchange (DEX) aggregator that helps users find the best value when swapping tokens. Yearn Finance is a DeFi protocol focused on yield optimization when lending or trading crypto assets.

How do you withdraw ETH from Arbitrum?

Withdrawing ETH from Arbitrum takes three easy steps: just go to The Arbitrum Bridge, enter the amount you would like to remove from the network, and click “Withdraw”.

What API does Arbitrum use?

Arbitrum uses the JSON-RPC API standard. The Arbitrum JSON-RPC API serves as the backbone for the Arbitrum network and powers any blockchain interaction. In aggregate, this API suite allows users to read block/transaction data, query chain information, execute smart contracts, and store data on-chain. Developers interact with Arbitrum’s base JSON-RPC APIs to communicate with its decentralized network of nodes.

What is an Arbitrum API key?

When accessing the Arbitrum network via a node provider, API services like Alchemy require an API key, which allows developers to monitor personal apps and access usage metrics.

For the best development experience, we recommend that you sign up for a free API key! With a dedicated API key, Arbitrum developers can:

  • access higher request throughput and increase concurrent requests
  • query enhanced APIs, gain access to free archive data, logs, and API abstractions
  • leverage individualized usage metrics

Which libraries support Arbitrum?

Three libraries support Polygon: Alchemy-web3.js, Web3.js, and Ethers. Of these three, Alchemy is an improvement over Web3 and Ethers libraries, providing enhanced API calls, upgraded WebSockets, and many other benefits.

What programming languages work with Arbitrum?

Many programming languages work with Arbitrum, including Solidity, Vyper, and Flint. Basically, Arbitrum works with all EVM programming languages. Any code that can run on Ethereum can also run on Arbitrum.

What methods does Alchemy support for the Arbitrum API?

Getting Blocks

Retrieves information from a particular block in the blockchain.

Reading Transactions

Retrieves information on the state data for addresses regardless of whether it is a user or a smart contract.

Writing Transactions

Allows developers to both send Arbitrum from one address to another, write data on-chain, and interact with smart contracts.

Account Information

Returns information regarding an address's stored on-chain data.

EVM/Smart Contract Execution

Allows developers to read data from the blockchain which includes executing smart contracts. However, no data is published to the Ethereum network.

Event Logs

Returns logs which are records that denote/provide context on specific events within a smart contract, like a token transfer or a change of ownership for example.

Chain Information

Returns information on the Arbitrum network and internal settings.

Getting Uncles

Returns information on uncle blocks which are network rejected blocks and replaced by a canonical block instead.

Web3

Returns Ethereum network configuration information.

Real-time Events

Introduces WebSocket-based requests/responses which leverage a network connection allowing developers to listen for changes continuously without the need for HTTP polling.

My question isn't here, where can I get help?

Don't worry, we got you. Check out our feel free to post in discord with any questions you have!