Skip to main content
Package: com.coinbase.cdp.resources.enduseraccounts

Constructor Details

AsyncEndUserAccountsClient

Parameters: clientOptions - ClientOptions

Method Details

withRawResponse

Get responses with HTTP metadata like headers Returns: AsyncWithRawResponseEndUserAccountsClient

signEvmTransactionWithEndUserAccount

Overload 1
Signs a transaction with the given end user EVM account. The transaction should be serialized as a hex string using RLP. The transaction must be an EIP-1559 dynamic fee transaction. 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 Returns: CompletableFuture<SignEvmTransactionWithEndUserAccountResponse> Overload 2
Signs a transaction with the given end user EVM account. The transaction should be serialized as a hex string using RLP. The transaction must be an EIP-1559 dynamic fee transaction. 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 requestOptions - RequestOptions Returns: CompletableFuture<SignEvmTransactionWithEndUserAccountResponse>

sendEvmTransactionWithEndUserAccount

Overload 1
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. The transaction must be an EIP-1559 dynamic fee transaction. 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 Returns: CompletableFuture<SendEvmTransactionWithEndUserAccountResponse> Overload 2
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. The transaction must be an EIP-1559 dynamic fee transaction. 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 requestOptions - RequestOptions Returns: CompletableFuture<SendEvmTransactionWithEndUserAccountResponse>

sendEvmAssetWithEndUserAccount

Overload 1
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 asset - SendEvmAssetWithEndUserAccountRequestAsset request - SendEvmAssetWithEndUserAccountRequest Returns: CompletableFuture<SendEvmAssetWithEndUserAccountResponse> Overload 2
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 asset - SendEvmAssetWithEndUserAccountRequestAsset request - SendEvmAssetWithEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<SendEvmAssetWithEndUserAccountResponse>

signEvmMessageWithEndUserAccount

Overload 1
Signs an 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 Returns: CompletableFuture<SignEvmMessageWithEndUserAccountResponse> Overload 2
Signs an 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 requestOptions - RequestOptions Returns: CompletableFuture<SignEvmMessageWithEndUserAccountResponse>

signEvmTypedDataWithEndUserAccount

Overload 1
Signs EIP-712 typed data with the given end user EVM account. Parameters: userId - String request - SignEvmTypedDataWithEndUserAccountRequest Returns: CompletableFuture<SignEvmTypedDataWithEndUserAccountResponse> Overload 2
Signs EIP-712 typed data with the given end user EVM account. Parameters: userId - String request - SignEvmTypedDataWithEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<SignEvmTypedDataWithEndUserAccountResponse>

getDelegationForEndUser

Overload 1
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<GetDelegationForEndUserResponse> Overload 2
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 Returns: CompletableFuture<GetDelegationForEndUserResponse> Overload 3
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 Returns: CompletableFuture<GetDelegationForEndUserResponse> Overload 4
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 requestOptions - RequestOptions Returns: CompletableFuture<GetDelegationForEndUserResponse>

revokeDelegationForEndUser

Overload 1
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<Void> Overload 2
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 Returns: CompletableFuture<Void> Overload 3
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 Returns: CompletableFuture<Void> Overload 4
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 requestOptions - RequestOptions Returns: CompletableFuture<Void>

getDelegationForEndUserAccount

Overload 1
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 Returns: CompletableFuture<GetDelegationForEndUserAccountResponse> Overload 2
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 request - GetDelegationForEndUserAccountRequest Returns: CompletableFuture<GetDelegationForEndUserAccountResponse> Overload 3
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 requestOptions - RequestOptions Returns: CompletableFuture<GetDelegationForEndUserAccountResponse> Overload 4
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 request - GetDelegationForEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<GetDelegationForEndUserAccountResponse>

revokeDelegationForEndUserAccount

Overload 1
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 Returns: CompletableFuture<Void> Overload 2
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 requestOptions - RequestOptions Returns: CompletableFuture<Void> Overload 3
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 request - RevokeDelegationForEndUserAccountRequest Returns: CompletableFuture<Void> Overload 4
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 request - RevokeDelegationForEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<Void>

createEvmEip7702DelegationWithEndUserAccount

Overload 1
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 Returns: CompletableFuture<CreateEvmEip7702DelegationWithEndUserAccountResponse> Overload 2
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 requestOptions - RequestOptions Returns: CompletableFuture<CreateEvmEip7702DelegationWithEndUserAccountResponse>

sendUserOperationWithEndUserAccount

Overload 1
Prepares, signs, and sends a user operation for an end user’s Smart Account. Parameters: userId - String address - String request - SendUserOperationWithEndUserAccountRequest Returns: CompletableFuture<EvmUserOperation> Overload 2
Prepares, signs, and sends a user operation for an end user’s Smart Account. Parameters: userId - String address - String request - SendUserOperationWithEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<EvmUserOperation>

signSolanaMessageWithEndUserAccount

Overload 1
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 Returns: CompletableFuture<SignSolanaMessageWithEndUserAccountResponse> Overload 2
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 requestOptions - RequestOptions Returns: CompletableFuture<SignSolanaMessageWithEndUserAccountResponse>

signSolanaTransactionWithEndUserAccount

Overload 1
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 Versioned transactions 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 Returns: CompletableFuture<SignSolanaTransactionWithEndUserAccountResponse> Overload 2
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 Versioned transactions 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 requestOptions - RequestOptions Returns: CompletableFuture<SignSolanaTransactionWithEndUserAccountResponse>

signSolanaX402PaymentWithEndUserAccount

Overload 1
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 Returns: CompletableFuture<SignSolanaX402PaymentWithEndUserAccountResponse> Overload 2
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 requestOptions - RequestOptions Returns: CompletableFuture<SignSolanaX402PaymentWithEndUserAccountResponse>

sendSolanaTransactionWithEndUserAccount

Overload 1
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 Versioned transactions 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 Returns: CompletableFuture<SendSolanaTransactionWithEndUserAccountResponse> Overload 2
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 Versioned transactions 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 requestOptions - RequestOptions Returns: CompletableFuture<SendSolanaTransactionWithEndUserAccountResponse>

sendSolanaAssetWithEndUserAccount

Overload 1
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 asset - SendSolanaAssetWithEndUserAccountRequestAsset request - SendSolanaAssetWithEndUserAccountRequest Returns: CompletableFuture<SendSolanaAssetWithEndUserAccountResponse> Overload 2
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 asset - SendSolanaAssetWithEndUserAccountRequestAsset request - SendSolanaAssetWithEndUserAccountRequest requestOptions - RequestOptions Returns: CompletableFuture<SendSolanaAssetWithEndUserAccountResponse>