> ## 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.

> Auto-generated TypeScript API documentation from source code

# Generated API Reference

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

***

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

# provider

Provider - EIP-1193 Compliant Ethereum JSON-RPC Provider

EIP-1193 compliant provider implementations for Ethereum JSON-RPC communication.
Supports HTTP, WebSocket, and in-memory (EVM-based) transports.

## Features

* **EIP-1193 compliant** - Single `request()` method for all RPC calls
* **Strongly typed** - Full type safety with RpcSchema support
* **EventEmitter** - Standard event handling for blockchain events
* **Throws on error** - Clean error handling with RpcError
* **Multiple transports** - HTTP, WebSocket, or in-memory execution

## Quick Start

```typescript theme={null}
import { HttpProvider } from '@tevm/voltaire/provider';

const provider = new HttpProvider('https://eth.example.com');

// Make requests
const blockNumber = await provider.request({
  method: 'eth_blockNumber',
  params: []
});

// Listen to events
provider.on('chainChanged', (chainId) => {
  console.log('Chain changed:', chainId);
});
```

## Available Providers

* **HttpProvider** - HTTP transport with EventEmitter
* **WebSocketProvider** - WebSocket transport with native pub/sub
* **InMemoryProvider** - Local EVM execution (coming with EVM docs)

## See

[https://voltaire.tevm.sh/provider](https://voltaire.tevm.sh/provider) for full documentation

## Namespaces

* [provider/eip6963](namespaces/provider/eip6963.mdx)

## Enumerations

### ProviderRpcErrorCode

Defined in: [src/provider/types.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L34)

EIP-1193 error codes

#### Enumeration Members

##### ChainDisconnected

> **ChainDisconnected**: `4901`

Defined in: [src/provider/types.ts:44](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L44)

Provider disconnected from all chains

##### Disconnected

> **Disconnected**: `4900`

Defined in: [src/provider/types.ts:42](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L42)

Provider disconnected from chains

##### Unauthorized

> **Unauthorized**: `4100`

Defined in: [src/provider/types.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L38)

Requested method/account not authorized

##### UnsupportedMethod

> **UnsupportedMethod**: `4200`

Defined in: [src/provider/types.ts:40](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L40)

Provider doesn't support requested method

##### UserRejectedRequest

> **UserRejectedRequest**: `4001`

Defined in: [src/provider/types.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L36)

User rejected request

## Classes

### HttpProvider

Defined in: [src/provider/HttpProvider.ts:64](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L64)

HTTP Provider implementation

EIP-1193 compliant provider using HTTP transport via fetch API.
Throws RpcError on failures.

#### Example

```typescript theme={null}
const provider = new HttpProvider({
  url: 'https://eth.example.com',
  timeout: 30000
});

const blockNumber = await provider.request({
  method: 'eth_blockNumber',
  params: []
});
```

#### Implements

* [`Provider`](#provider)

#### Constructors

##### Constructor

> **new HttpProvider**(`options`): [`HttpProvider`](#httpprovider)

Defined in: [src/provider/HttpProvider.ts:74](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L74)

###### Parameters

###### options

`string` | [`HttpProviderOptions`](#httpprovideroptions)

###### Returns

[`HttpProvider`](#httpprovider)

#### Methods

##### on()

> **on**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/HttpProvider.ts:189](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L189)

Register event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`on`](#on-8)

##### removeListener()

> **removeListener**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/HttpProvider.ts:203](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L203)

Remove event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`removeListener`](#removelistener-8)

##### request()

> **request**(`args`): `Promise`\<`unknown`>

Defined in: [src/provider/HttpProvider.ts:151](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L151)

EIP-1193 request method
Submits JSON-RPC request and returns result or throws RpcError

###### Parameters

###### args

[`LegacyRequestArguments`](#legacyrequestarguments)

###### Returns

`Promise`\<`unknown`>

###### Implementation of

[`Provider`](#provider).[`request`](#request-6)

***

### InMemoryProvider

Defined in: [src/provider/InMemoryProvider.ts:138](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L138)

In-Memory Provider implementation

Provides a fully functional in-memory Ethereum node for testing and development.
Uses Voltaire's EVM for transaction execution.

## Features

* **Local EVM execution** - Full transaction simulation without external node
* **State management** - In-memory state with snapshot/revert capabilities
* **Instant mining** - Configurable block production (auto/interval/manual)
* **Testing utilities** - Set balances, impersonate accounts, manipulate time
* **Zero latency** - No network requests, instant responses

#### Example

```typescript theme={null}
const provider = new InMemoryProvider({
  chainId: 1,
  accounts: [
    {
      address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0',
      balance: '0x10000000000000000000000' // 100000 ETH
    }
  ]
});

// Execute calls against local EVM
const result = await provider.request({
  method: 'eth_call',
  params: [{ to: '0x...', data: '0x...' }, 'latest']
});
```

#### Implements

* [`Provider`](#provider)

#### Constructors

##### Constructor

> **new InMemoryProvider**(`options`): [`InMemoryProvider`](#inmemoryprovider)

Defined in: [src/provider/InMemoryProvider.ts:183](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L183)

###### Parameters

###### options

[`InMemoryProviderOptions`](#inmemoryprovideroptions) = `{}`

###### Returns

[`InMemoryProvider`](#inmemoryprovider)

#### Properties

##### events

> **events**: `ProviderEvents`

Defined in: [src/provider/InMemoryProvider.ts:1112](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L1112)

#### Methods

##### destroy()

> **destroy**(): `void`

Defined in: [src/provider/InMemoryProvider.ts:1104](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L1104)

Cleanup resources

###### Returns

`void`

##### on()

> **on**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/InMemoryProvider.ts:1064](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L1064)

Register event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`on`](#on-8)

##### removeListener()

> **removeListener**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/InMemoryProvider.ts:1078](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L1078)

Remove event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`removeListener`](#removelistener-8)

##### request()

> **request**(`args`): `Promise`\<`unknown`>

Defined in: [src/provider/InMemoryProvider.ts:578](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L578)

EIP-1193 request method

###### Parameters

###### args

[`LegacyRequestArguments`](#legacyrequestarguments)

###### Returns

`Promise`\<`unknown`>

###### Implementation of

[`Provider`](#provider).[`request`](#request-6)

***

### ProviderRpcError

Defined in: [src/provider/events/ProviderRpcError.ts:28](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L28)

Provider RPC error

Extends Error with numeric code and optional data.
Codes follow EIP-1193 and JSON-RPC 2.0 specifications.

#### Example

```typescript theme={null}
// Standard EIP-1193 error
throw new ProviderRpcError(4001, 'User rejected request');

// With additional data
throw new ProviderRpcError(
  4200,
  'Unsupported method',
  { method: 'eth_customMethod' }
);
```

#### Extends

* `Error`

#### Constructors

##### Constructor

> **new ProviderRpcError**(`code`, `message`, `data?`): [`ProviderRpcError`](#providerrpcerror)

Defined in: [src/provider/events/ProviderRpcError.ts:35](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L35)

###### Parameters

###### code

`number`

###### message

`string`

###### data?

`unknown`

###### Returns

[`ProviderRpcError`](#providerrpcerror)

###### Overrides

`Error.constructor`

#### Properties

##### code

> **code**: `number`

Defined in: [src/provider/events/ProviderRpcError.ts:30](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L30)

Numeric error code (EIP-1193 or JSON-RPC 2.0)

##### data?

> `optional` **data**: `unknown`

Defined in: [src/provider/events/ProviderRpcError.ts:33](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L33)

Optional error data

***

### WebSocketProvider

Defined in: [src/provider/WebSocketProvider.ts:55](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L55)

WebSocket Provider implementation

Implements Provider interface using WebSocket transport for real-time
communication. Supports native pub/sub subscriptions for events.

#### Example

```typescript theme={null}
const provider = new WebSocketProvider({
  url: 'wss://eth.example.com',
  reconnect: true
});

await provider.connect();

const blockNumber = await provider.eth_blockNumber();
console.log('Block:', blockNumber.result);
```

#### Implements

* [`Provider`](#provider)

#### Constructors

##### Constructor

> **new WebSocketProvider**(`options`): [`WebSocketProvider`](#websocketprovider)

Defined in: [src/provider/WebSocketProvider.ts:74](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L74)

###### Parameters

###### options

`string` | [`WebSocketProviderOptions`](#websocketprovideroptions)

###### Returns

[`WebSocketProvider`](#websocketprovider)

#### Properties

##### events

> **events**: `ProviderEvents`

Defined in: [src/provider/WebSocketProvider.ts:822](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L822)

#### Methods

##### connect()

> **connect**(): `Promise`\<`void`>

Defined in: [src/provider/WebSocketProvider.ts:92](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L92)

Connect to WebSocket server

###### Returns

`Promise`\<`void`>

##### debug\_getRawBlock()

> **debug\_getRawBlock**(`blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:669](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L669)

###### Parameters

###### blockTag

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### debug\_traceBlockByHash()

> **debug\_traceBlockByHash**(`blockHash`, `traceOptions?`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:643](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L643)

###### Parameters

###### blockHash

`string`

###### traceOptions?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### debug\_traceBlockByNumber()

> **debug\_traceBlockByNumber**(`blockTag`, `traceOptions?`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:632](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L632)

###### Parameters

###### blockTag

`string`

###### traceOptions?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### debug\_traceCall()

> **debug\_traceCall**(`params`, `blockTag`, `traceOptions?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:654](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L654)

###### Parameters

###### params

`any`

###### blockTag

`string` = `"latest"`

###### traceOptions?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### debug\_traceTransaction()

> **debug\_traceTransaction**(`txHash`, `traceOptions?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:621](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L621)

###### Parameters

###### txHash

`string`

###### traceOptions?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### disconnect()

> **disconnect**(): `void`

Defined in: [src/provider/WebSocketProvider.ts:178](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L178)

Disconnect from WebSocket server

###### Returns

`void`

##### engine\_exchangeCapabilities()

> **engine\_exchangeCapabilities**(`capabilities`, `options?`): `Promise`\<`Response`\<`string`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:769](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L769)

###### Parameters

###### capabilities

`string`\[]

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`\[]>>

##### engine\_exchangeTransitionConfigurationV1()

> **engine\_exchangeTransitionConfigurationV1**(`config`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:780](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L780)

###### Parameters

###### config

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_forkchoiceUpdatedV1()

> **engine\_forkchoiceUpdatedV1**(`forkchoiceState`, `payloadAttributes?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:703](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L703)

###### Parameters

###### forkchoiceState

`any`

###### payloadAttributes?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_forkchoiceUpdatedV2()

> **engine\_forkchoiceUpdatedV2**(`forkchoiceState`, `payloadAttributes?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:717](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L717)

###### Parameters

###### forkchoiceState

`any`

###### payloadAttributes?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_forkchoiceUpdatedV3()

> **engine\_forkchoiceUpdatedV3**(`forkchoiceState`, `payloadAttributes?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:731](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L731)

###### Parameters

###### forkchoiceState

`any`

###### payloadAttributes?

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_getBlobsV1()

> **engine\_getBlobsV1**(`blobVersionedHashes`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:760](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L760)

###### Parameters

###### blobVersionedHashes

`string`\[]

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### engine\_getPayloadBodiesByHashV1()

> **engine\_getPayloadBodiesByHashV1**(`blockHashes`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:793](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L793)

###### Parameters

###### blockHashes

`string`\[]

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### engine\_getPayloadBodiesByRangeV1()

> **engine\_getPayloadBodiesByRangeV1**(`start`, `count`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:805](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L805)

###### Parameters

###### start

`string`

###### count

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### engine\_getPayloadV1()

> **engine\_getPayloadV1**(`payloadId`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:745](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L745)

###### Parameters

###### payloadId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_getPayloadV2()

> **engine\_getPayloadV2**(`payloadId`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:750](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L750)

###### Parameters

###### payloadId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_getPayloadV3()

> **engine\_getPayloadV3**(`payloadId`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:755](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L755)

###### Parameters

###### payloadId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_newPayloadV1()

> **engine\_newPayloadV1**(`payload`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:678](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L678)

###### Parameters

###### payload

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_newPayloadV2()

> **engine\_newPayloadV2**(`payload`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:684](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L684)

###### Parameters

###### payload

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### engine\_newPayloadV3()

> **engine\_newPayloadV3**(`payload`, `expectedBlobVersionedHashes?`, `parentBeaconBlockRoot?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:689](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L689)

###### Parameters

###### payload

`any`

###### expectedBlobVersionedHashes?

`string`\[]

###### parentBeaconBlockRoot?

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_accounts()

> **eth\_accounts**(`options?`): `Promise`\<`Response`\<`string`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:326](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L326)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`\[]>>

##### eth\_blobBaseFee()

> **eth\_blobBaseFee**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:330](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L330)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_blockNumber()

> **eth\_blockNumber**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:334](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L334)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_call()

> **eth\_call**(`params`, `blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:339](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L339)

###### Parameters

###### params

`any`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_chainId()

> **eth\_chainId**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:343](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L343)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_coinbase()

> **eth\_coinbase**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:347](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L347)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_createAccessList()

> **eth\_createAccessList**(`params`, `blockTag`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:351](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L351)

###### Parameters

###### params

`any`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_estimateGas()

> **eth\_estimateGas**(`params`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:366](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L366)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_feeHistory()

> **eth\_feeHistory**(`blockCount`, `newestBlock`, `rewardPercentiles?`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:370](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L370)

###### Parameters

###### blockCount

`string`

###### newestBlock

`string`

###### rewardPercentiles?

`number`\[]

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_gasPrice()

> **eth\_gasPrice**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:383](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L383)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getBalance()

> **eth\_getBalance**(`address`, `blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:387](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L387)

###### Parameters

###### address

`string`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getBlockByHash()

> **eth\_getBlockByHash**(`blockHash`, `fullTransactions`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:399](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L399)

###### Parameters

###### blockHash

`string`

###### fullTransactions

`boolean` = `false`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getBlockByNumber()

> **eth\_getBlockByNumber**(`blockTag`, `fullTransactions`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:412](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L412)

###### Parameters

###### blockTag

`string`

###### fullTransactions

`boolean` = `false`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getBlockReceipts()

> **eth\_getBlockReceipts**(`blockTag`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:425](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L425)

###### Parameters

###### blockTag

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### eth\_getBlockTransactionCountByHash()

> **eth\_getBlockTransactionCountByHash**(`blockHash`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:430](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L430)

###### Parameters

###### blockHash

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getBlockTransactionCountByNumber()

> **eth\_getBlockTransactionCountByNumber**(`blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:441](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L441)

###### Parameters

###### blockTag

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getCode()

> **eth\_getCode**(`address`, `blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:452](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L452)

###### Parameters

###### address

`string`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getFilterChanges()

> **eth\_getFilterChanges**(`filterId`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:456](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L456)

###### Parameters

###### filterId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### eth\_getFilterLogs()

> **eth\_getFilterLogs**(`filterId`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:461](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L461)

###### Parameters

###### filterId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### eth\_getLogs()

> **eth\_getLogs**(`params`, `options?`): `Promise`\<`Response`\<`any`\[]>>

Defined in: [src/provider/WebSocketProvider.ts:467](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L467)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`\[]>>

##### eth\_getProof()

> **eth\_getProof**(`address`, `storageKeys`, `blockTag`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:472](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L472)

###### Parameters

###### address

`string`

###### storageKeys

`string`\[]

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getStorageAt()

> **eth\_getStorageAt**(`address`, `position`, `blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:486](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L486)

###### Parameters

###### address

`string`

###### position

`string`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getTransactionByBlockHashAndIndex()

> **eth\_getTransactionByBlockHashAndIndex**(`blockHash`, `index`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:499](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L499)

###### Parameters

###### blockHash

`string`

###### index

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getTransactionByBlockNumberAndIndex()

> **eth\_getTransactionByBlockNumberAndIndex**(`blockTag`, `index`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:512](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L512)

###### Parameters

###### blockTag

`string`

###### index

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getTransactionByHash()

> **eth\_getTransactionByHash**(`txHash`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:525](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L525)

###### Parameters

###### txHash

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getTransactionCount()

> **eth\_getTransactionCount**(`address`, `blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:530](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L530)

###### Parameters

###### address

`string`

###### blockTag

`string` = `"latest"`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getTransactionReceipt()

> **eth\_getTransactionReceipt**(`txHash`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:542](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L542)

###### Parameters

###### txHash

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_getUncleCountByBlockHash()

> **eth\_getUncleCountByBlockHash**(`blockHash`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:547](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L547)

###### Parameters

###### blockHash

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_getUncleCountByBlockNumber()

> **eth\_getUncleCountByBlockNumber**(`blockTag`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:555](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L555)

###### Parameters

###### blockTag

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_maxPriorityFeePerGas()

> **eth\_maxPriorityFeePerGas**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:563](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L563)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_newBlockFilter()

> **eth\_newBlockFilter**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:567](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L567)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_newFilter()

> **eth\_newFilter**(`params`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:572](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L572)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_newPendingTransactionFilter()

> **eth\_newPendingTransactionFilter**(`options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:576](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L576)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_sendRawTransaction()

> **eth\_sendRawTransaction**(`signedTx`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:584](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L584)

###### Parameters

###### signedTx

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_sendTransaction()

> **eth\_sendTransaction**(`params`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:589](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L589)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_sign()

> **eth\_sign**(`address`, `data`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:593](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L593)

###### Parameters

###### address

`string`

###### data

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_signTransaction()

> **eth\_signTransaction**(`params`, `options?`): `Promise`\<`Response`\<`string`>>

Defined in: [src/provider/WebSocketProvider.ts:598](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L598)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`string`>>

##### eth\_simulateV1()

> **eth\_simulateV1**(`params`, `options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:603](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L603)

###### Parameters

###### params

`any`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_syncing()

> **eth\_syncing**(`options?`): `Promise`\<`Response`\<`any`>>

Defined in: [src/provider/WebSocketProvider.ts:608](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L608)

###### Parameters

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`any`>>

##### eth\_uninstallFilter()

> **eth\_uninstallFilter**(`filterId`, `options?`): `Promise`\<`Response`\<`boolean`>>

Defined in: [src/provider/WebSocketProvider.ts:613](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L613)

###### Parameters

###### filterId

`string`

###### options?

[`RequestOptions`](#requestoptions)

###### Returns

`Promise`\<`Response`\<`boolean`>>

##### on()

> **on**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/WebSocketProvider.ts:283](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L283)

Register event listener (EIP-1193)

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`on`](#on-8)

##### removeListener()

> **removeListener**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/WebSocketProvider.ts:298](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L298)

Remove event listener (EIP-1193)

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

###### listener

(...`args`) => `void`

###### Returns

`this`

###### Implementation of

[`Provider`](#provider).[`removeListener`](#removelistener-8)

##### request()

> **request**(`args`): `Promise`\<`unknown`>

Defined in: [src/provider/WebSocketProvider.ts:194](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L194)

EIP-1193 request method (public interface)
Submits JSON-RPC request and returns result or throws RpcError

###### Parameters

###### args

[`LegacyRequestArguments`](#legacyrequestarguments)

###### Returns

`Promise`\<`unknown`>

###### Implementation of

[`Provider`](#provider).[`request`](#request-6)

## Interfaces

### EIP1193EventEmitter

Defined in: [src/provider/events/EIP1193Events.ts:123](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L123)

Generic event emitter interface

#### Type Parameters

##### TEventMap

`TEventMap` *extends* `Record`\<`string`, (...`args`) => `void`> = [`EIP1193EventMap`](#eip1193eventmap)

Event map defining available events

#### Methods

##### emit()

> **emit**(`eventName`, ...`args`): `boolean`

Defined in: [src/provider/events/EIP1193Events.ts:148](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L148)

**`Internal`**

Emit event (internal use)

###### Parameters

###### eventName

keyof `TEventMap`

###### args

...`any`\[]

###### Returns

`boolean`

##### on()

> **on**\<`TEvent`>(`event`, `listener`): `this`

Defined in: [src/provider/events/EIP1193Events.ts:130](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L130)

Register event listener

###### Type Parameters

###### TEvent

`TEvent` *extends* `string` | `number` | `symbol`

###### Parameters

###### event

`TEvent`

###### listener

`TEventMap`\[`TEvent`]

###### Returns

`this`

##### removeListener()

> **removeListener**\<`TEvent`>(`event`, `listener`): `this`

Defined in: [src/provider/events/EIP1193Events.ts:138](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L138)

Remove event listener

###### Type Parameters

###### TEvent

`TEvent` *extends* `string` | `number` | `symbol`

###### Parameters

###### event

`TEvent`

###### listener

`TEventMap`\[`TEvent`]

###### Returns

`this`

***

### EIP1193EventMap

Defined in: [src/provider/events/EIP1193Events.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L38)

Standard EIP-1193 event map

Defines the five standard events specified in EIP-1193.
Providers MAY extend this with custom events.

#### Example

```typescript theme={null}
// Standard events only
type StandardProvider = {
  on<TEvent extends keyof EIP1193EventMap>(
    event: TEvent,
    listener: EIP1193EventMap[TEvent]
  ): void;
};

// Extended events
type ExtendedEventMap = EIP1193EventMap & {
  newBlock(block: Block): void;
  newTransaction(tx: Transaction): void;
};
```

#### Extends

* `Record`\<`string`, (...`args`) => `void`>

#### Indexable

\[`key`: `string`]: (...`args`) => `void`

#### Methods

##### accountsChanged()

> **accountsChanged**(`accounts`): `void`

Defined in: [src/provider/events/EIP1193Events.ts:99](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L99)

Emitted when available accounts change

###### Parameters

###### accounts

`string`\[]

New accounts array (per eth\_accounts)

###### Returns

`void`

###### Example

```typescript theme={null}
provider.on('accountsChanged', (accounts) => {
  if (accounts.length === 0) {
    console.log('Disconnected');
  } else {
    console.log('Active account:', accounts[0]);
  }
});
```

##### chainChanged()

> **chainChanged**(`chainId`): `void`

Defined in: [src/provider/events/EIP1193Events.ts:81](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L81)

Emitted when active chain changes

###### Parameters

###### chainId

`string`

New chain ID (hex string per eth\_chainId)

###### Returns

`void`

###### Example

```typescript theme={null}
provider.on('chainChanged', (chainId) => {
  console.log('Switched to chain:', parseInt(chainId, 16));
});
```

##### connect()

> **connect**(`connectInfo`): `void`

Defined in: [src/provider/events/EIP1193Events.ts:53](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L53)

Emitted when Provider connects to a chain

###### Parameters

###### connectInfo

[`ProviderConnectInfo`](#providerconnectinfo)

Chain connection information

###### Returns

`void`

###### Example

```typescript theme={null}
provider.on('connect', ({ chainId }) => {
  console.log('Connected to chain:', chainId);
});
```

##### disconnect()

> **disconnect**(`error`): `void`

Defined in: [src/provider/events/EIP1193Events.ts:67](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L67)

Emitted when Provider disconnects from ALL chains

###### Parameters

###### error

[`ProviderRpcError`](#providerrpcerror)

Disconnect error (code from CloseEvent spec)

###### Returns

`void`

###### Example

```typescript theme={null}
provider.on('disconnect', (error) => {
  console.error('Disconnected:', error.message, error.code);
});
```

##### message()

> **message**(`message`): `void`

Defined in: [src/provider/events/EIP1193Events.ts:115](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Events.ts#L115)

Emitted for arbitrary notifications (subscriptions, etc)

###### Parameters

###### message

[`ProviderMessage`](#providermessage)

Provider message

###### Returns

`void`

###### Example

```typescript theme={null}
provider.on('message', ({ type, data }) => {
  if (type === 'eth_subscription') {
    console.log('Subscription update:', data);
  }
});
```

***

### EIP1193RequestOptions

Defined in: [src/provider/request/EIP1193RequestOptions.ts:20](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/EIP1193RequestOptions.ts#L20)

Optional request configuration

#### Example

```typescript theme={null}
const result = await provider.request(
  { method: 'eth_blockNumber' },
  { retryCount: 3, retryDelay: 1000 }
);
```

#### Properties

##### retryCount?

> `optional` **retryCount**: `number`

Defined in: [src/provider/request/EIP1193RequestOptions.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/EIP1193RequestOptions.ts#L22)

Max number of retries (default: 0)

##### retryDelay?

> `optional` **retryDelay**: `number`

Defined in: [src/provider/request/EIP1193RequestOptions.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/EIP1193RequestOptions.ts#L24)

Base delay between retries in ms (default: 0)

##### timeout?

> `optional` **timeout**: `number`

Defined in: [src/provider/request/EIP1193RequestOptions.ts:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/EIP1193RequestOptions.ts#L26)

Request timeout in ms (optional)

***

### EthSubscription

Defined in: [src/provider/events/EIP1193Provider.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L36)

Ethereum subscription message

Specialized message for eth\_subscribe notifications

#### Extends

* [`ProviderMessage`](#providermessage)

#### Properties

##### data

> `readonly` **data**: `object`

Defined in: [src/provider/events/EIP1193Provider.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L38)

Message payload

###### result

> **result**: `unknown`

###### subscription

> **subscription**: `string`

###### Overrides

[`ProviderMessage`](#providermessage).[`data`](#data-2)

##### type

> `readonly` **type**: `"eth_subscription"`

Defined in: [src/provider/events/EIP1193Provider.ts:37](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L37)

Message type identifier

###### Overrides

[`ProviderMessage`](#providermessage).[`type`](#type-1)

***

### HttpProviderOptions

Defined in: [src/provider/HttpProvider.ts:32](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L32)

HTTP configuration options

#### Properties

##### headers?

> `optional` **headers**: `Record`\<`string`, `string`>

Defined in: [src/provider/HttpProvider.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L36)

Optional HTTP headers

##### retry?

> `optional` **retry**: `number`

Defined in: [src/provider/HttpProvider.ts:40](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L40)

Default retry attempts

##### retryDelay?

> `optional` **retryDelay**: `number`

Defined in: [src/provider/HttpProvider.ts:42](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L42)

Default retry delay in ms

##### timeout?

> `optional` **timeout**: `number`

Defined in: [src/provider/HttpProvider.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L38)

Default request timeout in ms

##### url

> **url**: `string`

Defined in: [src/provider/HttpProvider.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/HttpProvider.ts#L34)

JSON-RPC endpoint URL

***

### InMemoryProviderOptions

Defined in: [src/provider/InMemoryProvider.ts:28](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L28)

In-Memory Provider configuration options

#### Properties

##### accounts?

> `optional` **accounts**: `object`\[]

Defined in: [src/provider/InMemoryProvider.ts:36](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L36)

Initial accounts with balances

###### address

> **address**: `string`

###### balance

> **balance**: `string`

###### privateKey?

> `optional` **privateKey**: `string`

##### baseFeePerGas?

> `optional` **baseFeePerGas**: `bigint`

Defined in: [src/provider/InMemoryProvider.ts:46](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L46)

Base fee per gas (default: 1000000000 = 1 gwei)

##### blockGasLimit?

> `optional` **blockGasLimit**: `bigint`

Defined in: [src/provider/InMemoryProvider.ts:44](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L44)

Block gas limit (default: 30000000)

##### blockNumber?

> `optional` **blockNumber**: `bigint`

Defined in: [src/provider/InMemoryProvider.ts:42](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L42)

Initial block number (default: 0)

##### chainId?

> `optional` **chainId**: `number`

Defined in: [src/provider/InMemoryProvider.ts:30](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L30)

Chain ID (default: 1)

##### mining?

> `optional` **mining**: `"interval"` | `"auto"` | `"manual"`

Defined in: [src/provider/InMemoryProvider.ts:32](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L32)

Mining mode: auto, interval, or manual (default: auto)

##### miningInterval?

> `optional` **miningInterval**: `number`

Defined in: [src/provider/InMemoryProvider.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/InMemoryProvider.ts#L34)

Mining interval in ms (when mode is 'interval')

***

### LegacyProviderConnectInfo

Defined in: [src/provider/types.ts:78](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L78)

EIP-1193 chain information for connect event

#### Properties

##### chainId

> **chainId**: `string`

Defined in: [src/provider/types.ts:80](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L80)

Chain ID as hex string

***

### LegacyProviderEventMap

Defined in: [src/provider/types.ts:86](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L86)

EIP-1193 provider events

#### Properties

##### accountsChanged

> **accountsChanged**: \[`string`\[]]

Defined in: [src/provider/types.ts:88](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L88)

Emitted when accounts change

##### chainChanged

> **chainChanged**: \[`string`]

Defined in: [src/provider/types.ts:90](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L90)

Emitted when chain changes

##### connect

> **connect**: \[[`LegacyProviderConnectInfo`](#legacyproviderconnectinfo)]

Defined in: [src/provider/types.ts:92](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L92)

Emitted when provider connects

##### disconnect

> **disconnect**: \[[`RpcError`](#rpcerror)]

Defined in: [src/provider/types.ts:94](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L94)

Emitted when provider disconnects

##### message

> **message**: \[`object`]

Defined in: [src/provider/types.ts:96](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L96)

Emitted for custom messages

***

### LegacyRequestArguments

Defined in: [src/provider/types.ts:12](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L12)

EIP-1193 request arguments

#### Properties

##### method

> `readonly` **method**: `string`

Defined in: [src/provider/types.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L14)

JSON-RPC method name

##### params?

> `readonly` `optional` **params**: `object` | readonly `unknown`\[]

Defined in: [src/provider/types.ts:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L16)

Method parameters (array or object)

***

### Provider

Defined in: [src/provider/Provider.ts:40](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/Provider.ts#L40)

EIP-1193 Provider interface for Ethereum JSON-RPC communication

Compliant with EIP-1193 specification:

* Single request() method for all RPC calls
* EventEmitter for blockchain events (accountsChanged, chainChanged, etc.)
* Throws RpcError on failures (does not return error objects)

#### Example

```typescript theme={null}
const provider: Provider = new HttpProvider('https://eth.example.com');

// Make requests
const blockNumber = await provider.request({
  method: 'eth_blockNumber',
  params: []
});

// Listen to events
provider.on('chainChanged', (chainId) => {
  console.log('Chain changed:', chainId);
});
```

#### Methods

##### on()

> **on**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/Provider.ts:57](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/Provider.ts#L57)

Register event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

Event name

###### listener

(...`args`) => `void`

Event listener callback

###### Returns

`this`

Provider instance for chaining

##### removeListener()

> **removeListener**\<`E`>(`event`, `listener`): `this`

Defined in: [src/provider/Provider.ts:69](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/Provider.ts#L69)

Remove event listener

###### Type Parameters

###### E

`E` *extends* keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

###### Parameters

###### event

`E`

Event name

###### listener

(...`args`) => `void`

Event listener callback to remove

###### Returns

`this`

Provider instance for chaining

##### request()

> **request**(`args`): `Promise`\<`unknown`>

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

Submit JSON-RPC request to provider

###### Parameters

###### args

[`LegacyRequestArguments`](#legacyrequestarguments)

Request arguments containing method and params

###### Returns

`Promise`\<`unknown`>

Promise resolving to the result

###### Throws

RpcError on failure

***

### ProviderConnectInfo

Defined in: [src/provider/events/EIP1193Provider.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L14)

Connection information

Provided in 'connect' event

#### Properties

##### chainId

> `readonly` **chainId**: `string`

Defined in: [src/provider/events/EIP1193Provider.ts:16](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L16)

Chain ID as hex string (per eth\_chainId)

***

### ProviderMessage

Defined in: [src/provider/events/EIP1193Provider.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L24)

Provider message

Used for 'message' event (subscriptions, notifications)

#### Extended by

* [`EthSubscription`](#ethsubscription)

#### Properties

##### data

> `readonly` **data**: `unknown`

Defined in: [src/provider/events/EIP1193Provider.ts:28](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L28)

Message payload

##### type

> `readonly` **type**: `string`

Defined in: [src/provider/events/EIP1193Provider.ts:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/EIP1193Provider.ts#L26)

Message type identifier

***

### RequestArguments

Defined in: [src/provider/request/RequestArguments.ts:29](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/RequestArguments.ts#L29)

EIP-1193 request arguments

#### Example

```typescript theme={null}
const args: RequestArguments<VoltaireRpcSchema, 'eth_call'> = {
  method: 'eth_call',
  params: [{ to: '0x...', data: '0x...' }, 'latest']
};
```

#### Type Parameters

##### TRpcSchema

`TRpcSchema` *extends* [`RpcSchema`](#rpcschema)

RPC schema

##### TMethod

`TMethod` *extends* [`RpcMethodNames`](#rpcmethodnames)\<`TRpcSchema`> = [`RpcMethodNames`](#rpcmethodnames)\<`TRpcSchema`>

Specific method name

#### Properties

##### method

> `readonly` **method**: `TMethod`

Defined in: [src/provider/request/RequestArguments.ts:33](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/RequestArguments.ts#L33)

##### params?

> `readonly` `optional` **params**: [`RpcMethodParameters`](#rpcmethodparameters)\<`TRpcSchema`, `TMethod`>

Defined in: [src/provider/request/RequestArguments.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/RequestArguments.ts#L34)

***

### RequestOptions

Defined in: [src/provider/types.ts:50](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L50)

Optional configuration for provider requests

#### Properties

##### retry?

> `optional` **retry**: `number`

Defined in: [src/provider/types.ts:54](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L54)

Number of retry attempts on failure

##### retryDelay?

> `optional` **retryDelay**: `number`

Defined in: [src/provider/types.ts:56](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L56)

Delay between retries in milliseconds

##### timeout?

> `optional` **timeout**: `number`

Defined in: [src/provider/types.ts:52](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L52)

Request timeout in milliseconds

***

### RpcError

Defined in: [src/provider/types.ts:22](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L22)

JSON-RPC error response

#### Properties

##### code

> **code**: `number`

Defined in: [src/provider/types.ts:24](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L24)

Error code (EIP-1193 or JSON-RPC 2.0)

##### data?

> `optional` **data**: `unknown`

Defined in: [src/provider/types.ts:28](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L28)

Optional error data

##### message

> **message**: `string`

Defined in: [src/provider/types.ts:26](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L26)

Human-readable error message

***

### TypedProvider

Defined in: [src/provider/TypedProvider.ts:30](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/TypedProvider.ts#L30)

Generic Ethereum Provider interface

#### Example

```typescript theme={null}
import type { TypedProvider, VoltaireRpcSchema, EIP1193EventMap } from './provider/index.js';

// Provider with Voltaire's full JSON-RPC schema
type VoltaireProvider = TypedProvider<VoltaireRpcSchema, EIP1193EventMap>;

// Provider with custom schema
type CustomProvider = TypedProvider<MyCustomSchema, MyEventMap>;
```

#### Type Parameters

##### TRpcSchema

`TRpcSchema` *extends* [`RpcSchema`](#rpcschema) = [`RpcSchema`](#rpcschema)

RPC schema defining supported methods

##### TEventMap

`TEventMap` *extends* `Record`\<`string`, (...`args`) => `void`> = [`EIP1193EventMap`](#eip1193eventmap)

Event map defining supported events (defaults to standard EIP-1193)

#### Properties

##### request

> **request**: [`EIP1193RequestFn`](#eip1193requestfn)\<`TRpcSchema`>

Defined in: [src/provider/TypedProvider.ts:50](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/TypedProvider.ts#L50)

Execute JSON-RPC request

###### Param

Request arguments (method + params)

###### Param

Optional request configuration (retry, timeout)

###### Returns

Promise resolving to method-specific return type

###### Example

```typescript theme={null}
const blockNumber = await provider.request({
  method: 'eth_blockNumber',
  params: []
});
```

#### Methods

##### on()

> **on**\<`TEvent`>(`event`, `listener`): `this`

Defined in: [src/provider/TypedProvider.ts:65](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/TypedProvider.ts#L65)

Register event listener

###### Type Parameters

###### TEvent

`TEvent` *extends* `string` | `number` | `symbol`

###### Parameters

###### event

`TEvent`

Event name

###### listener

`TEventMap`\[`TEvent`]

Event handler

###### Returns

`this`

###### Example

```typescript theme={null}
provider.on('chainChanged', (chainId: string) => {
  console.log('Chain changed to:', chainId);
});
```

##### removeListener()

> **removeListener**\<`TEvent`>(`event`, `listener`): `this`

Defined in: [src/provider/TypedProvider.ts:76](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/TypedProvider.ts#L76)

Remove event listener

###### Type Parameters

###### TEvent

`TEvent` *extends* `string` | `number` | `symbol`

###### Parameters

###### event

`TEvent`

Event name

###### listener

`TEventMap`\[`TEvent`]

Event handler to remove

###### Returns

`this`

***

### WebSocketProviderOptions

Defined in: [src/provider/WebSocketProvider.ts:23](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L23)

WebSocket configuration options

#### Properties

##### maxReconnectAttempts?

> `optional` **maxReconnectAttempts**: `number`

Defined in: [src/provider/WebSocketProvider.ts:33](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L33)

Max reconnect attempts (0 = infinite)

##### protocols?

> `optional` **protocols**: `string` | `string`\[]

Defined in: [src/provider/WebSocketProvider.ts:27](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L27)

WebSocket protocols

##### reconnect?

> `optional` **reconnect**: `boolean`

Defined in: [src/provider/WebSocketProvider.ts:29](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L29)

Reconnect automatically on disconnect

##### reconnectDelay?

> `optional` **reconnectDelay**: `number`

Defined in: [src/provider/WebSocketProvider.ts:31](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L31)

Reconnect delay in ms

##### url

> **url**: `string`

Defined in: [src/provider/WebSocketProvider.ts:25](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/WebSocketProvider.ts#L25)

WebSocket endpoint URL

## Type Aliases

### BlockTag

> **BlockTag** = `"latest"` | `"earliest"` | `"pending"` | `"safe"` | `"finalized"` | `string`

Defined in: [src/provider/types.ts:62](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L62)

Block tag for specifying block context

***

### DerivedRpcSchema

> **DerivedRpcSchema**\<`TBase`, `TOverride`> = `TOverride` *extends* [`RpcSchema`](#rpcschema) ? `TOverride` : `TBase` *extends* [`RpcSchema`](#rpcschema) ? `TBase` : [`RpcSchema`](#rpcschema)

Defined in: [src/provider/schemas/DerivedRpcSchema.ts:38](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/schemas/DerivedRpcSchema.ts#L38)

Derive RPC schema from base and override

Allows extending a base schema with additional methods or overriding existing ones.

#### Type Parameters

##### TBase

`TBase` *extends* [`RpcSchema`](#rpcschema) | `undefined`

Base schema

##### TOverride

`TOverride` *extends* [`RpcSchemaOverride`](#rpcschemaoverride) = `undefined`

Override schema (optional)

#### Example

```typescript theme={null}
type BaseSchema = readonly [
  { Method: 'eth_blockNumber', Parameters: [], ReturnType: string }
];

type CustomSchema = readonly [
  { Method: 'custom_method', Parameters: [string], ReturnType: number }
];

type Combined = DerivedRpcSchema<BaseSchema, CustomSchema>;
// Result: both eth_blockNumber and custom_method are available
```

***

### EIP1193Provider

> **EIP1193Provider** = [`TypedProvider`](#typedprovider)\<[`RpcSchema`](#rpcschema), [`EIP1193EventMap`](#eip1193eventmap)>

Defined in: [src/provider/TypedProvider.ts:87](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/TypedProvider.ts#L87)

Standard EIP-1193 provider type alias

Uses generic RpcSchema (any methods) with standard EIP-1193 events

***

### EIP1193RequestFn()

> **EIP1193RequestFn**\<`TRpcSchema`> = \<`TMethod`>(`args`, `options?`) => `Promise`\<[`RpcMethodReturnType`](#rpcmethodreturntype)\<`TRpcSchema`, `TMethod`>>

Defined in: [src/provider/request/EIP1193RequestFn.ts:45](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/request/EIP1193RequestFn.ts#L45)

Type-safe EIP-1193 request function

#### Type Parameters

##### TRpcSchema

`TRpcSchema` *extends* [`RpcSchema`](#rpcschema)

RPC schema defining supported methods

Generic request function that:

* Accepts method name and parameters
* Returns Promise with method-specific return type
* Supports optional request configuration

#### Type Parameters

##### TMethod

`TMethod` *extends* [`RpcMethodNames`](#rpcmethodnames)\<`TRpcSchema`>

#### Parameters

##### args

[`RequestArguments`](#requestarguments)\<`TRpcSchema`, `TMethod`>

##### options?

[`EIP1193RequestOptions`](#eip1193requestoptions)

#### Returns

`Promise`\<[`RpcMethodReturnType`](#rpcmethodreturntype)\<`TRpcSchema`, `TMethod`>>

#### Example

```typescript theme={null}
const request: EIP1193RequestFn<VoltaireRpcSchema> = async (args, options) => {
  // Implementation
};

// Type-safe: return type inferred as string
const blockNumber = await request({
  method: 'eth_blockNumber'
});

// Type-safe: params validated, return type inferred
const balance = await request({
  method: 'eth_getBalance',
  params: ['0x123...', 'latest']
});
```

***

### ProviderEvent

> **ProviderEvent** = keyof [`LegacyProviderEventMap`](#legacyprovidereventmap)

Defined in: [src/provider/types.ts:102](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L102)

Event names for EIP-1193 provider

***

### ProviderEventListener()

> **ProviderEventListener** = (...`args`) => `void`

Defined in: [src/provider/types.ts:73](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/types.ts#L73)

EIP-1193 event listener

#### Parameters

##### args

...`unknown`\[]

#### Returns

`void`

***

### RpcMethodNames

> **RpcMethodNames**\<`TSchema`> = `TSchema`\[`number`]\[`"Method"`]

Defined in: [src/provider/RpcSchema.ts:49](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/RpcSchema.ts#L49)

Extract method names from schema

#### Type Parameters

##### TSchema

`TSchema` *extends* [`RpcSchema`](#rpcschema)

#### Example

```typescript theme={null}
type Methods = RpcMethodNames<VoltaireRpcSchema>;
// => 'eth_blockNumber' | 'eth_call' | 'debug_traceTransaction' | ...
```

***

### RpcMethodParameters

> **RpcMethodParameters**\<`TSchema`, `TMethod`> = `Extract`\<`TSchema`\[`number`], \{ `Method`: `TMethod`; }>\[`"Parameters"`]

Defined in: [src/provider/RpcSchema.ts:61](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/RpcSchema.ts#L61)

Extract parameters for specific method

#### Type Parameters

##### TSchema

`TSchema` *extends* [`RpcSchema`](#rpcschema)

##### TMethod

`TMethod` *extends* [`RpcMethodNames`](#rpcmethodnames)\<`TSchema`>

#### Example

```typescript theme={null}
type CallParams = RpcMethodParameters<VoltaireRpcSchema, 'eth_call'>;
// => [{ to: string, data: string, ... }, string]
```

***

### RpcMethodReturnType

> **RpcMethodReturnType**\<`TSchema`, `TMethod`> = `Extract`\<`TSchema`\[`number`], \{ `Method`: `TMethod`; }>\[`"ReturnType"`]

Defined in: [src/provider/RpcSchema.ts:75](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/RpcSchema.ts#L75)

Extract return type for specific method

#### Type Parameters

##### TSchema

`TSchema` *extends* [`RpcSchema`](#rpcschema)

##### TMethod

`TMethod` *extends* [`RpcMethodNames`](#rpcmethodnames)\<`TSchema`>

#### Example

```typescript theme={null}
type CallReturn = RpcMethodReturnType<VoltaireRpcSchema, 'eth_call'>;
// => string (hex-encoded bytes)
```

***

### RpcSchema

> **RpcSchema** = readonly `object`\[]

Defined in: [src/provider/RpcSchema.ts:34](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/RpcSchema.ts#L34)

Base RPC schema type

Readonly array of method definitions. Each entry maps:

* Method: JSON-RPC method name
* Parameters: Input parameter types (optional)
* ReturnType: Expected return type

#### Example

```typescript theme={null}
const MySchema = [
  {
    Method: 'eth_blockNumber',
    Parameters: [],
    ReturnType: string
  },
  {
    Method: 'eth_call',
    Parameters: [{ to: string, data: string }, string],
    ReturnType: string
  }
] as const satisfies RpcSchema;
```

***

### RpcSchemaOverride

> **RpcSchemaOverride** = [`RpcSchema`](#rpcschema) | `undefined`

Defined in: [src/provider/schemas/DerivedRpcSchema.ts:14](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/schemas/DerivedRpcSchema.ts#L14)

Schema override type

***

### VoltaireRpcSchema

> **VoltaireRpcSchema** = readonly \[\{ `Method`: `"eth_accounts"`; `Parameters`: \[]; `ReturnType`: `string`\[]; }, \{ `Method`: `"eth_blobBaseFee"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_blockNumber"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_call"`; `Parameters`: \[\{ `data?`: `string`; `from?`: `string`; `gas?`: `string`; `gasPrice?`: `string`; `to`: `string`; `value?`: `string`; }, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_chainId"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_coinbase"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_createAccessList"`; `Parameters`: \[\{ `data?`: `string`; `from?`: `string`; `gas?`: `string`; `gasPrice?`: `string`; `to`: `string`; `value?`: `string`; }, `string`]; `ReturnType`: \{ `accessList`: `object`\[]; `gasUsed`: `string`; }; }, \{ `Method`: `"eth_estimateGas"`; `Parameters`: \[\{ `data?`: `string`; `from?`: `string`; `gas?`: `string`; `gasPrice?`: `string`; `to?`: `string`; `value?`: `string`; }, `string`?]; `ReturnType`: `string`; }, \{ `Method`: `"eth_feeHistory"`; `Parameters`: \[`string`, `string`, `number`\[]?]; `ReturnType`: \{ `baseFeePerGas`: `string`\[]; `gasUsedRatio`: `number`\[]; `oldestBlock`: `string`; `reward?`: `string`\[]\[]; }; }, \{ `Method`: `"eth_gasPrice"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getBalance"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getBlockByHash"`; `Parameters`: \[`string`, `boolean`]; `ReturnType`: [`BlockType`](../primitives/Block.mdx#blocktype) | `null`; }, \{ `Method`: `"eth_getBlockByNumber"`; `Parameters`: \[`string`, `boolean`]; `ReturnType`: [`BlockType`](../primitives/Block.mdx#blocktype) | `null`; }, \{ `Method`: `"eth_getBlockReceipts"`; `Parameters`: \[`string`]; `ReturnType`: [`ReceiptType`](../primitives/Receipt.mdx#receipttype)\[] | `null`; }, \{ `Method`: `"eth_getBlockTransactionCountByHash"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getBlockTransactionCountByNumber"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getCode"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getFilterChanges"`; `Parameters`: \[`string`]; `ReturnType`: [`EventLogType`](../primitives/EventLog.mdx#eventlogtype)\[] | `string`\[]; }, \{ `Method`: `"eth_getFilterLogs"`; `Parameters`: \[`string`]; `ReturnType`: [`EventLogType`](../primitives/EventLog.mdx#eventlogtype)\[]; }, \{ `Method`: `"eth_getLogs"`; `Parameters`: \[\{ `address?`: `string` | `string`\[]; `blockHash?`: `string`; `fromBlock?`: `string`; `toBlock?`: `string`; `topics?`: (`string` | `string`\[] | `null`)\[]; }]; `ReturnType`: [`EventLogType`](../primitives/EventLog.mdx#eventlogtype)\[]; }, \{ `Method`: `"eth_getProof"`; `Parameters`: \[`string`, `string`\[], `string`]; `ReturnType`: \{ `accountProof`: `string`\[]; `balance`: `string`; `codeHash`: `string`; `nonce`: `string`; `storageHash`: `string`; `storageProof`: `object`\[]; }; }, \{ `Method`: `"eth_getStorageAt"`; `Parameters`: \[`string`, `string`, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getTransactionByBlockHashAndIndex"`; `Parameters`: \[`string`, `string`]; `ReturnType`: [`Any`](../primitives/Transaction/index.mdx#any) | `null`; }, \{ `Method`: `"eth_getTransactionByBlockNumberAndIndex"`; `Parameters`: \[`string`, `string`]; `ReturnType`: [`Any`](../primitives/Transaction/index.mdx#any) | `null`; }, \{ `Method`: `"eth_getTransactionByHash"`; `Parameters`: \[`string`]; `ReturnType`: [`Any`](../primitives/Transaction/index.mdx#any) | `null`; }, \{ `Method`: `"eth_getTransactionCount"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getTransactionReceipt"`; `Parameters`: \[`string`]; `ReturnType`: [`ReceiptType`](../primitives/Receipt.mdx#receipttype) | `null`; }, \{ `Method`: `"eth_getUncleByBlockHashAndIndex"`; `Parameters`: \[`string`, `string`]; `ReturnType`: [`BlockType`](../primitives/Block.mdx#blocktype) | `null`; }, \{ `Method`: `"eth_getUncleByBlockNumberAndIndex"`; `Parameters`: \[`string`, `string`]; `ReturnType`: [`BlockType`](../primitives/Block.mdx#blocktype) | `null`; }, \{ `Method`: `"eth_getUncleCountByBlockHash"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getUncleCountByBlockNumber"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_getWork"`; `Parameters`: \[]; `ReturnType`: \[`string`, `string`, `string`]; }, \{ `Method`: `"eth_hashrate"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_maxPriorityFeePerGas"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_mining"`; `Parameters`: \[]; `ReturnType`: `boolean`; }, \{ `Method`: `"eth_newBlockFilter"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_newFilter"`; `Parameters`: \[\{ `address?`: `string` | `string`\[]; `fromBlock?`: `string`; `toBlock?`: `string`; `topics?`: (`string` | `string`\[] | `null`)\[]; }]; `ReturnType`: `string`; }, \{ `Method`: `"eth_newPendingTransactionFilter"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_protocolVersion"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"eth_sendRawTransaction"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_sendTransaction"`; `Parameters`: \[\{ `data?`: `string`; `from`: `string`; `gas?`: `string`; `gasPrice?`: `string`; `nonce?`: `string`; `to?`: `string`; `value?`: `string`; }]; `ReturnType`: `string`; }, \{ `Method`: `"eth_sign"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_signTransaction"`; `Parameters`: \[\{ `data?`: `string`; `from`: `string`; `gas?`: `string`; `gasPrice?`: `string`; `nonce?`: `string`; `to?`: `string`; `value?`: `string`; }]; `ReturnType`: `string`; }, \{ `Method`: `"eth_simulateV1"`; `Parameters`: \[`unknown`, `string`?]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"eth_submitHashrate"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"eth_submitWork"`; `Parameters`: \[`string`, `string`, `string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"eth_subscribe"`; `Parameters`: \[`string`, `...unknown[]`]; `ReturnType`: `string`; }, \{ `Method`: `"eth_syncing"`; `Parameters`: \[]; `ReturnType`: `false` | \{ `currentBlock`: `string`; `highestBlock`: `string`; `startingBlock`: `string`; }; }, \{ `Method`: `"eth_uninstallFilter"`; `Parameters`: \[`string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"eth_unsubscribe"`; `Parameters`: \[`string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"debug_getBadBlocks"`; `Parameters`: \[]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"debug_getRawBlock"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"debug_getRawHeader"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"debug_getRawReceipts"`; `Parameters`: \[`string`]; `ReturnType`: `string`\[]; }, \{ `Method`: `"debug_getRawTransaction"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"engine_exchangeCapabilities"`; `Parameters`: \[`string`\[]]; `ReturnType`: `string`\[]; }, \{ `Method`: `"engine_exchangeTransitionConfigurationV1"`; `Parameters`: \[`unknown`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_forkchoiceUpdatedV1"`; `Parameters`: \[`unknown`, `unknown`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_forkchoiceUpdatedV2"`; `Parameters`: \[`unknown`, `unknown`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_forkchoiceUpdatedV3"`; `Parameters`: \[`unknown`, `unknown`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getBlobsV1"`; `Parameters`: \[`string`\[]]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"engine_getBlobsV2"`; `Parameters`: \[`string`\[]]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"engine_getPayloadBodiesByHashV1"`; `Parameters`: \[`string`\[]]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"engine_getPayloadBodiesByRangeV1"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `unknown`\[]; }, \{ `Method`: `"engine_getPayloadV1"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getPayloadV2"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getPayloadV3"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getPayloadV4"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getPayloadV5"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_getPayloadV6"`; `Parameters`: \[`string`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_newPayloadV1"`; `Parameters`: \[`unknown`]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_newPayloadV2"`; `Parameters`: \[`unknown`, `string`\[]?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_newPayloadV3"`; `Parameters`: \[`unknown`, `string`\[]?, `string`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_newPayloadV4"`; `Parameters`: \[`unknown`, `string`\[]?, `string`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"engine_newPayloadV5"`; `Parameters`: \[`unknown`, `string`\[]?, `string`?]; `ReturnType`: `unknown`; }, \{ `Method`: `"web3_clientVersion"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"web3_sha3"`; `Parameters`: \[`string`]; `ReturnType`: `string`; }, \{ `Method`: `"net_version"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"net_listening"`; `Parameters`: \[]; `ReturnType`: `boolean`; }, \{ `Method`: `"net_peerCount"`; `Parameters`: \[]; `ReturnType`: `string`; }, \{ `Method`: `"txpool_status"`; `Parameters`: \[]; `ReturnType`: \{ `pending`: `string`; `queued`: `string`; }; }, \{ `Method`: `"txpool_content"`; `Parameters`: \[]; `ReturnType`: \{ `pending`: `Record`\<`string`, `Record`\<`string`, `unknown`>>; `queued`: `Record`\<`string`, `Record`\<`string`, `unknown`>>; }; }, \{ `Method`: `"txpool_inspect"`; `Parameters`: \[]; `ReturnType`: \{ `pending`: `Record`\<`string`, `Record`\<`string`, `string`>>; `queued`: `Record`\<`string`, `Record`\<`string`, `string`>>; }; }, \{ `Method`: `"anvil_impersonateAccount"`; `Parameters`: \[`string`]; `ReturnType`: `null`; }, \{ `Method`: `"anvil_stopImpersonatingAccount"`; `Parameters`: \[`string`]; `ReturnType`: `null`; }, \{ `Method`: `"anvil_setBalance"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `null`; }, \{ `Method`: `"anvil_setCode"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `null`; }, \{ `Method`: `"anvil_setNonce"`; `Parameters`: \[`string`, `string`]; `ReturnType`: `null`; }, \{ `Method`: `"anvil_setStorageAt"`; `Parameters`: \[`string`, `string`, `string`]; `ReturnType`: `null`; }, \{ `Method`: `"evm_increaseTime"`; `Parameters`: \[`number`]; `ReturnType`: `string`; }, \{ `Method`: `"evm_mine"`; `Parameters`: \[\{ `blocks?`: `number`; `timestamp?`: `number`; }?]; `ReturnType`: `string`; }, \{ `Method`: `"evm_revert"`; `Parameters`: \[`string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"evm_setAutomine"`; `Parameters`: \[`boolean`]; `ReturnType`: `null`; }, \{ `Method`: `"evm_setBlockGasLimit"`; `Parameters`: \[`string`]; `ReturnType`: `boolean`; }, \{ `Method`: `"evm_setIntervalMining"`; `Parameters`: \[`number`]; `ReturnType`: `null`; }, \{ `Method`: `"evm_setNextBlockTimestamp"`; `Parameters`: \[`number`]; `ReturnType`: `null`; }, \{ `Method`: `"evm_snapshot"`; `Parameters`: \[]; `ReturnType`: `string`; }]

Defined in: [src/provider/schemas/VoltaireRpcSchema.ts:41](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/schemas/VoltaireRpcSchema.ts#L41)

Voltaire's default RPC schema

Combines all JSON-RPC methods from:

* eth namespace (52 methods)
* debug namespace
* engine namespace
* web3 namespace
* net namespace
* txpool namespace
* anvil namespace (test methods)

#### Example

```typescript theme={null}
import type { TypedProvider, VoltaireRpcSchema } from './provider/index.js';

type VoltaireProvider = TypedProvider<VoltaireRpcSchema>;

const provider: VoltaireProvider = {
  request: async ({ method, params }) => {
    // Implementation
  },
  on: (event, listener) => provider,
  removeListener: (event, listener) => provider,
};
```

## Variables

### EIP1193ErrorCode

> `const` **EIP1193ErrorCode**: `object`

Defined in: [src/provider/events/ProviderRpcError.ts:46](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L46)

Standard EIP-1193 error codes

#### Type Declaration

##### ChainDisconnected

> `readonly` **ChainDisconnected**: `4901` = `4901`

Provider not connected to requested chain

##### Disconnected

> `readonly` **Disconnected**: `4900` = `4900`

Provider disconnected from all chains

##### Unauthorized

> `readonly` **Unauthorized**: `4100` = `4100`

Method/account not authorized

##### UnsupportedMethod

> `readonly` **UnsupportedMethod**: `4200` = `4200`

Method not supported

##### UserRejectedRequest

> `readonly` **UserRejectedRequest**: `4001` = `4001`

User rejected the request

***

### JsonRpcErrorCode

> `const` **JsonRpcErrorCode**: `object`

Defined in: [src/provider/events/ProviderRpcError.ts:62](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/events/ProviderRpcError.ts#L62)

JSON-RPC 2.0 error codes

#### Type Declaration

##### InternalError

> `readonly` **InternalError**: `-32603` = `-32603`

Internal error

##### InvalidParams

> `readonly` **InvalidParams**: `-32602` = `-32602`

Invalid parameters

##### InvalidRequest

> `readonly` **InvalidRequest**: `-32600` = `-32600`

Invalid request object

##### MethodNotFound

> `readonly` **MethodNotFound**: `-32601` = `-32601`

Method not found

##### ParseError

> `readonly` **ParseError**: `-32700` = `-32700`

Invalid JSON

## Functions

### fromEvm()

> **fromEvm**(`evmOrOptions`): [`Provider`](#provider)

Defined in: [src/provider/fromEvm.ts:189](https://github.com/evmts/voltaire/blob/bd6ec34405c15ad8cd51d11579d495dc53813482/src/provider/fromEvm.ts#L189)

Create a Provider from an EVM host-like object.
Accepts either a BrandedHost directly or an object with a `host` property.

#### Parameters

##### evmOrOptions

[`BrandedHost`](../evm/index.mdx#brandedhost) | `FromEvmOptions`

#### Returns

[`Provider`](#provider)
