> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# EvmAccount

```ts theme={null}
type EvmAccount = {
  address: Address;
  policies?: string[];
  sign: (parameters: {
     hash: Hash;
  }) => Promise<Hex>;
  signMessage: (parameters: {
     message: SignableMessage;
  }) => Promise<Hex>;
  signTransaction: (transaction: TransactionSerializable) => Promise<Hex>;
  signTypedData: <typedData, primaryType>(parameters: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
};
```

Defined in: [accounts/evm/types.ts:67](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L67)

Base type for any Ethereum account with signing capabilities.
For example, this could be an EVM ServerAccount, or a viem LocalAccount.

## Properties

### address

```ts theme={null}
address: Address;
```

Defined in: [accounts/evm/types.ts:69](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L69)

The address of the signer.

***

### policies?

```ts theme={null}
optional policies: string[];
```

Defined in: [accounts/evm/types.ts:84](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L84)

A list of Policy ID's that apply to the account.

***

### sign()

```ts theme={null}
sign: (parameters: {
  hash: Hash;
}) => Promise<Hex>;
```

Defined in: [accounts/evm/types.ts:71](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L71)

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

#### Parameters

##### parameters

###### hash

`Hash`

#### Returns

`Promise`\<`Hex`>

***

### signMessage()

```ts theme={null}
signMessage: (parameters: {
  message: SignableMessage;
}) => Promise<Hex>;
```

Defined in: [accounts/evm/types.ts:73](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L73)

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

#### Parameters

##### parameters

###### message

`SignableMessage`

#### Returns

`Promise`\<`Hex`>

***

### signTransaction()

```ts theme={null}
signTransaction: (transaction: TransactionSerializable) => Promise<Hex>;
```

Defined in: [accounts/evm/types.ts:75](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L75)

Signs a transaction and returns the signed transaction as a hex string.

#### Parameters

##### transaction

`TransactionSerializable`

#### Returns

`Promise`\<`Hex`>

***

### signTypedData()

```ts theme={null}
signTypedData: <typedData, primaryType>(parameters: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
```

Defined in: [accounts/evm/types.ts:77](https://github.com/coinbase/cdp-sdk/blob/59b6f4f714b6e359fb2390fa1df724c8c5419568/typescript/packages/cdp-sdk/src/accounts/evm/types.ts#L77)

Signs a typed data and returns the signature as a hex string.

#### Type Parameters

##### typedData

`typedData` *extends* `TypedData` | `Record`\<`string`, `unknown`>

##### primaryType

`primaryType` *extends* keyof `typedData` | `"EIP712Domain"` = keyof `typedData`

#### Parameters

##### parameters

`TypedDataDefinition`\<`typedData`, `primaryType`>

#### Returns

`Promise`\<`Hex`>
