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

# EvmAccountsClient

> EvmAccountsClient API reference.

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

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

## Constructor Details

### `EvmAccountsClient`

```java theme={null}
public EvmAccountsClient(ClientOptions clientOptions)
```

**Parameters:**

`clientOptions` - [ClientOptions](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/core/ClientOptions)

## Method Details

### `withRawResponse`

```java theme={null}
public WithRawResponseEvmAccountsClient withRawResponse()
```

Get responses with HTTP metadata like headers

**Returns:**

[WithRawResponseEvmAccountsClient](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/WithRawResponseEvmAccountsClient)

### `listEvmAccounts`

**Overload 1**

```java theme={null}
public 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:**

[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)

**Overload 2**

```java theme={null}
public 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:**

[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)

**Overload 3**

```java theme={null}
public 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:**

[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)

**Overload 4**

```java theme={null}
public 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:**

[ListEvmAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ListEvmAccountsResponse)

### `createEvmAccount`

**Overload 1**

```java theme={null}
public EvmAccount createEvmAccount()
```

Creates a new EVM account.

**Returns:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 2**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 3**

```java theme={null}
public EvmAccount createEvmAccount(RequestOptions requestOptions)
```

Creates a new EVM account.

**Parameters:**

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

**Returns:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 4**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

### `getEvmAccount`

**Overload 1**

```java theme={null}
public EvmAccount getEvmAccount(String address)
```

Gets an EVM account by its address.

**Parameters:**

`address` - `String`

**Returns:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 2**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 3**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 4**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

### `updateEvmAccount`

**Overload 1**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 2**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 3**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 4**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

### `getEvmAccountByName`

**Overload 1**

```java theme={null}
public EvmAccount getEvmAccountByName(String name)
```

Gets an EVM account by its name.

**Parameters:**

`name` - `String`

**Returns:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 2**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 3**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 4**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

### `sendEvmTransaction`

**Overload 1**

```java theme={null}
public 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:**

[SendEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SendEvmTransactionResponse)

**Overload 2**

```java theme={null}
public 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:**

[SendEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SendEvmTransactionResponse)

### `signEvmTransaction`

**Overload 1**

```java theme={null}
public 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:**

[SignEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTransactionResponse)

**Overload 2**

```java theme={null}
public 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:**

[SignEvmTransactionResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTransactionResponse)

### `signEvmHash`

**Overload 1**

```java theme={null}
public 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:**

[SignEvmHashResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmHashResponse)

**Overload 2**

```java theme={null}
public 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:**

[SignEvmHashResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmHashResponse)

### `signEvmMessage`

**Overload 1**

```java theme={null}
public 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:**

[SignEvmMessageResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmMessageResponse)

**Overload 2**

```java theme={null}
public 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:**

[SignEvmMessageResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmMessageResponse)

### `signEvmTypedData`

**Overload 1**

```java theme={null}
public 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:**

[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)

**Overload 2**

```java theme={null}
public 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:**

[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)

**Overload 3**

```java theme={null}
public 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:**

[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)

**Overload 4**

```java theme={null}
public 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:**

[SignEvmTypedDataResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/SignEvmTypedDataResponse)

### `createEvmEip7702Delegation`

**Overload 1**

```java theme={null}
public 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:**

[CreateEvmEip7702DelegationResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/CreateEvmEip7702DelegationResponse)

**Overload 2**

```java theme={null}
public 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:**

[CreateEvmEip7702DelegationResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/CreateEvmEip7702DelegationResponse)

### `getEvmEip7702DelegationOperationById`

**Overload 1**

```java theme={null}
public 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:**

[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)

**Overload 2**

```java theme={null}
public 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:**

[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)

**Overload 3**

```java theme={null}
public 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:**

[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)

**Overload 4**

```java theme={null}
public 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:**

[EvmEip7702DelegationOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmEip7702DelegationOperation)

### `importEvmAccount`

**Overload 1**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

**Overload 2**

```java theme={null}
public 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:**

[EvmAccount](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmAccount)

### `exportEvmAccount`

**Overload 1**

```java theme={null}
public 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:**

[ExportEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountResponse)

**Overload 2**

```java theme={null}
public 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:**

[ExportEvmAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountResponse)

### `exportEvmAccountByName`

**Overload 1**

```java theme={null}
public 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:**

[ExportEvmAccountByNameResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountByNameResponse)

**Overload 2**

```java theme={null}
public 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:**

[ExportEvmAccountByNameResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmaccounts/types/ExportEvmAccountByNameResponse)
