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

# Interface: InitializeArcOptions

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

## Hierarchy

 [WrapperServiceInitializeOptions](WrapperServiceInitializeOptions.md)

**↳ InitializeArcOptions**

## Index

### Properties

* [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="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/4b32be46/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#optimizedcontractloading) for more information.

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

### `<Optional>` useMetamaskEthereumWeb3Provider

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

*Defined in index.ts:72*

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:78*

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](Home#networksettings) for more information.

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

### `<Optional>` useWeb3

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

*Defined in index.ts:84*

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:89*

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

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

### `<Optional>` watchForNetworkChanges

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

*Defined in index.ts:94*

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

___

