# EVMBrowserSigner

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMBrowserSigner.ts:10](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMBrowserSigner.ts#L10)

Browser-based EVM signer, intended for injected/external wallets. This ensures no explicit `signTransaction()` flow is required and transaction submission goes through `sendTransaction()`.

## Extends

* [`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md)

## Constructors

### Constructor

```
new EVMBrowserSigner(

   account, 

   address, 

   usesECDSADN?): EVMBrowserSigner;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMBrowserSigner.ts:23](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMBrowserSigner.ts#L23)

#### Parameters

| Parameter      | Type      | Description                                                                                                                                                                                                                                    |
| -------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`      | `Signer`  | Signer account to request signatures and send transaction through                                                                                                                                                                              |
| `address`      | `string`  | Signer address                                                                                                                                                                                                                                 |
| `usesECDSADN?` | `boolean` | Optional flag indicating whether the signer supports signing using ECDSA-DN (deterministic nonce) algorithm, this allows the wallet to produce reproducible entropy. Only pass `true` here if you are 100% sure that the signer supports this! |

#### Returns

`EVMBrowserSigner`

#### Overrides

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`constructor`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#constructor)

## Properties

### account

```
account: Signer;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:34](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L34)

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`account`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#account)

***

### address

```
readonly address: string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:35](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L35)

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`address`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#address)

***

### getReproducibleEntropy()?

```
optional getReproducibleEntropy: (appName) => Promise<Buffer<ArrayBufferLike>>;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMBrowserSigner.ts:14](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMBrowserSigner.ts#L14)

#### Parameters

| Parameter | Type     |
| --------- | -------- |
| `appName` | `string` |

#### Returns

`Promise`<`Buffer`<`ArrayBufferLike`>>

***

### isManagingNoncesInternally

```
readonly isManagingNoncesInternally: boolean;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:36](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L36)

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`isManagingNoncesInternally`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#ismanagingnoncesinternally)

***

### type

```
type: "AtomiqAbstractSigner";
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:32](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L32)

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`type`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#type)

## Methods

### getAddress()

```
getAddress(): string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:54](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L54)

#### Returns

`string`

#### Inherit Doc

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`getAddress`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#getaddress)

***

### getReproducibleEntropyMessage()

```
static getReproducibleEntropyMessage(appName): string;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:28](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L28)

Returns a static message, which should be signed by the EVM wallets to generate reproducible entropy. Works when wallets use signing with deterministic nonce, such that signature over the same message always yields the same signature (same entropy).

#### Parameters

| Parameter | Type     | Description                                                                            |
| --------- | -------- | -------------------------------------------------------------------------------------- |
| `appName` | `string` | Application name to differentiate reproducible entropy generated across different apps |

#### Returns

`string`

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`getReproducibleEntropyMessage`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#getreproducibleentropymessage)

***

### sendTransaction()

```
sendTransaction(transaction, onBeforePublish?): Promise<TransactionResponse>;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMBrowserSigner.ts:55](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMBrowserSigner.ts#L55)

Signs and sends the provided EVM transaction. Maps common wallet rejection errors to a consistent user-facing message.

#### Parameters

| Parameter          | Type                                   | Description                                                                |
| ------------------ | -------------------------------------- | -------------------------------------------------------------------------- |
| `transaction`      | `TransactionRequest`                   | A transaction to sign and send                                             |
| `onBeforePublish?` | (`txId`, `rawTx`) => `Promise`<`void`> | Optional callback called after signing and before broadcast when available |

#### Returns

`Promise`<`TransactionResponse`>

#### Overrides

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`sendTransaction`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#sendtransaction)

***

### signTransaction()?

```
optional signTransaction(transaction): Promise<string>;
```

Defined in: [atomiq-chain-evm/src/evm/wallet/EVMSigner.ts:61](https://github.com/atomiqlabs/atomiq-chain-evm/blob/98ca6f16fbfb37e521f8c27b4f942642fe00c2ee/src/evm/wallet/EVMSigner.ts#L61)

#### Parameters

| Parameter     | Type                 |
| ------------- | -------------------- |
| `transaction` | `TransactionRequest` |

#### Returns

`Promise`<`string`>

#### Inherit Doc

#### Inherited from

[`EVMSigner`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md).[`signTransaction`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-chain-evm/src/classes/EVMSigner.md#signtransaction)
