> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect to Arbitrum

`go-livepeer` requires access to the [Arbitrum](https://arbitrum.io/) network
for typical usage.

There are two ways you can connect to the Arbitrum network: via a hosted API
service or via your own self-hosted node. Connecting to a hosted API service is
recommended for users that are getting started and you always have the option to
switch to your own node later on.

### Hosted API services

Hosted API services run Arbitrum nodes on behalf of their users. Popular
services include [Infura](https://infura.io/) and
[Alchemy](https://alchemyapi.io/). Be aware that these services have their own
pricing plans. That being said, the latest versions of `livepeer` should be able
to stay within the request limit for Infura's free tier at least for a single
node.

The following examples describe the required flags to connect to an
EVM-compatible network via Infura (all other flags omitted):

To connect to Arbitrum mainnet:

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
livepeer \
    -network arbitrum-one-mainnet
    -ethUrl https://arbitrum-mainnet.infura.io/v3/<PROJECT_ID> # Visit https://infura.io to obtain a PROJECT_ID
```

### Self-hosted Arbitrum nodes

If you want to run your own Arbitrum node, set one up using the
[instructions from Offchain Labs](https://developer.offchainlabs.com/docs/running_node).

Once your node is synced, connect `livepeer` to the node with the following
flags (all other flags omitted):

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
livepeer \
    -network mainnet \
    -ethUrl http://localhost:8545 # Assumes that your node is running on the same machine as livepeer
```

## Supported networks

`livepeer` supports the networks listed below. The required flags for connecting
to a network are described (all other flags are omitted).

### Arbitrum One

Arbitrum One is the production public network.

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
livepeer \
    -network arbitrum-one-mainnet
    -ethUrl <ETH_URL> # URL for Arbitrum mainnet provider
```

### Private Network

Custom private networks where the Livepeer smart contracts are deployed can be
used for development purposes.

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
livepeer \
    -network <NETWORK_NAME> # Name of network
    -ethUrl <ETH_URL> # URL for private network provider
    -ethController <CONTROLLER_ADDR> # Address of the Controller smart contract deployed on the private network
```

### Offchain

Offchain networks that do not require interaction with the Livepeer smart
contracts can be used for development purposes.

```bash theme={"theme":{"light":"github-light","dark":"dark-plus"}}
livepeer \
    -network offchain
```
