[API Reference](../README.md) > [InitializeArcOptions](../interfaces/InitializeArcOptions.md)

# Interface: InitializeArcOptions

Options for [InitializeArcJs](/arc.js/api/README#initializearcjs)

## Hierarchy

 [WrapperServiceInitializeOptions](WrapperServiceInitializeOptions.md)

**↳ InitializeArcOptions**

## Index

### Properties

* [deployedContractAddresses](InitializeArcOptions.md#deployedContractAddresses)
* [filter](InitializeArcOptions.md#filter)
* [useMetamaskEthereumWeb3Provider](InitializeArcOptions.md#useMetamaskEthereumWeb3Provider)
* [useNetworkDefaultsFor](InitializeArcOptions.md#useNetworkDefaultsFor)
* [useWeb3](InitializeArcOptions.md#useWeb3)
* [watchForAccountChanges](InitializeArcOptions.md#watchForAccountChanges)
* [watchForNetworkChanges](InitializeArcOptions.md#watchForNetworkChanges)

---

## Properties

<a id="deployedContractAddresses"></a>

### `<Optional>` deployedContractAddresses

**● deployedContractAddresses**: *`any`*

*Defined in index.ts:101*

Optionally supply addresses to be used when calling WrapperFactory `.deployed()`. The defaults come from [@daostack/migrations](https://github.com/daostack/migration).

Should look like this:

```
{
 "private": {
   "base": {
      AbsoluteVote: "0x123...",
      DaoCreator: "0x123...",
      GenesisProtocol: "0x123...",
      .
      .
      .
    }
 },
 "kovan": {
    "base": {
      AbsoluteVote: "0x123...",
      DaoCreator: "0x123...",
      GenesisProtocol: "0x123...",
      .
      .
      .
    }
  }
}

```

___
<a id="filter"></a>

### `<Optional>` filter

**● filter**: *[WrapperFilter](WrapperFilter.md)*

*Inherited from [WrapperServiceInitializeOptions](WrapperServiceInitializeOptions.md).[filter](WrapperServiceInitializeOptions.md#filter)*

*Defined in [wrapperService.ts:453](https://github.com/daostack/arc.js/blob/6f704389/lib/wrapperService.ts#L453)*

Optional filter to only initialize the contracts whose name is set to `true`. Any contracts that are omitted or set to `false` here will appear as `null` in `WrapperService.wrappers` and `WrapperService.wrappersByType`, and will not be available in `WrapperService.wrappersByAddress`. But their factories will still be available in `WrapperService.factories`. See [Optimized Contract Loading](/Wrappers.md#optimizedcontractloading) for more information.

___
<a id="useMetamaskEthereumWeb3Provider"></a>

### `<Optional>` useMetamaskEthereumWeb3Provider

**● useMetamaskEthereumWeb3Provider**: *`boolean`*

*Defined in index.ts:107*

If `true` and `window.ethereum` is present, instantiate Web3 using it as the provider. Ignored if `useWeb3` is given. Default is true.

___
<a id="useNetworkDefaultsFor"></a>

### `<Optional>` useNetworkDefaultsFor

**● useNetworkDefaultsFor**: *`string`*

*Defined in index.ts:113*

Name of the network for which to use the defaults found in Arc.js/truffle.js. Overwrites config settings network, providerUrl and providerPort. See [Network settings](/Configuration.md#networksettings) for more information.

___
<a id="useWeb3"></a>

### `<Optional>` useWeb3

**● useWeb3**: *`Web3`*

*Defined in index.ts:119*

Optionally use the given Web3 instance, already initialized by a provider. `useMetamaskEthereumWeb3Provider` is ignored if this is given. Has the side-effect of setting `global.web3` to the given value.

___
<a id="watchForAccountChanges"></a>

### `<Optional>` watchForAccountChanges

**● watchForAccountChanges**: *`boolean`*

*Defined in index.ts:125*

Set to true to watch for changes in the current user account. Default is false. See [AccountService.initiateAccountWatch](/arc.js/api/classes/AccountService#initiateAccountWatch).

___
<a id="watchForNetworkChanges"></a>

### `<Optional>` watchForNetworkChanges

**● watchForNetworkChanges**: *`boolean`*

*Defined in index.ts:131*

Set to true to watch for changes in the current blockchain network. Default is false. See [AccountService.initiateNetworkWatch](/arc.js/api/classes/AccountService#initiateNetworkWatch).

___

