> ## Documentation Index
> Fetch the complete documentation index at: https://turnkey-0e7c1f5b-bc-add-sdk-typedoc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# EthereumWallet

# Class: EthereumWallet

Defined in: [packages/wallet-stamper/src/ethereum.ts:56](https://github.com/tkhq/sdk/blob/ee72856c3f450731d7501ab05001215768b71500/packages/wallet-stamper/src/ethereum.ts#L56)

EthereumWallet class extends the BaseEthereumWallet to provide
specific implementations for Ethereum-based wallets.

This class is responsible for signing messages using the Ethereum
provider available in the browser (e.g., MetaMask). It interacts
with the Ethereum provider to request account access and sign
messages.

## Extends

* [`BaseEthereumWallet`](../BaseEthereumWallet/readme)

## Constructors

### Constructor

> **new EthereumWallet**(): `EthereumWallet`

#### Returns

`EthereumWallet`

#### Inherited from

[`BaseEthereumWallet`](../BaseEthereumWallet/readme).[`constructor`](../BaseEthereumWallet/readme#constructor)

## Properties

### type

> **type**: [`Ethereum`](../WalletType/readme#ethereum) = `WalletType.Ethereum`

Defined in: [packages/wallet-stamper/src/ethereum.ts:24](https://github.com/tkhq/sdk/blob/ee72856c3f450731d7501ab05001215768b71500/packages/wallet-stamper/src/ethereum.ts#L24)

The type of the wallet.

#### Inherited from

[`BaseEthereumWallet`](../BaseEthereumWallet/readme).[`type`](../BaseEthereumWallet/readme#type)

## Methods

### getPublicKey()

> **getPublicKey**(): `Promise`\<`string`>

Defined in: [packages/wallet-stamper/src/ethereum.ts:40](https://github.com/tkhq/sdk/blob/ee72856c3f450731d7501ab05001215768b71500/packages/wallet-stamper/src/ethereum.ts#L40)

Returns the public key, which is the SECP256K1 hex encoded public key from your Ethereum wallet.

#### Returns

`Promise`\<`string`>

A promise that resolves to a string representing the compressed public key.

#### Inherited from

[`BaseEthereumWallet`](../BaseEthereumWallet/readme).[`getPublicKey`](../BaseEthereumWallet/readme#getpublickey)

***

### signMessage()

> **signMessage**(`message`): `Promise`\<`` `0x${string}` ``>

Defined in: [packages/wallet-stamper/src/ethereum.ts:66](https://github.com/tkhq/sdk/blob/ee72856c3f450731d7501ab05001215768b71500/packages/wallet-stamper/src/ethereum.ts#L66)

Signs a message and returns the hex signature as a string.

#### Parameters

##### message

`string`

The message to be signed, either as a string or a Hex.

#### Returns

`Promise`\<`` `0x${string}` ``>

A promise that resolves to a Hex string representing the signature.

This method uses the 'personal\_sign' method of the Ethereum provider
to sign the message with the user's account.

#### Overrides

[`BaseEthereumWallet`](../BaseEthereumWallet/readme).[`signMessage`](../BaseEthereumWallet/readme#signmessage)
