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

# AsyncWithRawResponseEndUserAccountsClient

> AsyncWithRawResponseEndUserAccountsClient API reference.

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

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

## Method Details

### `signEvmTransactionWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTransactionWithEndUserAccountResponse>> signEvmTransactionWithEndUserAccount(String userId, SignEvmTransactionWithEndUserAccountRequest request)
```

Signs a transaction with the given end user 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:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTransactionWithEndUserAccountResponse>> signEvmTransactionWithEndUserAccount(String userId, SignEvmTransactionWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given end user 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:**

`userId` - `String`

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

`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)\<[SignEvmTransactionWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignEvmTransactionWithEndUserAccountResponse)>>

### `sendEvmTransactionWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmTransactionWithEndUserAccountResponse>> sendEvmTransactionWithEndUserAccount(String userId, SendEvmTransactionWithEndUserAccountRequest request)
```

Signs a transaction with the given end user 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:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmTransactionWithEndUserAccountResponse>> sendEvmTransactionWithEndUserAccount(String userId, SendEvmTransactionWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given end user 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:**

`userId` - `String`

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

`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)\<[SendEvmTransactionWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendEvmTransactionWithEndUserAccountResponse)>>

### `sendEvmAssetWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmAssetWithEndUserAccountResponse>> sendEvmAssetWithEndUserAccount(String userId, BlockchainAddress address, SendEvmAssetWithEndUserAccountRequestAsset asset, SendEvmAssetWithEndUserAccountRequest request)
```

Sends USDC from an end user's EVM account (EOA or Smart Account) to a recipient address on a supported EVM network. This endpoint simplifies USDC transfers by automatically handling contract resolution, decimal conversion, gas estimation, and transaction encoding. The `amount` field accepts human-readable amounts as decimal strings (e.g., "1.5", "25.50").

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`asset` - [SendEvmAssetWithEndUserAccountRequestAsset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendEvmAssetWithEndUserAccountRequestAsset)

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendEvmAssetWithEndUserAccountResponse>> sendEvmAssetWithEndUserAccount(String userId, BlockchainAddress address, SendEvmAssetWithEndUserAccountRequestAsset asset, SendEvmAssetWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Sends USDC from an end user's EVM account (EOA or Smart Account) to a recipient address on a supported EVM network. This endpoint simplifies USDC transfers by automatically handling contract resolution, decimal conversion, gas estimation, and transaction encoding. The `amount` field accepts human-readable amounts as decimal strings (e.g., "1.5", "25.50").

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`asset` - [SendEvmAssetWithEndUserAccountRequestAsset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendEvmAssetWithEndUserAccountRequestAsset)

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

`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)\<[SendEvmAssetWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendEvmAssetWithEndUserAccountResponse)>>

### `signEvmMessageWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmMessageWithEndUserAccountResponse>> signEvmMessageWithEndUserAccount(String userId, SignEvmMessageWithEndUserAccountRequest request)
```

Signs an [EIP-191](https://eips.ethereum.org/EIPS/eip-191) message with the given end user 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:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmMessageWithEndUserAccountResponse>> signEvmMessageWithEndUserAccount(String userId, SignEvmMessageWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs an [EIP-191](https://eips.ethereum.org/EIPS/eip-191) message with the given end user 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:**

`userId` - `String`

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

`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)\<[SignEvmMessageWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignEvmMessageWithEndUserAccountResponse)>>

### `signEvmTypedDataWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataWithEndUserAccountResponse>> signEvmTypedDataWithEndUserAccount(String userId, SignEvmTypedDataWithEndUserAccountRequest request)
```

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

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignEvmTypedDataWithEndUserAccountResponse>> signEvmTypedDataWithEndUserAccount(String userId, SignEvmTypedDataWithEndUserAccountRequest request, RequestOptions requestOptions)
```

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

**Parameters:**

`userId` - `String`

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

`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)\<[SignEvmTypedDataWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignEvmTypedDataWithEndUserAccountResponse)>>

### `getDelegationForEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserResponse>> getDelegationForEndUser(String userId)
```

Returns the active delegation for the specified end user, if one exists. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserResponse>> getDelegationForEndUser(String userId, GetDelegationForEndUserRequest request)
```

Returns the active delegation for the specified end user, if one exists. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserResponse>> getDelegationForEndUser(String userId, RequestOptions requestOptions)
```

Returns the active delegation for the specified end user, if one exists. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `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)\<[GetDelegationForEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/GetDelegationForEndUserResponse)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserResponse>> getDelegationForEndUser(String userId, GetDelegationForEndUserRequest request, RequestOptions requestOptions)
```

Returns the active delegation for the specified end user, if one exists. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

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

`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)\<[GetDelegationForEndUserResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/GetDelegationForEndUserResponse)>>

### `revokeDelegationForEndUser`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUser(String userId)
```

Revokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUser(String userId, RequestOptions requestOptions)
```

Revokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `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)\<`Void`>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUser(String userId, RevokeDelegationForEndUserRequest request)
```

Revokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUser(String userId, RevokeDelegationForEndUserRequest request, RequestOptions requestOptions)
```

Revokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.

**Parameters:**

`userId` - `String`

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

`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)\<`Void`>>

### `getDelegationForEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserAccountResponse>> getDelegationForEndUserAccount(String userId, BlockchainAddress address)
```

Returns the active account-scoped delegation for the specified end user account, if one exists. Useful for showing delegation status in a UI. When the address corresponds to an EVM Smart Account, this returns the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserAccountResponse>> getDelegationForEndUserAccount(String userId, BlockchainAddress address, GetDelegationForEndUserAccountRequest request)
```

Returns the active account-scoped delegation for the specified end user account, if one exists. Useful for showing delegation status in a UI. When the address corresponds to an EVM Smart Account, this returns the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

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

**Returns:**

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

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserAccountResponse>> getDelegationForEndUserAccount(String userId, BlockchainAddress address, RequestOptions requestOptions)
```

Returns the active account-scoped delegation for the specified end user account, if one exists. Useful for showing delegation status in a UI. When the address corresponds to an EVM Smart Account, this returns the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`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)\<[GetDelegationForEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/GetDelegationForEndUserAccountResponse)>>

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<GetDelegationForEndUserAccountResponse>> getDelegationForEndUserAccount(String userId, BlockchainAddress address, GetDelegationForEndUserAccountRequest request, RequestOptions requestOptions)
```

Returns the active account-scoped delegation for the specified end user account, if one exists. Useful for showing delegation status in a UI. When the address corresponds to an EVM Smart Account, this returns the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

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

`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)\<[GetDelegationForEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/GetDelegationForEndUserAccountResponse)>>

### `revokeDelegationForEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUserAccount(String userId, BlockchainAddress address)
```

Revokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by a developer using their API key. When the address corresponds to an EVM Smart Account, this revokes the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUserAccount(String userId, BlockchainAddress address, RequestOptions requestOptions)
```

Revokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by a developer using their API key. When the address corresponds to an EVM Smart Account, this revokes the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`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)\<`Void`>>

**Overload 3**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUserAccount(String userId, BlockchainAddress address, RevokeDelegationForEndUserAccountRequest request)
```

Revokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by a developer using their API key. When the address corresponds to an EVM Smart Account, this revokes the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

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

**Returns:**

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

**Overload 4**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<Void>> revokeDelegationForEndUserAccount(String userId, BlockchainAddress address, RevokeDelegationForEndUserAccountRequest request, RequestOptions requestOptions)
```

Revokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by a developer using their API key. When the address corresponds to an EVM Smart Account, this revokes the delegation for the Smart Account's owner EOA.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

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

`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)\<`Void`>>

### `createEvmEip7702DelegationWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<CreateEvmEip7702DelegationWithEndUserAccountResponse>> createEvmEip7702DelegationWithEndUserAccount(String userId, CreateEvmEip7702DelegationWithEndUserAccountRequest request)
```

Creates an EIP-7702 delegation for an end user's 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:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<CreateEvmEip7702DelegationWithEndUserAccountResponse>> createEvmEip7702DelegationWithEndUserAccount(String userId, CreateEvmEip7702DelegationWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Creates an EIP-7702 delegation for an end user's 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:**

`userId` - `String`

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

`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)\<[CreateEvmEip7702DelegationWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/CreateEvmEip7702DelegationWithEndUserAccountResponse)>>

### `sendUserOperationWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmUserOperation>> sendUserOperationWithEndUserAccount(String userId, String address, SendUserOperationWithEndUserAccountRequest request)
```

Prepares, signs, and sends a user operation for an end user's Smart Account.

**Parameters:**

`userId` - `String`

`address` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<EvmUserOperation>> sendUserOperationWithEndUserAccount(String userId, String address, SendUserOperationWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Prepares, signs, and sends a user operation for an end user's Smart Account.

**Parameters:**

`userId` - `String`

`address` - `String`

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

`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)\<[EvmUserOperation](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/EvmUserOperation)>>

### `signSolanaMessageWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaMessageWithEndUserAccountResponse>> signSolanaMessageWithEndUserAccount(String userId, SignSolanaMessageWithEndUserAccountRequest request)
```

Signs an arbitrary Base64 encoded message with the given Solana account. **WARNING:** Never sign a message that you didn't generate as it may put your funds at risk.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaMessageWithEndUserAccountResponse>> signSolanaMessageWithEndUserAccount(String userId, SignSolanaMessageWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs an arbitrary Base64 encoded message with the given Solana account. **WARNING:** Never sign a message that you didn't generate as it may put your funds at risk.

**Parameters:**

`userId` - `String`

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

`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)\<[SignSolanaMessageWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignSolanaMessageWithEndUserAccountResponse)>>

### `signSolanaTransactionWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaTransactionWithEndUserAccountResponse>> signSolanaTransactionWithEndUserAccount(String userId, SignSolanaTransactionWithEndUserAccountRequest request)
```

Signs a transaction with the given end user Solana account. The unsigned transaction should be serialized into a byte array and then encoded as base64. **Transaction types** The following transaction types are supported:

[Legacy transactions](https://solana-labs.github.io/solana-web3.js/classes/Transaction.html) [Versioned transactions](https://solana-labs.github.io/solana-web3.js/classes/VersionedTransaction.html) The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaTransactionWithEndUserAccountResponse>> signSolanaTransactionWithEndUserAccount(String userId, SignSolanaTransactionWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given end user Solana account. The unsigned transaction should be serialized into a byte array and then encoded as base64. **Transaction types** The following transaction types are supported:

[Legacy transactions](https://solana-labs.github.io/solana-web3.js/classes/Transaction.html) [Versioned transactions](https://solana-labs.github.io/solana-web3.js/classes/VersionedTransaction.html) The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`userId` - `String`

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

`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)\<[SignSolanaTransactionWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignSolanaTransactionWithEndUserAccountResponse)>>

### `signSolanaX402PaymentWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaX402PaymentWithEndUserAccountResponse>> signSolanaX402PaymentWithEndUserAccount(String userId, SignSolanaX402PaymentWithEndUserAccountRequest request)
```

Signs an x402 payment payload using the end user's given Solana account. Accepts the full x402 payment required response body from a resource server plus an index into the accepts array selecting which payment option to sign. The `paymentRequired` envelope's `x402Version`, resource, and extensions are carried through into the signed payment payload; only the selected accept entry becomes `paymentPayload.accepted`. Returns a signed payment payload that can be base64-encoded and sent in the PAYMENT-SIGNATURE header of the resource request. If `acceptsIndex` is out of range for `paymentRequired.accepts`, or the selected accept is not a Solana network payment option, the request fails with 422.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SignSolanaX402PaymentWithEndUserAccountResponse>> signSolanaX402PaymentWithEndUserAccount(String userId, SignSolanaX402PaymentWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs an x402 payment payload using the end user's given Solana account. Accepts the full x402 payment required response body from a resource server plus an index into the accepts array selecting which payment option to sign. The `paymentRequired` envelope's `x402Version`, resource, and extensions are carried through into the signed payment payload; only the selected accept entry becomes `paymentPayload.accepted`. Returns a signed payment payload that can be base64-encoded and sent in the PAYMENT-SIGNATURE header of the resource request. If `acceptsIndex` is out of range for `paymentRequired.accepts`, or the selected accept is not a Solana network payment option, the request fails with 422.

**Parameters:**

`userId` - `String`

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

`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)\<[SignSolanaX402PaymentWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SignSolanaX402PaymentWithEndUserAccountResponse)>>

### `sendSolanaTransactionWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendSolanaTransactionWithEndUserAccountResponse>> sendSolanaTransactionWithEndUserAccount(String userId, SendSolanaTransactionWithEndUserAccountRequest request)
```

Signs a transaction with the given end user Solana account and sends it to the indicated supported network. The API handles recent blockhash management and fee estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The unsigned transaction should be serialized into a byte array and then encoded as base64. **Transaction types** The following transaction types are supported:

[Legacy transactions](https://solana.com/developers/guides/advanced/versions#current-transaction-versions) [Versioned transactions](https://solana.com/developers/guides/advanced/versions) **Instruction Batching** To batch multiple operations, include multiple instructions within a single transaction. All instructions within a transaction are executed atomically - if any instruction fails, the entire transaction fails and is rolled back. **Network Support** The following Solana networks are supported: `solana` - Solana Mainnet `solana-devnet` - Solana Devnet The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`userId` - `String`

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendSolanaTransactionWithEndUserAccountResponse>> sendSolanaTransactionWithEndUserAccount(String userId, SendSolanaTransactionWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Signs a transaction with the given end user Solana account and sends it to the indicated supported network. The API handles recent blockhash management and fee estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The unsigned transaction should be serialized into a byte array and then encoded as base64. **Transaction types** The following transaction types are supported:

[Legacy transactions](https://solana.com/developers/guides/advanced/versions#current-transaction-versions) [Versioned transactions](https://solana.com/developers/guides/advanced/versions) **Instruction Batching** To batch multiple operations, include multiple instructions within a single transaction. All instructions within a transaction are executed atomically - if any instruction fails, the entire transaction fails and is rolled back. **Network Support** The following Solana networks are supported: `solana` - Solana Mainnet `solana-devnet` - Solana Devnet The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.

**Parameters:**

`userId` - `String`

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

`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)\<[SendSolanaTransactionWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendSolanaTransactionWithEndUserAccountResponse)>>

### `sendSolanaAssetWithEndUserAccount`

**Overload 1**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendSolanaAssetWithEndUserAccountResponse>> sendSolanaAssetWithEndUserAccount(String userId, BlockchainAddress address, SendSolanaAssetWithEndUserAccountRequestAsset asset, SendSolanaAssetWithEndUserAccountRequest request)
```

Sends USDC from an end user's Solana account to a recipient address on the Solana network. This endpoint simplifies USDC transfers by automatically handling mint resolution, Associated Token Account (ATA) creation, decimal conversion, and transaction encoding. The `amount` field accepts human-readable amounts as decimal strings (e.g., "1.5", "25.50"). Use the optional `createRecipientAta` parameter to control whether the sender pays for creating the recipient's Associated Token Account if it doesn't exist.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`asset` - [SendSolanaAssetWithEndUserAccountRequestAsset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendSolanaAssetWithEndUserAccountRequestAsset)

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

**Returns:**

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

**Overload 2**

```java theme={null}
public CompletableFuture<CdpClientHttpResponse<SendSolanaAssetWithEndUserAccountResponse>> sendSolanaAssetWithEndUserAccount(String userId, BlockchainAddress address, SendSolanaAssetWithEndUserAccountRequestAsset asset, SendSolanaAssetWithEndUserAccountRequest request, RequestOptions requestOptions)
```

Sends USDC from an end user's Solana account to a recipient address on the Solana network. This endpoint simplifies USDC transfers by automatically handling mint resolution, Associated Token Account (ATA) creation, decimal conversion, and transaction encoding. The `amount` field accepts human-readable amounts as decimal strings (e.g., "1.5", "25.50"). Use the optional `createRecipientAta` parameter to control whether the sender pays for creating the recipient's Associated Token Account if it doesn't exist.

**Parameters:**

`userId` - `String`

`address` - [BlockchainAddress](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/BlockchainAddress)

`asset` - [SendSolanaAssetWithEndUserAccountRequestAsset](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendSolanaAssetWithEndUserAccountRequestAsset)

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

`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)\<[SendSolanaAssetWithEndUserAccountResponse](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/resources/enduseraccounts/types/SendSolanaAssetWithEndUserAccountResponse)>>
