# Provider.createEmitter

Creates an EIP-1193 flavored event emitter to be injected onto a Provider.

## Imports

:::code-group
```ts [Named]
import { Provider } from 'ox'
```

```ts [Entrypoint]
import * as Provider from 'ox/Provider'
```
:::

## Examples

```ts twoslash
// @noErrors
import { Provider, RpcRequest, RpcResponse } from 'ox' // [!code focus]

// 1. Instantiate a Provider Emitter. // [!code focus]
const emitter = Provider.createEmitter() // [!code focus]

const store = RpcRequest.createStore()

const provider = Provider.from({
  // 2. Pass the Emitter to the Provider. // [!code focus]
  ...emitter, // [!code focus]
  async request(args) {
    return await fetch('https://1.rpc.thirdweb.com', {
      body: JSON.stringify(store.prepare(args)),
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      }
    })
      .then((res) => res.json())
      .then(RpcResponse.parse)
  }
})

// 3. Emit Provider Events. // [!code focus]
emitter.emit('accountsChanged', ['0x...']) // [!code focus]
```

## Definition

```ts
function createEmitter<eventMap>(): Emitter<eventMap>
```

**Source:** [src/core/Provider.ts](https://github.com/wevm/ox/blob/main/src/core/Provider.ts#L681)

## Return Type

An event emitter.

`Emitter<eventMap>`
