# BrowserProvider

### Overview

The `BrowserProvider` is a new class in the **mitumJS (v2.2.0+)** designed to standardize communication between dApps and browser-based Mitum wallets (such as Fact Wallet).

This class follows the **EIP-1193** standard, acting as a high-level wrapper for the provider object injected by the wallet (e.g., `window.imfact`). It provides dApp developers with a convenient and familiar interface, similar to `ethers.js`'s `BrowserProvider`.

`BrowserProvider` class is used for *dApp-to-wallet* communication: requesting accounts, signing transactions, and handling wallet events.

#### Environment: Browser (ESM) Only

The `BrowserProvider` is intended **exclusively for browser environments** and should be used with the SDK's ES Module (ESM) bundle (`bundle.esm.mjs`). This bundle includes the necessary browser polyfills (like `Buffer`) automatically.

This class should **not** be used in Node.js (CJS) environments. For Node.js, use the main `Mitum` class for all operations.
