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

# BrandedChain

> Auto-generated API documentation

[**@tevm/voltaire**](../../index.mdx)

***

[@tevm/voltaire](../../index.mdx) / [index](../index.mdx) / BrandedChain

# BrandedChain

## Interfaces

### ChainConstructor()

Defined in: [src/primitives/Chain/ChainConstructor.ts:6](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/ChainConstructor.ts#L6)

Chain constructor type

> **ChainConstructor**(`chain`): `Chain`

Defined in: [src/primitives/Chain/ChainConstructor.ts:7](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/ChainConstructor.ts#L7)

Chain constructor type

#### Parameters

##### chain

`Chain`

#### Returns

`Chain`

#### Properties

##### byId

> **byId**: `Record`\<`number`, `Chain`>

Defined in: [src/primitives/Chain/ChainConstructor.ts:10](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/ChainConstructor.ts#L10)

##### from()

> **from**: (`chain`) => `Chain`

Defined in: [src/primitives/Chain/ChainConstructor.ts:8](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/ChainConstructor.ts#L8)

###### Parameters

###### chain

`Chain`

###### Returns

`Chain`

##### fromId()

> **fromId**: (`id`) => `Chain` | `undefined`

Defined in: [src/primitives/Chain/ChainConstructor.ts:9](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/ChainConstructor.ts#L9)

###### Parameters

###### id

`number`

###### Returns

`Chain` | `undefined`

## Type Aliases

### Chain

> **Chain**\<> = `Chain`

Defined in: [src/primitives/Chain/Chain.js:39](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/Chain.js#L39)

#### Type Parameters

## Variables

### BrandedChain

> `const` **BrandedChain**: `object`

Defined in: [src/primitives/Chain/index.js:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/index.js#L14)

#### Type Declaration

##### byId

> **byId**: `Record`\<`number`, `Chain`>

Record mapping chain IDs to chain objects

###### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

###### Since

0.0.0

###### Throws

###### Example

```javascript theme={null}
import * as Chain from './primitives/Chain/index.js';
const mainnet = Chain.byId[1];
const optimism = Chain.byId[10];
```

##### from()

> **from**: (`chain`) => `Chain`

Create Chain from a chain object (identity function)

###### Parameters

###### chain

`Chain`

Chain object

###### Returns

`Chain`

Chain object

###### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

###### Since

0.0.0

###### Throws

###### Example

```javascript theme={null}
import { mainnet } from '@tevm/chains';
import * as Chain from './primitives/Chain/index.js';
const chain = Chain.from(mainnet);
```

##### fromId()

> **fromId**: (`id`) => `Chain` | `undefined`

Get a chain by its chain ID

###### Parameters

###### id

`number`

Chain ID

###### Returns

`Chain` | `undefined`

Chain object or undefined if not found

###### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

###### Since

0.0.0

###### Throws

###### Example

```javascript theme={null}
import * as Chain from './primitives/Chain/index.js';
const mainnet = Chain.fromId(1);
const optimism = Chain.fromId(10);
```

***

### byId

> `const` **byId**: `Record`\<`number`, `Chain`> = `tevmChainById`

Defined in: [src/primitives/Chain/byId.js:17](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/byId.js#L17)

Record mapping chain IDs to chain objects

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import * as Chain from './primitives/Chain/index.js';
const mainnet = Chain.byId[1];
const optimism = Chain.byId[10];
```

***

### CHAIN\_METADATA

> `const` **CHAIN\_METADATA**: `Record`\<`number`, `ChainMetadata`>

Defined in: [src/primitives/Chain/metadata.ts:48](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/metadata.ts#L48)

Metadata for popular chains

***

### DEFAULT\_METADATA

> `const` **DEFAULT\_METADATA**: `ChainMetadata`

Defined in: [src/primitives/Chain/metadata.ts:449](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/metadata.ts#L449)

Default metadata for chains not in the registry

## Functions

### \_from()

> **\_from**(`chain`): `Chain`

Defined in: [src/primitives/Chain/from.js:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/from.js#L16)

Create Chain from a chain object (identity function)

#### Parameters

##### chain

`Chain`

Chain object

#### Returns

`Chain`

Chain object

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import { mainnet } from '@tevm/chains';
import * as Chain from './primitives/Chain/index.js';
const chain = Chain.from(mainnet);
```

***

### \_fromId()

> **\_fromId**(`id`): `Chain` | `undefined`

Defined in: [src/primitives/Chain/fromId.js:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/fromId.js#L18)

Get a chain by its chain ID

#### Parameters

##### id

`number`

Chain ID

#### Returns

`Chain` | `undefined`

Chain object or undefined if not found

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import * as Chain from './primitives/Chain/index.js';
const mainnet = Chain.fromId(1);
const optimism = Chain.fromId(10);
```

***

### Chain()

> **Chain**(`chain`): `Chain`

Defined in: [src/primitives/Chain/Chain.js:39](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/Chain.js#L39)

Factory function for creating Chain instances

#### Parameters

##### chain

`any`

#### Returns

`Chain`

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import { mainnet } from '@tevm/chains';
import * as Chain from './primitives/Chain/index.js';
const chain = Chain.Chain(mainnet);
```

***

### from()

> **from**(`chain`): `Chain`

Defined in: [src/primitives/Chain/from.js:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/from.js#L16)

Create Chain from a chain object (identity function)

#### Parameters

##### chain

`Chain`

Chain object

#### Returns

`Chain`

Chain object

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import { mainnet } from '@tevm/chains';
import * as Chain from './primitives/Chain/index.js';
const chain = Chain.from(mainnet);
```

***

### fromId()

> **fromId**(`id`): `Chain` | `undefined`

Defined in: [src/primitives/Chain/fromId.js:18](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/primitives/Chain/fromId.js#L18)

Get a chain by its chain ID

#### Parameters

##### id

`number`

Chain ID

#### Returns

`Chain` | `undefined`

Chain object or undefined if not found

#### See

[https://voltaire.tevm.sh/primitives/chain](https://voltaire.tevm.sh/primitives/chain) for Chain documentation

#### Since

0.0.0

#### Throws

#### Example

```javascript theme={null}
import * as Chain from './primitives/Chain/index.js';
const mainnet = Chain.fromId(1);
const optimism = Chain.fromId(10);
```

## References

### \_byId

Renames and re-exports [byId](#byid-2)
