> ## 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.

# AsyncWithRawResponseEvmAccountsClient

> AsyncWithRawResponseEvmAccountsClient API reference.

Package: [`com.coinbase.cdp.resources.evmaccounts`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/index)

```java theme={null}
public class AsyncWithRawResponseEvmAccountsClient extends Object
```

## Method Details

### `listEvmAccounts`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ListEvmAccountsResponse>> listEvmAccounts()
```

Lists the EVM accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ListEvmAccountsResponse>> listEvmAccounts(ListEvmAccountsRequest request)
```

Lists the EVM accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.

**Parameters:**

`request` - [ListEvmAccountsRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ListEvmAccountsRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ListEvmAccountsResponse>> listEvmAccounts(RequestOptions requestOptions)
```

Lists the EVM accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.

**Parameters:**

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ListEvmAccountsResponse>> listEvmAccounts(ListEvmAccountsRequest request, RequestOptions requestOptions)
```

Lists the EVM accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.

**Parameters:**

`request` - [ListEvmAccountsRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ListEvmAccountsRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)>>

### `createEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> createEvmAccount()
```

Creates a new EVM account.

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> createEvmAccount(CreateEvmAccountRequest request)
```

Creates a new EVM account.

**Parameters:**

`request` - [CreateEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/CreateEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> createEvmAccount(RequestOptions requestOptions)
```

Creates a new EVM account.

**Parameters:**

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> createEvmAccount(CreateEvmAccountRequest request, RequestOptions requestOptions)
```

Creates a new EVM account.

**Parameters:**

`request` - [CreateEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/CreateEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

### `getEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccount(String address)
```

Gets an EVM account by its address.

**Parameters:**

`address` - `String`

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccount(String address, GetEvmAccountRequest request)
```

Gets an EVM account by its address.

**Parameters:**

`address` - `String`

`request` - [GetEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccount(String address, RequestOptions requestOptions)
```

Gets an EVM account by its address.

**Parameters:**

`address` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccount(String address, GetEvmAccountRequest request, RequestOptions requestOptions)
```

Gets an EVM account by its address.

**Parameters:**

`address` - `String`

`request` - [GetEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

### `updateEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> updateEvmAccount(String address)
```

Updates an existing EVM account. Use this to update the account's name or account-level policy.

**Parameters:**

`address` - `String`

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> updateEvmAccount(String address, RequestOptions requestOptions)
```

Updates an existing EVM account. Use this to update the account's name or account-level policy.

**Parameters:**

`address` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> updateEvmAccount(String address, UpdateEvmAccountRequest request)
```

Updates an existing EVM account. Use this to update the account's name or account-level policy.

**Parameters:**

`address` - `String`

`request` - [UpdateEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/UpdateEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> updateEvmAccount(String address, UpdateEvmAccountRequest request, RequestOptions requestOptions)
```

Updates an existing EVM account. Use this to update the account's name or account-level policy.

**Parameters:**

`address` - `String`

`request` - [UpdateEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/UpdateEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

### `getEvmAccountByName`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccountByName(String name)
```

Gets an EVM account by its name.

**Parameters:**

`name` - `String`

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccountByName(String name, GetEvmAccountByNameRequest request)
```

Gets an EVM account by its name.

**Parameters:**

`name` - `String`

`request` - [GetEvmAccountByNameRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmAccountByNameRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccountByName(String name, RequestOptions requestOptions)
```

Gets an EVM account by its name.

**Parameters:**

`name` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> getEvmAccountByName(String name, GetEvmAccountByNameRequest request, RequestOptions requestOptions)
```

Gets an EVM account by its name.

**Parameters:**

`name` - `String`

`request` - [GetEvmAccountByNameRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmAccountByNameRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

### `sendEvmTransaction`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmTransactionResponse>> sendEvmTransaction(String address, SendEvmTransactionRequest request)
```

Signs a transaction with the given EVM account and sends it to the indicated supported network. This API handles nonce management and gas estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The transaction should be serialized as a hex string using [RLP](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/).

The transaction must be an [EIP-1559 dynamic fee transaction](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md).

**Transaction fields and API behavior**

`to` *(Required)*: The address of the contract or account to send the transaction to.

`chainId` *(Ignored)*: The value of the `chainId` field in the transaction is ignored. The transaction will be sent to the network indicated by the `network` field in the request body.

`nonce` *(Optional)*: The nonce to use for the transaction. If not provided, the API will assign a nonce to the transaction based on the current state of the account.

`maxPriorityFeePerGas` *(Optional)*: The maximum priority fee per gas to use for the transaction. If not provided, the API will estimate a value based on current network conditions.

`maxFeePerGas` *(Optional)*: The maximum fee per gas to use for the transaction. If not provided, the API will estimate a value based on current network conditions.

`gasLimit` *(Optional)*: The gas limit to use for the transaction. If not provided, the API will estimate a value based on the `to` and `data` fields of the transaction.

`value` *(Optional)*: The amount of ETH, in wei, to send with the transaction.

`data` *(Optional)*: The data to send with the transaction; only used for contract calls.

`accessList` *(Optional)*: The access list to use for the transaction.

**Parameters:**

`address` - `String`

`request` - [SendEvmTransactionRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SendEvmTransactionRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SendEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SendEvmTransactionResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmTransactionResponse>> sendEvmTransaction(String address, SendEvmTransactionRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given EVM account and sends it to the indicated supported network. This API handles nonce management and gas estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The transaction should be serialized as a hex string using [RLP](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/).

The transaction must be an [EIP-1559 dynamic fee transaction](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md).

**Transaction fields and API behavior**

`to` *(Required)*: The address of the contract or account to send the transaction to.

`chainId` *(Ignored)*: The value of the `chainId` field in the transaction is ignored. The transaction will be sent to the network indicated by the `network` field in the request body.

`nonce` *(Optional)*: The nonce to use for the transaction. If not provided, the API will assign a nonce to the transaction based on the current state of the account.

`maxPriorityFeePerGas` *(Optional)*: The maximum priority fee per gas to use for the transaction. If not provided, the API will estimate a value based on current network conditions.

`maxFeePerGas` *(Optional)*: The maximum fee per gas to use for the transaction. If not provided, the API will estimate a value based on current network conditions.

`gasLimit` *(Optional)*: The gas limit to use for the transaction. If not provided, the API will estimate a value based on the `to` and `data` fields of the transaction.

`value` *(Optional)*: The amount of ETH, in wei, to send with the transaction.

`data` *(Optional)*: The data to send with the transaction; only used for contract calls.

`accessList` *(Optional)*: The access list to use for the transaction.

**Parameters:**

`address` - `String`

`request` - [SendEvmTransactionRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SendEvmTransactionRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SendEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SendEvmTransactionResponse)>>

### `signEvmTransaction`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTransactionResponse>> signEvmTransaction(String address, SignEvmTransactionRequest request)
```

Signs a transaction with the given EVM account. The transaction should be serialized as a hex string using [RLP](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/).

The transaction must be an [EIP-1559 dynamic fee transaction](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md). The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`address` - `String`

`request` - [SignEvmTransactionRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmTransactionRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTransactionResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTransactionResponse>> signEvmTransaction(String address, SignEvmTransactionRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given EVM account. The transaction should be serialized as a hex string using [RLP](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/).

The transaction must be an [EIP-1559 dynamic fee transaction](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md). The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`address` - `String`

`request` - [SignEvmTransactionRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmTransactionRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTransactionResponse)>>

### `signEvmHash`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmHashResponse>> signEvmHash(String address, SignEvmHashRequest request)
```

Signs an arbitrary 32 byte hash with the given EVM account.

**Parameters:**

`address` - `String`

`request` - [SignEvmHashRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmHashRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmHashResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmHashResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmHashResponse>> signEvmHash(String address, SignEvmHashRequest request, RequestOptions requestOptions)
```

Signs an arbitrary 32 byte hash with the given EVM account.

**Parameters:**

`address` - `String`

`request` - [SignEvmHashRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmHashRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmHashResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmHashResponse)>>

### `signEvmMessage`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmMessageResponse>> signEvmMessage(String address, SignEvmMessageRequest request)
```

Signs an [EIP-191](https://eips.ethereum.org/EIPS/eip-191) message with the given EVM account.

Per the specification, the message in the request body is prepended with `0x19 <0x45 (E)> <thereum Signed Message:\n" + len(message)>` before being signed.

**Parameters:**

`address` - `String`

`request` - [SignEvmMessageRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmMessageRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmMessageResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmMessageResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmMessageResponse>> signEvmMessage(String address, SignEvmMessageRequest request, RequestOptions requestOptions)
```

Signs an [EIP-191](https://eips.ethereum.org/EIPS/eip-191) message with the given EVM account.

Per the specification, the message in the request body is prepended with `0x19 <0x45 (E)> <thereum Signed Message:\n" + len(message)>` before being signed.

**Parameters:**

`address` - `String`

`request` - [SignEvmMessageRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmMessageRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmMessageResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmMessageResponse)>>

### `signEvmTypedData`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataResponse>> signEvmTypedData(String address, Eip712Message body)
```

Signs [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data with the given EVM account.

**Parameters:**

`address` - `String`

`body` - [Eip712Message](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Eip712Message)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataResponse>> signEvmTypedData(String address, SignEvmTypedDataRequest request)
```

Signs [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data with the given EVM account.

**Parameters:**

`address` - `String`

`request` - [SignEvmTypedDataRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmTypedDataRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataResponse>> signEvmTypedData(String address, Eip712Message body, RequestOptions requestOptions)
```

Signs [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data with the given EVM account.

**Parameters:**

`address` - `String`

`body` - [Eip712Message](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/Eip712Message)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataResponse>> signEvmTypedData(String address, SignEvmTypedDataRequest request, RequestOptions requestOptions)
```

Signs [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data with the given EVM account.

**Parameters:**

`address` - `String`

`request` - [SignEvmTypedDataRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/SignEvmTypedDataRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)>>

### `createEvmEip7702Delegation`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<CreateEvmEip7702DelegationResponse>> createEvmEip7702Delegation(String address, CreateEvmEip7702DelegationRequest request)
```

Creates an EIP-7702 delegation for an EVM EOA account, upgrading it with smart account capabilities.

This endpoint:

Retrieves delegation artifacts from onchain Signs the EIP-7702 authorization for delegation Assembles and submits a Type 4 transaction Creates an associated smart account object

The delegation allows the EVM EOA to be used as a smart account, which enables batched transactions and gas sponsorship via paymaster.

**Parameters:**

`address` - `String`

`request` - [CreateEvmEip7702DelegationRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/CreateEvmEip7702DelegationRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[CreateEvmEip7702DelegationResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/CreateEvmEip7702DelegationResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<CreateEvmEip7702DelegationResponse>> createEvmEip7702Delegation(String address, CreateEvmEip7702DelegationRequest request, RequestOptions requestOptions)
```

Creates an EIP-7702 delegation for an EVM EOA account, upgrading it with smart account capabilities.

This endpoint:

Retrieves delegation artifacts from onchain Signs the EIP-7702 authorization for delegation Assembles and submits a Type 4 transaction Creates an associated smart account object

The delegation allows the EVM EOA to be used as a smart account, which enables batched transactions and gas sponsorship via paymaster.

**Parameters:**

`address` - `String`

`request` - [CreateEvmEip7702DelegationRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/CreateEvmEip7702DelegationRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[CreateEvmEip7702DelegationResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/CreateEvmEip7702DelegationResponse)>>

### `getEvmEip7702DelegationOperationById`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmEip7702DelegationOperation>> getEvmEip7702DelegationOperationById(String delegationOperationId)
```

Returns the EIP-7702 delegation operation. Use the `delegationOperationId` returned by the Create EIP-7702 delegation endpoint to poll for operation completion.

**Parameters:**

`delegationOperationId` - `String`

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmEip7702DelegationOperation>> getEvmEip7702DelegationOperationById(String delegationOperationId, GetEvmEip7702DelegationOperationByIdRequest request)
```

Returns the EIP-7702 delegation operation. Use the `delegationOperationId` returned by the Create EIP-7702 delegation endpoint to poll for operation completion.

**Parameters:**

`delegationOperationId` - `String`

`request` - [GetEvmEip7702DelegationOperationByIdRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmEip7702DelegationOperationByIdRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmEip7702DelegationOperation>> getEvmEip7702DelegationOperationById(String delegationOperationId, RequestOptions requestOptions)
```

Returns the EIP-7702 delegation operation. Use the `delegationOperationId` returned by the Create EIP-7702 delegation endpoint to poll for operation completion.

**Parameters:**

`delegationOperationId` - `String`

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmEip7702DelegationOperation>> getEvmEip7702DelegationOperationById(String delegationOperationId, GetEvmEip7702DelegationOperationByIdRequest request, RequestOptions requestOptions)
```

Returns the EIP-7702 delegation operation. Use the `delegationOperationId` returned by the Create EIP-7702 delegation endpoint to poll for operation completion.

**Parameters:**

`delegationOperationId` - `String`

`request` - [GetEvmEip7702DelegationOperationByIdRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/GetEvmEip7702DelegationOperationByIdRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)>>

### `importEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> importEvmAccount(ImportEvmAccountRequest request)
```

Import an existing EVM account into the developer's CDP Project. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.

**Parameters:**

`request` - [ImportEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ImportEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmAccount>> importEvmAccount(ImportEvmAccountRequest request, RequestOptions requestOptions)
```

Import an existing EVM account into the developer's CDP Project. This API should be called from the [CDP SDK](https://github.com/coinbase/cdp-sdk) to ensure that the associated private key is properly encrypted.

**Parameters:**

`request` - [ImportEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ImportEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)>>

### `exportEvmAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ExportEvmAccountResponse>> exportEvmAccount(String address, ExportEvmAccountRequest request)
```

Export an existing EVM account's private key. It is important to store the private key in a secure place after it's exported.

**Parameters:**

`address` - `String`

`request` - [ExportEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ExportEvmAccountRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ExportEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ExportEvmAccountResponse>> exportEvmAccount(String address, ExportEvmAccountRequest request, RequestOptions requestOptions)
```

Export an existing EVM account's private key. It is important to store the private key in a secure place after it's exported.

**Parameters:**

`address` - `String`

`request` - [ExportEvmAccountRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ExportEvmAccountRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ExportEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountResponse)>>

### `exportEvmAccountByName`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ExportEvmAccountByNameResponse>> exportEvmAccountByName(String name, ExportEvmAccountByNameRequest request)
```

Export an existing EVM account's private key by its name. It is important to store the private key in a secure place after it's exported.

**Parameters:**

`name` - `String`

`request` - [ExportEvmAccountByNameRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ExportEvmAccountByNameRequest)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ExportEvmAccountByNameResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountByNameResponse)>>

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<ExportEvmAccountByNameResponse>> exportEvmAccountByName(String name, ExportEvmAccountByNameRequest request, RequestOptions requestOptions)
```

Export an existing EVM account's private key by its name. It is important to store the private key in a secure place after it's exported.

**Parameters:**

`name` - `String`

`request` - [ExportEvmAccountByNameRequest](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/requests/ExportEvmAccountByNameRequest)

`requestOptions` - [RequestOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/RequestOptions)

**Returns:**

`CompletableFuture`\<[CdpClientHttpResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/CdpClientHttpResponse)\<[ExportEvmAccountByNameResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountByNameResponse)>>
