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

# EvmClientInterface

```ts theme={null}
type EvmClientInterface = Omit<typeof OpenApiEvmMethods, 
  | "createEvmAccount"
  | "createEvmSmartAccount"
  | "createSpendPermission"
  | "listSpendPermissions"
  | "revokeSpendPermission"
  | "importEvmAccount"
  | "exportEvmAccount"
  | "exportEvmAccountByName"
  | "getEvmAccount"
  | "getEvmAccountByName"
  | "getEvmSmartAccount"
  | "getEvmSmartAccountByName"
  | "getEvmSwapPrice"
  | "createEvmSwapQuote"
  | "getUserOperation"
  | "updateEvmAccount"
  | "listEvmAccounts"
  | "listEvmSmartAccounts"
  | "listEvmTokenBalances"
  | "prepareUserOperation"
  | "prepareAndSendUserOperation"
  | "requestEvmFaucet"
  | "sendUserOperation"
  | "signEvmHash"
  | "signEvmMessage"
  | "signEvmTransaction"
  | "signEvmTypedData"
  | "sendEvmTransaction"
  | "signEvmTypedData"
  | "updateEvmAccount"
  | "exportEvmAccount"
  | "exportEvmAccountByName"
  | "updateEvmSmartAccount"
  | "createEvmEip7702Delegation"
  | "getEvmEip7702DelegationOperationById"> & {
  createAccount: (options: CreateServerAccountOptions) => Promise<EvmServerAccount>;
  createEvmEip7702Delegation: (options: CreateEvmEip7702DelegationOptions) => Promise<CreateEvmEip7702DelegationResult>;
  createSmartAccount: (options: CreateSmartAccountOptions) => Promise<EvmSmartAccount>;
  createSwapQuote: (options: CreateSwapQuoteOptions) => Promise<
     | CreateSwapQuoteResult
    | SwapUnavailableResult>;
  exportAccount: (options: ExportServerAccountOptions) => Promise<string>;
  getAccount: (options: GetServerAccountOptions) => Promise<EvmServerAccount>;
  getEvmEip7702DelegationOperationById: (delegationOperationId: string) => Promise<EvmEip7702DelegationOperation>;
  getOrCreateAccount: (options: GetOrCreateServerAccountOptions) => Promise<EvmServerAccount>;
  getSmartAccount: (options: GetSmartAccountOptions) => Promise<EvmSmartAccount>;
  getSwapPrice: (options: GetSwapPriceOptions) => Promise<
     | GetSwapPriceResult
    | SwapUnavailableResult>;
  getUserOperation: (options: GetUserOperationOptions) => Promise<UserOperation>;
  importAccount: (options: ImportServerAccountOptions) => Promise<EvmServerAccount>;
  listAccounts: (options: ListServerAccountsOptions) => Promise<ListServerAccountResult>;
  listSmartAccounts: (options: ListSmartAccountsOptions) => Promise<ListSmartAccountResult>;
  listSpendPermissions: (options: ListSpendPermissionsOptions) => Promise<ListSpendPermissionsResult>;
  listTokenBalances: (options: ListTokenBalancesOptions) => Promise<ListTokenBalancesResult>;
  prepareAndSendUserOperation: (options: PrepareAndSendUserOperationOptions) => Promise<PrepareAndSendUserOperationReturnType>;
  prepareUserOperation: (options: PrepareUserOperationOptions) => Promise<UserOperation>;
  requestFaucet: (options: RequestFaucetOptions) => Promise<RequestFaucetResult>;
  sendTransaction: (options: SendTransactionOptions) => Promise<TransactionResult>;
  sendUserOperation: (options: SendUserOperationOptions<unknown[]>) => Promise<SendUserOperationReturnType>;
  signHash: (options: SignHashOptions) => Promise<SignatureResult>;
  signMessage: (options: SignMessageOptions) => Promise<SignatureResult>;
  signTransaction: (options: SignTransactionOptions) => Promise<SignatureResult>;
  signTypedData: (options: SignTypedDataOptions) => Promise<SignatureResult>;
  updateAccount: (options: UpdateEvmAccountOptions) => Promise<EvmServerAccount>;
  updateSmartAccount: (options: UpdateEvmSmartAccountOptions) => Promise<EvmSmartAccount>;
  waitForEvmEip7702DelegationOperationStatus: (options: WaitForEvmEip7702DelegationOperationStatusOptions) => Promise<EvmEip7702DelegationOperation>;
};
```

Defined in: [client/evm/evm.types.ts:50](https://github.com/coinbase/cdp-sdk/blob/30d1b3dc350cd763fecf481c5bc976bd77951f3b/typescript/packages/cdp-sdk/src/client/evm/evm.types.ts#L50)

The EvmClient type, where all OpenApiEvmMethods methods are wrapped.

## Type Declaration

### createAccount()

```ts theme={null}
createAccount: (options: CreateServerAccountOptions) => Promise<EvmServerAccount>;
```

#### Parameters

##### options

[`CreateServerAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#createserveraccountoptions)

#### Returns

`Promise`\<[`EvmServerAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmServerAccount)>

### createEvmEip7702Delegation()

```ts theme={null}
createEvmEip7702Delegation: (options: CreateEvmEip7702DelegationOptions) => Promise<CreateEvmEip7702DelegationResult>;
```

#### Parameters

##### options

[`CreateEvmEip7702DelegationOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#createevmeip7702delegationoptions)

#### Returns

`Promise`\<[`CreateEvmEip7702DelegationResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/CreateEvmEip7702DelegationResult)>

### createSmartAccount()

```ts theme={null}
createSmartAccount: (options: CreateSmartAccountOptions) => Promise<EvmSmartAccount>;
```

#### Parameters

##### options

[`CreateSmartAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#createsmartaccountoptions)

#### Returns

`Promise`\<[`EvmSmartAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmSmartAccount)>

### createSwapQuote()

```ts theme={null}
createSwapQuote: (options: CreateSwapQuoteOptions) => Promise<
  | CreateSwapQuoteResult
| SwapUnavailableResult>;
```

#### Parameters

##### options

[`CreateSwapQuoteOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#createswapquoteoptions)

#### Returns

`Promise`\<
\| [`CreateSwapQuoteResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#createswapquoteresult)
\| [`SwapUnavailableResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#swapunavailableresult)>

### exportAccount()

```ts theme={null}
exportAccount: (options: ExportServerAccountOptions) => Promise<string>;
```

#### Parameters

##### options

[`ExportServerAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#exportserveraccountoptions)

#### Returns

`Promise`\<`string`>

### getAccount()

```ts theme={null}
getAccount: (options: GetServerAccountOptions) => Promise<EvmServerAccount>;
```

#### Parameters

##### options

[`GetServerAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getserveraccountoptions)

#### Returns

`Promise`\<[`EvmServerAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmServerAccount)>

### getEvmEip7702DelegationOperationById()

```ts theme={null}
getEvmEip7702DelegationOperationById: (delegationOperationId: string) => Promise<EvmEip7702DelegationOperation>;
```

#### Parameters

##### delegationOperationId

`string`

#### Returns

`Promise`\<`EvmEip7702DelegationOperation`>

### getOrCreateAccount()

```ts theme={null}
getOrCreateAccount: (options: GetOrCreateServerAccountOptions) => Promise<EvmServerAccount>;
```

#### Parameters

##### options

[`GetOrCreateServerAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getorcreateserveraccountoptions)

#### Returns

`Promise`\<[`EvmServerAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmServerAccount)>

### getSmartAccount()

```ts theme={null}
getSmartAccount: (options: GetSmartAccountOptions) => Promise<EvmSmartAccount>;
```

#### Parameters

##### options

[`GetSmartAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getsmartaccountoptions)

#### Returns

`Promise`\<[`EvmSmartAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmSmartAccount)>

### getSwapPrice()

```ts theme={null}
getSwapPrice: (options: GetSwapPriceOptions) => Promise<
  | GetSwapPriceResult
| SwapUnavailableResult>;
```

#### Parameters

##### options

[`GetSwapPriceOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getswappriceoptions)

#### Returns

`Promise`\<
\| [`GetSwapPriceResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getswappriceresult)
\| [`SwapUnavailableResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#swapunavailableresult)>

### getUserOperation()

```ts theme={null}
getUserOperation: (options: GetUserOperationOptions) => Promise<UserOperation>;
```

#### Parameters

##### options

[`GetUserOperationOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#getuseroperationoptions)

#### Returns

`Promise`\<[`UserOperation`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#useroperation)>

### importAccount()

```ts theme={null}
importAccount: (options: ImportServerAccountOptions) => Promise<EvmServerAccount>;
```

#### Parameters

##### options

[`ImportServerAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#importserveraccountoptions)

#### Returns

`Promise`\<[`EvmServerAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmServerAccount)>

### listAccounts()

```ts theme={null}
listAccounts: (options: ListServerAccountsOptions) => Promise<ListServerAccountResult>;
```

#### Parameters

##### options

[`ListServerAccountsOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#listserveraccountsoptions)

#### Returns

`Promise`\<[`ListServerAccountResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#listserveraccountresult)>

### listSmartAccounts()

```ts theme={null}
listSmartAccounts: (options: ListSmartAccountsOptions) => Promise<ListSmartAccountResult>;
```

#### Parameters

##### options

[`ListSmartAccountsOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#listsmartaccountsoptions)

#### Returns

`Promise`\<[`ListSmartAccountResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#listsmartaccountresult)>

### listSpendPermissions()

```ts theme={null}
listSpendPermissions: (options: ListSpendPermissionsOptions) => Promise<ListSpendPermissionsResult>;
```

#### Parameters

##### options

`ListSpendPermissionsOptions`

#### Returns

`Promise`\<`ListSpendPermissionsResult`>

### listTokenBalances()

```ts theme={null}
listTokenBalances: (options: ListTokenBalancesOptions) => Promise<ListTokenBalancesResult>;
```

#### Parameters

##### options

`ListTokenBalancesOptions`

#### Returns

`Promise`\<`ListTokenBalancesResult`>

### prepareAndSendUserOperation()

```ts theme={null}
prepareAndSendUserOperation: (options: PrepareAndSendUserOperationOptions) => Promise<PrepareAndSendUserOperationReturnType>;
```

#### Parameters

##### options

[`PrepareAndSendUserOperationOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#prepareandsenduseroperationoptions)

#### Returns

`Promise`\<`PrepareAndSendUserOperationReturnType`>

### prepareUserOperation()

```ts theme={null}
prepareUserOperation: (options: PrepareUserOperationOptions) => Promise<UserOperation>;
```

#### Parameters

##### options

[`PrepareUserOperationOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#prepareuseroperationoptions)

#### Returns

`Promise`\<[`UserOperation`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#useroperation)>

### requestFaucet()

```ts theme={null}
requestFaucet: (options: RequestFaucetOptions) => Promise<RequestFaucetResult>;
```

#### Parameters

##### options

`RequestFaucetOptions`

#### Returns

`Promise`\<`RequestFaucetResult`>

### sendTransaction()

```ts theme={null}
sendTransaction: (options: SendTransactionOptions) => Promise<TransactionResult>;
```

#### Parameters

##### options

`SendTransactionOptions`

#### Returns

`Promise`\<`TransactionResult`>

### sendUserOperation()

```ts theme={null}
sendUserOperation: (options: SendUserOperationOptions<unknown[]>) => Promise<SendUserOperationReturnType>;
```

#### Parameters

##### options

`SendUserOperationOptions`\<`unknown`\[]>

#### Returns

`Promise`\<`SendUserOperationReturnType`>

### signHash()

```ts theme={null}
signHash: (options: SignHashOptions) => Promise<SignatureResult>;
```

#### Parameters

##### options

[`SignHashOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signhashoptions)

#### Returns

`Promise`\<[`SignatureResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signatureresult)>

### signMessage()

```ts theme={null}
signMessage: (options: SignMessageOptions) => Promise<SignatureResult>;
```

#### Parameters

##### options

[`SignMessageOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signmessageoptions)

#### Returns

`Promise`\<[`SignatureResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signatureresult)>

### signTransaction()

```ts theme={null}
signTransaction: (options: SignTransactionOptions) => Promise<SignatureResult>;
```

#### Parameters

##### options

[`SignTransactionOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signtransactionoptions)

#### Returns

`Promise`\<[`SignatureResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signatureresult)>

### signTypedData()

```ts theme={null}
signTypedData: (options: SignTypedDataOptions) => Promise<SignatureResult>;
```

#### Parameters

##### options

[`SignTypedDataOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signtypeddataoptions)

#### Returns

`Promise`\<[`SignatureResult`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#signatureresult)>

### updateAccount()

```ts theme={null}
updateAccount: (options: UpdateEvmAccountOptions) => Promise<EvmServerAccount>;
```

#### Parameters

##### options

[`UpdateEvmAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#updateevmaccountoptions)

#### Returns

`Promise`\<[`EvmServerAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmServerAccount)>

### updateSmartAccount()

```ts theme={null}
updateSmartAccount: (options: UpdateEvmSmartAccountOptions) => Promise<EvmSmartAccount>;
```

#### Parameters

##### options

[`UpdateEvmSmartAccountOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#updateevmsmartaccountoptions)

#### Returns

`Promise`\<[`EvmSmartAccount`](/sdks/cdp-sdks-v2/typescript/evm/Accounts/EvmSmartAccount)>

### waitForEvmEip7702DelegationOperationStatus()

```ts theme={null}
waitForEvmEip7702DelegationOperationStatus: (options: WaitForEvmEip7702DelegationOperationStatusOptions) => Promise<EvmEip7702DelegationOperation>;
```

#### Parameters

##### options

[`WaitForEvmEip7702DelegationOperationStatusOptions`](/sdks/cdp-sdks-v2/typescript/evm/Types/index#waitforevmeip7702delegationoperationstatusoptions)

#### Returns

`Promise`\<`EvmEip7702DelegationOperation`>
