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

# AsyncEvmSmartAccountsClient

> AsyncEvmSmartAccountsClient API reference.

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

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

## Constructor Details

### `AsyncEvmSmartAccountsClient`

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

**Parameters:**

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

## Method Details

### `withRawResponse`

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

Get responses with HTTP metadata like headers

**Returns:**

[AsyncWithRawResponseEvmSmartAccountsClient](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/AsyncWithRawResponseEvmSmartAccountsClient)

### `listEvmSmartAccounts`

**Overload 1**

```java theme={null}
public CompletableFuture<ListEvmSmartAccountsResponse> listEvmSmartAccounts()
```

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

**Returns:**

`CompletableFuture`\<[ListEvmSmartAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListEvmSmartAccountsResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<ListEvmSmartAccountsResponse> listEvmSmartAccounts(ListEvmSmartAccountsRequest request)
```

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

**Parameters:**

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

**Returns:**

`CompletableFuture`\<[ListEvmSmartAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListEvmSmartAccountsResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<ListEvmSmartAccountsResponse> listEvmSmartAccounts(RequestOptions requestOptions)
```

Lists the Smart 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`\<[ListEvmSmartAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListEvmSmartAccountsResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<ListEvmSmartAccountsResponse> listEvmSmartAccounts(ListEvmSmartAccountsRequest request, RequestOptions requestOptions)
```

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

**Parameters:**

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

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

**Returns:**

`CompletableFuture`\<[ListEvmSmartAccountsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListEvmSmartAccountsResponse)>

### `createEvmSmartAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmSmartAccount> createEvmSmartAccount(CreateEvmSmartAccountRequest request)
```

Creates a new Smart Account.

**Parameters:**

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmSmartAccount> createEvmSmartAccount(CreateEvmSmartAccountRequest request, RequestOptions requestOptions)
```

Creates a new Smart Account.

**Parameters:**

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

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

**Returns:**

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

### `getEvmSmartAccountByName`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccountByName(String name)
```

Gets a Smart Account by its name.

**Parameters:**

`name` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccountByName(String name, GetEvmSmartAccountByNameRequest request)
```

Gets a Smart Account by its name.

**Parameters:**

`name` - `String`

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccountByName(String name, RequestOptions requestOptions)
```

Gets a Smart Account by its name.

**Parameters:**

`name` - `String`

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccountByName(String name, GetEvmSmartAccountByNameRequest request, RequestOptions requestOptions)
```

Gets a Smart Account by its name.

**Parameters:**

`name` - `String`

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

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

**Returns:**

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

### `getEvmSmartAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccount(String address)
```

Gets a Smart Account by its address.

**Parameters:**

`address` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccount(String address, GetEvmSmartAccountRequest request)
```

Gets a Smart Account by its address.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccount(String address, RequestOptions requestOptions)
```

Gets a Smart Account by its address.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<EvmSmartAccount> getEvmSmartAccount(String address, GetEvmSmartAccountRequest request, RequestOptions requestOptions)
```

Gets a Smart Account by its address.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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

### `updateEvmSmartAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmSmartAccount> updateEvmSmartAccount(String address)
```

Updates an existing EVM smart account. Use this to update the smart account's name.

**Parameters:**

`address` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmSmartAccount> updateEvmSmartAccount(String address, RequestOptions requestOptions)
```

Updates an existing EVM smart account. Use this to update the smart account's name.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<EvmSmartAccount> updateEvmSmartAccount(String address, UpdateEvmSmartAccountRequest request)
```

Updates an existing EVM smart account. Use this to update the smart account's name.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<EvmSmartAccount> updateEvmSmartAccount(String address, UpdateEvmSmartAccountRequest request, RequestOptions requestOptions)
```

Updates an existing EVM smart account. Use this to update the smart account's name.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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

### `prepareUserOperation`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> prepareUserOperation(String address, PrepareUserOperationRequest request)
```

Prepares a new user operation on a Smart Account for a specific network.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> prepareUserOperation(String address, PrepareUserOperationRequest request, RequestOptions requestOptions)
```

Prepares a new user operation on a Smart Account for a specific network.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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

### `prepareAndSendUserOperation`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> prepareAndSendUserOperation(String address, PrepareAndSendUserOperationRequest request)
```

Prepares, signs, and sends a user operation for an EVM Smart Account. This API can be used only if the owner on Smart Account is a CDP EVM Account.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> prepareAndSendUserOperation(String address, PrepareAndSendUserOperationRequest request, RequestOptions requestOptions)
```

Prepares, signs, and sends a user operation for an EVM Smart Account. This API can be used only if the owner on Smart Account is a CDP EVM Account.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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

### `getUserOperation`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> getUserOperation(String address, String userOpHash)
```

Gets a user operation by its hash.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> getUserOperation(String address, String userOpHash, GetUserOperationRequest request)
```

Gets a user operation by its hash.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<EvmUserOperation> getUserOperation(String address, String userOpHash, RequestOptions requestOptions)
```

Gets a user operation by its hash.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<EvmUserOperation> getUserOperation(String address, String userOpHash, GetUserOperationRequest request, RequestOptions requestOptions)
```

Gets a user operation by its hash.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

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

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

**Returns:**

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

### `sendUserOperation`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> sendUserOperation(String address, String userOpHash, SendUserOperationRequest request)
```

Sends a user operation with a signature. The payload to sign must be the `userOpHash` field of the user operation. This hash should be signed directly (not using `personal_sign` or EIP-191 message hashing). The signature must be 65 bytes in length, consisting of: - 32 bytes for the `r` value - 32 bytes for the `s` value - 1 byte for the `v` value (must be 27 or 28) If using the CDP Paymaster, the user operation must be signed and sent within 2 minutes of being prepared.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> sendUserOperation(String address, String userOpHash, SendUserOperationRequest request, RequestOptions requestOptions)
```

Sends a user operation with a signature. The payload to sign must be the `userOpHash` field of the user operation. This hash should be signed directly (not using `personal_sign` or EIP-191 message hashing). The signature must be 65 bytes in length, consisting of: - 32 bytes for the `r` value - 32 bytes for the `s` value - 1 byte for the `v` value (must be 27 or 28) If using the CDP Paymaster, the user operation must be signed and sent within 2 minutes of being prepared.

**Parameters:**

`address` - `String`

`userOpHash` - `String`

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

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

**Returns:**

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

### `createSpendPermission`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> createSpendPermission(String address, CreateSpendPermissionRequest request)
```

Creates a spend permission for the given smart account address.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> createSpendPermission(String address, CreateSpendPermissionRequest request, RequestOptions requestOptions)
```

Creates a spend permission for the given smart account address.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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

### `listSpendPermissions`

**Overload 1**

```java theme={null}
public CompletableFuture<ListSpendPermissionsResponse> listSpendPermissions(String address)
```

Lists spend permission for the given smart account address.

**Parameters:**

`address` - `String`

**Returns:**

`CompletableFuture`\<[ListSpendPermissionsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListSpendPermissionsResponse)>

**Overload 2**

```java theme={null}
public CompletableFuture<ListSpendPermissionsResponse> listSpendPermissions(String address, ListSpendPermissionsRequest request)
```

Lists spend permission for the given smart account address.

**Parameters:**

`address` - `String`

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

**Returns:**

`CompletableFuture`\<[ListSpendPermissionsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListSpendPermissionsResponse)>

**Overload 3**

```java theme={null}
public CompletableFuture<ListSpendPermissionsResponse> listSpendPermissions(String address, RequestOptions requestOptions)
```

Lists spend permission for the given smart account address.

**Parameters:**

`address` - `String`

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

**Returns:**

`CompletableFuture`\<[ListSpendPermissionsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListSpendPermissionsResponse)>

**Overload 4**

```java theme={null}
public CompletableFuture<ListSpendPermissionsResponse> listSpendPermissions(String address, ListSpendPermissionsRequest request, RequestOptions requestOptions)
```

Lists spend permission for the given smart account address.

**Parameters:**

`address` - `String`

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

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

**Returns:**

`CompletableFuture`\<[ListSpendPermissionsResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/evmsmartaccounts/types/ListSpendPermissionsResponse)>

### `revokeSpendPermission`

**Overload 1**

```java theme={null}
public CompletableFuture<EvmUserOperation> revokeSpendPermission(String address, RevokeSpendPermissionRequest request)
```

Revokes an existing spend permission.

**Parameters:**

`address` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<EvmUserOperation> revokeSpendPermission(String address, RevokeSpendPermissionRequest request, RequestOptions requestOptions)
```

Revokes an existing spend permission.

**Parameters:**

`address` - `String`

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

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

**Returns:**

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