The namespace containing all EVM methods.

Implements

Constructors

Methods

  • Creates a new CDP EVM account.

    Parameters

    • Optionaloptions: CreateServerAccountOptions = {}

      Optional parameters for creating the account.

      Options for creating an EVM server account.

      • OptionalaccountPolicy?: string

        The policy ID to apply to the account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • Optionalname?: string

        The name of the account.

    Returns Promise<
        {
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            policies?: string[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: AccountQuoteSwapOptions,
            ) => Promise<AccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendTransaction: (
                options: Omit<SendTransactionOptions, "address">,
            ) => Promise<TransactionResult>;
            sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTransaction: (
                transaction: TransactionSerializable,
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            swap: (options: AccountSwapOptions) => Promise<SendSwapTransactionResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<{ transactionHash: `0x${string}` }>;
            type: "evm-server";
            useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    policies?: string[];
                    requestFaucet: (
                        options: Omit<RequestFaucetOptions, "address" | "network">,
                    ) => Promise<RequestFaucetResult>;
                    sendTransaction: (
                        options: Omit<SendTransactionOptions, "address" | "network">,
                    ) => Promise<TransactionResult>;
                    sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signMessage: (
                        parameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: (
                        transaction: TransactionSerializable,
                    ) => Promise<`0x${string}`>;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    type: "evm-server";
                    waitForTransactionReceipt: (
                        options: TransactionResult | WaitForTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                },
            >;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the newly created account.

             const account = await cdp.evm.createAccount();
             const account = await cdp.evm.createAccount({ name: "MyAccount" });
             const idempotencyKey = uuidv4();

    // First call
    await cdp.evm.createAccount({
    idempotencyKey,
    });

    // Second call with the same idempotency key will return the same account
    await cdp.evm.createAccount({
    idempotencyKey,
    });
  • Creates a new CDP EVM smart account.

    Parameters

    • options: CreateSmartAccountOptions

      Parameters for creating the smart account.

      Options for creating an EVM smart account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • Optionalname?: string

        The name of the account.

      • owner: EvmAccount

        The owner of the account.

    Returns Promise<
        {
            __experimental_useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    owners: EvmAccount[];
                    type: "evm-smart";
                },
            >;
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            getUserOperation: (
                options: Omit<GetUserOperationOptions, "smartAccount">,
            ) => Promise<UserOperation>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            owners: EvmAccount[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: SmartAccountQuoteSwapOptions,
            ) => Promise<SmartAccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendUserOperation: (
                options: Omit<SendUserOperationOptions<unknown[]>, "smartAccount">,
            ) => Promise<SendUserOperationReturnType>;
            swap: (
                options: SmartAccountSwapOptions,
            ) => Promise<SmartAccountSwapResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<SendUserOperationReturnType>;
            type: "evm-smart";
            waitForUserOperation: (
                options: Omit<WaitForUserOperationOptions, "smartAccountAddress">,
            ) => Promise<WaitForUserOperationReturnType>;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the newly created smart account.

             const account = await cdp.evm.createAccount();
    const smartAccount = await cdp.evm.createSmartAccount({
    owner: account,
    });
             // See https://viem.sh/docs/accounts/local/privateKeyToAccount
    const privateKey = generatePrivateKey();
    const account = privateKeyToAccount(privateKey);
    const smartAccount = await client.evm.createSmartAccount({
    owner: account,
    });
             const idempotencyKey = uuidv4();

    // First call
    await cdp.evm.createSmartAccount({
    owner: account,
    idempotencyKey,
    });

    // Second call with the same idempotency key will return the same smart account
    await cdp.evm.createSmartAccount({
    owner: account,
    idempotencyKey,
  • Creates a quote for a swap between two tokens on an EVM network.

    Parameters

    Returns Promise<CreateSwapQuoteResult | SwapUnavailableResult>

    A promise that resolves to the swap quote result or a response indicating that liquidity is unavailable.

    const swapQuote = await cdp.evm.createSwapQuote({
    network: "ethereum",
    toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
    fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
    fromAmount: BigInt("1000000000000000000"), // 1 WETH
    taker: "0x1234567890123456789012345678901234567890"
    });
  • Exports a CDP EVM account's private key. It is important to store the private key in a secure place after it's exported.

    Parameters

    • options: ExportServerAccountOptions

      Parameters for exporting the account.

      Options for exporting an EVM server account.

      • Optionaladdress?: `0x${string}`

        The address of the account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • Optionalname?: string

        The name of the account.

    Returns Promise<string>

    A promise that resolves to the exported account’s 32-byte private key as a hex string, without the "0x" prefix.

    const privateKey = await cdp.evm.exportAccount({
    address: "0x1234567890123456789012345678901234567890",
    });
    const privateKey = await cdp.evm.exportAccount({
    name: "MyAccount",
    });
  • Gets a CDP EVM account.

    Parameters

    • options: GetServerAccountOptions

      Parameters for getting the account. Either address or name must be provided. If both are provided, lookup will be done by address and name will be ignored.

      Options for getting an EVM account.

      • Optionaladdress?: `0x${string}`

        The address of the account.

      • Optionalname?: string

        The name of the account.

    Returns Promise<
        {
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            policies?: string[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: AccountQuoteSwapOptions,
            ) => Promise<AccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendTransaction: (
                options: Omit<SendTransactionOptions, "address">,
            ) => Promise<TransactionResult>;
            sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTransaction: (
                transaction: TransactionSerializable,
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            swap: (options: AccountSwapOptions) => Promise<SendSwapTransactionResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<{ transactionHash: `0x${string}` }>;
            type: "evm-server";
            useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    policies?: string[];
                    requestFaucet: (
                        options: Omit<RequestFaucetOptions, "address" | "network">,
                    ) => Promise<RequestFaucetResult>;
                    sendTransaction: (
                        options: Omit<SendTransactionOptions, "address" | "network">,
                    ) => Promise<TransactionResult>;
                    sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signMessage: (
                        parameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: (
                        transaction: TransactionSerializable,
                    ) => Promise<`0x${string}`>;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    type: "evm-server";
                    waitForTransactionReceipt: (
                        options: TransactionResult | WaitForTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                },
            >;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the account.

             const account = await cdp.evm.getAccount({
    address: "0x1234567890123456789012345678901234567890",
    });
             const account = await cdp.evm.getAccount({
    name: "MyAccount",
    });
  • Gets a CDP EVM account, or creates one if it doesn't exist.

    Parameters

    • options: GetOrCreateServerAccountOptions

      Parameters for getting or creating the account.

      Options for getting an EVM account, or creating one if it doesn't exist.

      • name: string

        The name of the account.

    Returns Promise<
        {
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            policies?: string[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: AccountQuoteSwapOptions,
            ) => Promise<AccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendTransaction: (
                options: Omit<SendTransactionOptions, "address">,
            ) => Promise<TransactionResult>;
            sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTransaction: (
                transaction: TransactionSerializable,
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            swap: (options: AccountSwapOptions) => Promise<SendSwapTransactionResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<{ transactionHash: `0x${string}` }>;
            type: "evm-server";
            useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    policies?: string[];
                    requestFaucet: (
                        options: Omit<RequestFaucetOptions, "address" | "network">,
                    ) => Promise<RequestFaucetResult>;
                    sendTransaction: (
                        options: Omit<SendTransactionOptions, "address" | "network">,
                    ) => Promise<TransactionResult>;
                    sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signMessage: (
                        parameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: (
                        transaction: TransactionSerializable,
                    ) => Promise<`0x${string}`>;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    type: "evm-server";
                    waitForTransactionReceipt: (
                        options: TransactionResult | WaitForTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                },
            >;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the account.

    const account = await cdp.evm.getOrCreateAccount({
    name: "MyAccount",
    });
  • Gets the price for a swap between two tokens on an EVM network.

    Parameters

    Returns Promise<SwapUnavailableResult | GetSwapPriceResult>

    A promise that resolves to the swap price result or a response indicating that liquidity is unavailable.

    const price = await cdp.evm.getSwapPrice({
    network: "ethereum-mainnet",
    toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
    fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
    fromAmount: BigInt("1000000000000000000"), // 1 WETH
    taker: "0x1234567890123456789012345678901234567890"
    });
  • Gets a user operation for a smart account by user operation hash.

    Parameters

    • options: GetUserOperationOptions

      Parameters for getting the user operation.

      Options for getting a user operation.

      • smartAccount: {
            __experimental_useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    owners: EvmAccount[];
                    type: "evm-smart";
                },
            >;
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            getUserOperation: (
                options: Omit<GetUserOperationOptions, "smartAccount">,
            ) => Promise<UserOperation>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            owners: EvmAccount[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: SmartAccountQuoteSwapOptions,
            ) => Promise<SmartAccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendUserOperation: (
                options: Omit<SendUserOperationOptions<unknown[]>, "smartAccount">,
            ) => Promise<SendUserOperationReturnType>;
            swap: (options: SmartAccountSwapOptions) => Promise<SmartAccountSwapResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<SendUserOperationReturnType>;
            type: "evm-smart";
            waitForUserOperation: (
                options: Omit<WaitForUserOperationOptions, "smartAccountAddress">,
            ) => Promise<WaitForUserOperationReturnType>;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        }

        The smart account.

        • __experimental_useNetwork: (
              network: string,
          ) => Promise<
              {
                  address: `0x${string}`;
                  name?: string;
                  network: string;
                  owners: EvmAccount[];
                  type: "evm-smart";
              },
          >

          Subject to breaking changes. A function that returns a network-scoped smart account.

        • address: `0x${string}`

          The smart account's address.

        • fund: (options: Omit<FundOptions, "address">) => Promise<FundOperationResult>

          Funds an EVM account with the specified token amount.

          const fundOperation = await account.fund({
          network: "base",
          token: "usdc",
          amount: 1000000n,
          });
        • getUserOperation: (
              options: Omit<GetUserOperationOptions, "smartAccount">,
          ) => Promise<UserOperation>

          Gets a user operation by its hash.

          const userOp = await smartAccount.getUserOperation({
          userOpHash: "0x1234567890123456789012345678901234567890",
          });
        • listTokenBalances: (
              options: Omit<ListTokenBalancesOptions, "address">,
          ) => Promise<ListTokenBalancesResult>

          List the token balances of an account.

          const balances = await account.listTokenBalances({
          network: "base-sepolia",
          });
        • Optionalname?: string

          The name of the smart account.

        • owners: EvmAccount[]

          Array of accounts that own and can sign for the smart account (currently only supports one owner but will be extended to support multiple owners in the future).

        • quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>

          Gets a quote to fund an EVM account.

          const quote = await account.quoteFund({
          network: "base",
          token: "usdc",
          amount: 1000000n,
          });
        • quoteSwap: (options: SmartAccountQuoteSwapOptions) => Promise<SmartAccountQuoteSwapResult>

          Creates a swap quote without executing the transaction. This is useful when you need to get swap details before executing the swap. The taker is automatically set to the smart account's address.

          const swapQuote = await smartAccount.quoteSwap({
          network: "base",
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          });

          if (swapQuote.liquidityAvailable) {
          console.log(`Can swap for ${swapQuote.toAmount} USDC`);
          }
        • requestFaucet: (options: Omit<RequestFaucetOptions, "address">) => Promise<RequestFaucetResult>

          Requests funds from an EVM faucet.

          const result = await account.requestFaucet({
          network: "base-sepolia",
          token: "eth",
          });
        • sendUserOperation: (
              options: Omit<SendUserOperationOptions<unknown[]>, "smartAccount">,
          ) => Promise<SendUserOperationReturnType>

          Sends a user operation.

          const userOp = await smartAccount.sendUserOperation({
          network: "base-sepolia",
          calls: [
          {
          to: "0x1234567890123456789012345678901234567890",
          value: parseEther("0.000001"),
          data: "0x",
          },
          ],
          });
        • swap: (options: SmartAccountSwapOptions) => Promise<SmartAccountSwapResult>

          Executes a token swap on the specified network via a user operation. This method handles all the steps required for a swap, including Permit2 signatures if needed. The taker is automatically set to the smart account's address.

          If liquidity is not available when using inline options.

          // First create a swap quote
          const swapQuote = await cdp.evm.createSwapQuote({
          network: "base",
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          taker: smartAccount.address,
          signerAddress: smartAccount.owners[0].address
          });

          // Check if liquidity is available
          if (!swapQuote.liquidityAvailable) {
          console.error("Insufficient liquidity for swap");
          return;
          }

          // Execute the swap
          const { userOpHash } = await smartAccount.swap({
          swapQuote: swapQuote
          });

          console.log(`Swap executed with user op hash: ${userOpHash}`);
          // Create and execute swap in one call
          const { userOpHash } = await smartAccount.swap({
          network: "base",
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          });

          console.log(`Swap executed with user op hash: ${userOpHash}`);
        • transfer: (options: TransferOptions) => Promise<SendUserOperationReturnType>

          Transfer an amount of a token from an account to another account.

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: 10000n, // equivalent to 0.01 USDC
          token: "usdc",
          network: "base-sepolia",
          });

          Using parseUnits to specify USDC amount

          import { parseUnits } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseUnits("0.01", 6), // USDC uses 6 decimal places
          token: "usdc",
          network: "base-sepolia",
          });

          Transfer ETH

          import { parseEther } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseEther("0.000001"),
          token: "eth",
          network: "base-sepolia",
          });

          Using a contract address

          import { parseEther } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseEther("0.000001"),
          token: "0x4200000000000000000000000000000000000006", // WETH on Base Sepolia
          network: "base-sepolia",
          });

          Transfer to another account

          const sender = await cdp.evm.createAccount({ name: "Sender" });
          const receiver = await cdp.evm.createAccount({ name: "Receiver" });

          const { userOpHash } = await sender.transfer({
          to: receiver,
          amount: 10000n, // equivalent to 0.01 USDC
          token: "usdc",
          network: "base-sepolia",
          });
        • type: "evm-smart"

          Identifier for the smart account type.

        • waitForUserOperation: (
              options: Omit<WaitForUserOperationOptions, "smartAccountAddress">,
          ) => Promise<WaitForUserOperationReturnType>

          Waits for a user operation to complete or fail.

          // Send a user operation and get the user operation hash
          const { userOpHash } = await smartAccount.sendUserOperation({
          network: "base-sepolia",
          calls: [
          {
          to: "0x0000000000000000000000000000000000000000",
          value: parseEther("0.000001"),
          data: "0x",
          },
          ],
          });

          // Wait for the user operation to complete or fail
          const result = await smartAccount.waitForUserOperation({
          userOpHash: userOp.userOpHash,
          });
        • waitForFundOperationReceipt:function
      • userOpHash: `0x${string}`

        The user operation hash.

    Returns Promise<UserOperation>

    A promise that resolves to the user operation.

    const userOp = await cdp.evm.getUserOperation({
    smartAccount,
    userOpHash: "0x1234567890123456789012345678901234567890123456789012345678901234",
    });
  • Imports a CDP EVM account from an external source.

    Parameters

    • options: ImportServerAccountOptions

      Parameters for importing the account.

      Options for importing an EVM server account.

      • OptionalencryptionPublicKey?: string

        The public RSA key used to encrypt the private key when importing an EVM account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • Optionalname?: string

        The name of the account.

      • privateKey: `0x${string}`

        The private key of the account.

    Returns Promise<
        {
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            policies?: string[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: AccountQuoteSwapOptions,
            ) => Promise<AccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendTransaction: (
                options: Omit<SendTransactionOptions, "address">,
            ) => Promise<TransactionResult>;
            sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTransaction: (
                transaction: TransactionSerializable,
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            swap: (options: AccountSwapOptions) => Promise<SendSwapTransactionResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<{ transactionHash: `0x${string}` }>;
            type: "evm-server";
            useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    policies?: string[];
                    requestFaucet: (
                        options: Omit<RequestFaucetOptions, "address" | "network">,
                    ) => Promise<RequestFaucetResult>;
                    sendTransaction: (
                        options: Omit<SendTransactionOptions, "address" | "network">,
                    ) => Promise<TransactionResult>;
                    sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signMessage: (
                        parameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: (
                        transaction: TransactionSerializable,
                    ) => Promise<`0x${string}`>;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    type: "evm-server";
                    waitForTransactionReceipt: (
                        options: TransactionResult | WaitForTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                },
            >;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the imported account.

             const account = await cdp.evm.importAccount({
    privateKey: "0x123456"
    });
             const account = await cdp.evm.importAccount({
    privateKey: "0x123456",
    name: "MyAccount"
    });
             const idempotencyKey = uuidv4();

    // First call
    await cdp.evm.importAccount({
    privateKey: "0x123456",
    idempotencyKey,
    });

    // Second call with the same idempotency key will return the same account
    await cdp.evm.importAccount({
    privateKey: "0x123456"
    idempotencyKey,
    });
  • Lists CDP EVM accounts.

    Parameters

    • Optionaloptions: ListServerAccountsOptions = {}

      Optional parameters for listing the accounts.

      Options for listing EVM accounts.

      • OptionalpageSize?: number

        The page size to paginate through the accounts.

      • OptionalpageToken?: string

        The page token to paginate through the accounts.

    Returns Promise<ListServerAccountResult>

    A promise that resolves to an array of accounts, and a token to paginate through the accounts.

    const accounts = await cdp.evm.listAccounts();
    
             let page = await cdp.evm.listAccounts();

    while (page.nextPageToken) {
    page = await cdp.evm.listAccounts({ pageToken: page.nextPageToken });
    }
  • Lists CDP EVM smart accounts.

    Parameters

    • options: ListSmartAccountsOptions = {}

      Parameters for listing the smart accounts.

      Options for listing EVM smart accounts.

      • Optionalname?: string

        The name of the account.

      • OptionalpageSize?: number

        The page size to paginate through the accounts.

      • OptionalpageToken?: string

        The page token to paginate through the accounts.

    Returns Promise<ListSmartAccountResult>

    A promise that resolves to an array of smart accounts, and a token to paginate through the smart accounts.

    const smartAccounts = await cdp.evm.listSmartAccounts();
    
             let page = await cdp.evm.listSmartAccounts();

    while (page.nextPageToken) {
    page = await cdp.evm.listSmartAccounts({ pageToken: page.nextPageToken });
  • Lists CDP EVM token balances.

    Parameters

    • options: ListTokenBalancesOptions

      Parameters for listing the token balances.

      Options for listing EVM token balances.

      • address: `0x${string}`

        The address of the account.

      • network: ListEvmTokenBalancesNetwork

        The network.

      • OptionalpageSize?: number

        The page size to paginate through the token balances.

      • OptionalpageToken?: string

        The page token to paginate through the token balances.

    Returns Promise<ListTokenBalancesResult>

    A promise that resolves to an array of token balances, and a token to paginate through the token balances.

    const tokenBalances = await cdp.evm.listTokenBalances({
    address: "0x1234567890123456789012345678901234567890",
    network: "base-sepolia",
    });

    With pagination

    let page = await cdp.evm.listTokenBalances({
    address: "0x1234567890123456789012345678901234567890",
    network: "base-sepolia",
    });

    while (page.nextPageToken) {
    page = await cdp.evm.listTokenBalances({
    address: "0x1234567890123456789012345678901234567890",
    network: "base-sepolia",
    pageToken: page.nextPageToken,
    });
  • Prepares a user operation for a smart account.

    Parameters

    • options: PrepareUserOperationOptions

      Parameters for preparing the user operation.

      Options for preparing a user operation.

      • calls: readonly { data: `0x${string}`; to: `0x${string}`; value: bigint }[]

        The calls.

      • network: EvmUserOperationNetwork

        The network.

      • OptionalpaymasterUrl?: string

        The paymaster URL.

      • smartAccount: {
            __experimental_useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    owners: EvmAccount[];
                    type: "evm-smart";
                },
            >;
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            getUserOperation: (
                options: Omit<GetUserOperationOptions, "smartAccount">,
            ) => Promise<UserOperation>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            owners: EvmAccount[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: SmartAccountQuoteSwapOptions,
            ) => Promise<SmartAccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendUserOperation: (
                options: Omit<SendUserOperationOptions<unknown[]>, "smartAccount">,
            ) => Promise<SendUserOperationReturnType>;
            swap: (options: SmartAccountSwapOptions) => Promise<SmartAccountSwapResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<SendUserOperationReturnType>;
            type: "evm-smart";
            waitForUserOperation: (
                options: Omit<WaitForUserOperationOptions, "smartAccountAddress">,
            ) => Promise<WaitForUserOperationReturnType>;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        }

        The smart account.

        • __experimental_useNetwork: (
              network: string,
          ) => Promise<
              {
                  address: `0x${string}`;
                  name?: string;
                  network: string;
                  owners: EvmAccount[];
                  type: "evm-smart";
              },
          >

          Subject to breaking changes. A function that returns a network-scoped smart account.

        • address: `0x${string}`

          The smart account's address.

        • fund: (options: Omit<FundOptions, "address">) => Promise<FundOperationResult>

          Funds an EVM account with the specified token amount.

          const fundOperation = await account.fund({
          network: "base",
          token: "usdc",
          amount: 1000000n,
          });
        • getUserOperation: (
              options: Omit<GetUserOperationOptions, "smartAccount">,
          ) => Promise<UserOperation>

          Gets a user operation by its hash.

          const userOp = await smartAccount.getUserOperation({
          userOpHash: "0x1234567890123456789012345678901234567890",
          });
        • listTokenBalances: (
              options: Omit<ListTokenBalancesOptions, "address">,
          ) => Promise<ListTokenBalancesResult>

          List the token balances of an account.

          const balances = await account.listTokenBalances({
          network: "base-sepolia",
          });
        • Optionalname?: string

          The name of the smart account.

        • owners: EvmAccount[]

          Array of accounts that own and can sign for the smart account (currently only supports one owner but will be extended to support multiple owners in the future).

        • quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>

          Gets a quote to fund an EVM account.

          const quote = await account.quoteFund({
          network: "base",
          token: "usdc",
          amount: 1000000n,
          });
        • quoteSwap: (options: SmartAccountQuoteSwapOptions) => Promise<SmartAccountQuoteSwapResult>

          Creates a swap quote without executing the transaction. This is useful when you need to get swap details before executing the swap. The taker is automatically set to the smart account's address.

          const swapQuote = await smartAccount.quoteSwap({
          network: "base",
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          });

          if (swapQuote.liquidityAvailable) {
          console.log(`Can swap for ${swapQuote.toAmount} USDC`);
          }
        • requestFaucet: (options: Omit<RequestFaucetOptions, "address">) => Promise<RequestFaucetResult>

          Requests funds from an EVM faucet.

          const result = await account.requestFaucet({
          network: "base-sepolia",
          token: "eth",
          });
        • sendUserOperation: (
              options: Omit<SendUserOperationOptions<unknown[]>, "smartAccount">,
          ) => Promise<SendUserOperationReturnType>

          Sends a user operation.

          const userOp = await smartAccount.sendUserOperation({
          network: "base-sepolia",
          calls: [
          {
          to: "0x1234567890123456789012345678901234567890",
          value: parseEther("0.000001"),
          data: "0x",
          },
          ],
          });
        • swap: (options: SmartAccountSwapOptions) => Promise<SmartAccountSwapResult>

          Executes a token swap on the specified network via a user operation. This method handles all the steps required for a swap, including Permit2 signatures if needed. The taker is automatically set to the smart account's address.

          If liquidity is not available when using inline options.

          // First create a swap quote
          const swapQuote = await cdp.evm.createSwapQuote({
          network: "base",
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          taker: smartAccount.address,
          signerAddress: smartAccount.owners[0].address
          });

          // Check if liquidity is available
          if (!swapQuote.liquidityAvailable) {
          console.error("Insufficient liquidity for swap");
          return;
          }

          // Execute the swap
          const { userOpHash } = await smartAccount.swap({
          swapQuote: swapQuote
          });

          console.log(`Swap executed with user op hash: ${userOpHash}`);
          // Create and execute swap in one call
          const { userOpHash } = await smartAccount.swap({
          network: "base",
          toToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
          fromToken: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
          fromAmount: BigInt("1000000000000000000"), // 1 WETH in wei
          });

          console.log(`Swap executed with user op hash: ${userOpHash}`);
        • transfer: (options: TransferOptions) => Promise<SendUserOperationReturnType>

          Transfer an amount of a token from an account to another account.

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: 10000n, // equivalent to 0.01 USDC
          token: "usdc",
          network: "base-sepolia",
          });

          Using parseUnits to specify USDC amount

          import { parseUnits } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseUnits("0.01", 6), // USDC uses 6 decimal places
          token: "usdc",
          network: "base-sepolia",
          });

          Transfer ETH

          import { parseEther } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseEther("0.000001"),
          token: "eth",
          network: "base-sepolia",
          });

          Using a contract address

          import { parseEther } from "viem";

          const { userOpHash } = await sender.transfer({
          to: "0x9F663335Cd6Ad02a37B633602E98866CF944124d",
          amount: parseEther("0.000001"),
          token: "0x4200000000000000000000000000000000000006", // WETH on Base Sepolia
          network: "base-sepolia",
          });

          Transfer to another account

          const sender = await cdp.evm.createAccount({ name: "Sender" });
          const receiver = await cdp.evm.createAccount({ name: "Receiver" });

          const { userOpHash } = await sender.transfer({
          to: receiver,
          amount: 10000n, // equivalent to 0.01 USDC
          token: "usdc",
          network: "base-sepolia",
          });
        • type: "evm-smart"

          Identifier for the smart account type.

        • waitForUserOperation: (
              options: Omit<WaitForUserOperationOptions, "smartAccountAddress">,
          ) => Promise<WaitForUserOperationReturnType>

          Waits for a user operation to complete or fail.

          // Send a user operation and get the user operation hash
          const { userOpHash } = await smartAccount.sendUserOperation({
          network: "base-sepolia",
          calls: [
          {
          to: "0x0000000000000000000000000000000000000000",
          value: parseEther("0.000001"),
          data: "0x",
          },
          ],
          });

          // Wait for the user operation to complete or fail
          const result = await smartAccount.waitForUserOperation({
          userOpHash: userOp.userOpHash,
          });
        • waitForFundOperationReceipt:function

    Returns Promise<UserOperation>

    A promise that resolves to the user operation hash.

    const userOp = await cdp.evm.prepareUserOperation({
    smartAccount,
    network: "base-sepolia",
    calls: [
    {
    to: "0x1234567890123456789012345678901234567890",
    value: parseEther("0.000001"),
    data: "0x",
    },
    ],
    });
  • Requests funds from an EVM faucet.

    Parameters

    • options: RequestFaucetOptions

      Parameters for requesting funds from the EVM faucet.

      Options for requesting funds from an EVM faucet.

      • address: string

        The address of the account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • network: "base-sepolia" | "ethereum-sepolia"

        The network to request funds from.

      • token: "eth" | "usdc" | "eurc" | "cbbtc"

        The token to request funds for.

    Returns Promise<RequestFaucetResult>

    A promise that resolves to the transaction hash.

    const result = await cdp.evm.requestFaucet({
    address: "0x1234567890123456789012345678901234567890",
    network: "base-sepolia",
    token: "eth",
    });
  • Signs an EVM transaction and sends it to the specified network using the Coinbase API. This method handles nonce management and gas estimation automatically.

    Parameters

    Returns Promise<TransactionResult>

    A promise that resolves to the transaction hash.

    Sending an RLP-encoded transaction

    import { parseEther, serializeTransaction } from "viem";
    import { baseSepolia } from "viem/chains";

    const { transactionHash } = await cdp.evm.sendTransaction({
    address: account.address,
    transaction: serializeTransaction({
    to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
    value: parseEther("0.000001"),
    chainId: baseSepolia.id,
    // Fields below are optional, CDP API will populate them if omitted.
    // nonce
    // maxPriorityFeePerGas
    // maxFeePerGas
    // gas
    }),
    network: "base-sepolia",
    });

    Sending an EIP-1559 transaction request object

    const { transactionHash } = await cdp.evm.sendTransaction({
    address: account.address,
    transaction: {
    to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
    value: parseEther("0.000001"),
    // Fields below are optional, CDP API will populate them if omitted.
    // nonce
    // maxPriorityFeePerGas
    // maxFeePerGas
    // gas
    },
    network: "base-sepolia",
    });
  • Sends a user operation.

    Parameters

    • options: SendUserOperationOptions<unknown[]>

      Parameters for sending the user operation.

      • calls: Calls<T>

        Array of contract calls to execute in the user operation. Each call can either be:

        • A direct call with to, value, and data.
        • A contract call with to, abi, functionName, and args.
        const calls = [
        {
        to: "0x1234567890123456789012345678901234567890",
        value: parseEther("0.0000005"),
        data: "0x",
        },
        {
        to: "0x1234567890123456789012345678901234567890",
        abi: erc20Abi,
        functionName: "transfer",
        args: [to, amount],
        },
        ]
      • OptionalidempotencyKey?: string

        The idempotency key.

      • network: EvmUserOperationNetwork

        Chain ID of the network to execute on.

      • OptionalpaymasterUrl?: string

        Optional URL of the paymaster service to use for gas sponsorship. Must be ERC-7677 compliant.

      • smartAccount: EvmSmartAccount

        The smart account.

    Returns Promise<SendUserOperationReturnType>

    A promise that resolves to an object containing the smart account address, the user operation hash, and the status of the user operation.

    const userOp = await cdp.evm.sendUserOperation({
    smartAccount,
    network: "base-sepolia",
    calls: [
    {
    to: "0x1234567890123456789012345678901234567890",
    value: parseEther("0.000001"),
    data: "0x",
    },
    ],
    });
  • Signs an EVM hash.

    Parameters

    • options: SignHashOptions

      Parameters for signing the hash.

      Options for signing an EVM hash.

      • address: `0x${string}`

        The address of the account.

      • hash: `0x${string}`

        The hash to sign.

      • OptionalidempotencyKey?: string

        The idempotency key.

    Returns Promise<SignatureResult>

    A promise that resolves to the signature.

    // Create a new EVM server account to sign with
    const ethAccount = await cdp.createEvmServerAccount({});

    const signature = await cdp.evm.signHash({
    address: ethAccount.address,
    hash: "0x1234567890123456789012345678901234567890123456789012345678901234",
    });
  • Signs an EVM message.

    Parameters

    • options: SignMessageOptions

      Parameters for signing the message.

      Options for signing an EVM message.

      • address: `0x${string}`

        The address of the account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • message: string

        The message to sign.

    Returns Promise<SignatureResult>

    A promise that resolves to the signature.

    // Create a new EVM server account to sign with
    const ethAccount = await cdp.createEvmServerAccount({});

    const signature = await cdp.evm.signMessage({
    address: ethAccount.address,
    message: "Hello, world!",
    });
  • Signs an EVM transaction.

    Parameters

    Returns Promise<SignatureResult>

    A promise that resolves to the signature.

    import { parseEther, serializeTransaction } from "viem";
    import { baseSepolia } from "viem/chains";

    // Create a new EVM server account to sign with
    const ethAccount = await cdp.createEvmServerAccount({});

    const serializedTx = serializeTransaction(
    {
    chainId: baseSepolia.id,
    data: "0x",
    to: "0x4252e0c9A3da5A2700e7d91cb50aEf522D0C6Fe8",
    type: "eip1559",
    value: parseEther("0.000001"),
    },
    );

    const signature = await cdp.evm.signTransaction({
    address: ethAccount.address,
    transaction: serializedTx,
    });
  • Signs an EIP-712 message.

    Parameters

    Returns Promise<SignatureResult>

    A promise that resolves to the signature.

    const signature = await cdp.evm.signTypedData({
    address: account.address,
    domain: {
    name: "Permit2",
    chainId: 1,
    verifyingContract: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
    },
    types: {
    EIP712Domain: [
    { name: "name", type: "string" },
    { name: "chainId", type: "uint256" },
    { name: "verifyingContract", type: "address" },
    ],
    PermitTransferFrom: [
    { name: "permitted", type: "TokenPermissions" },
    { name: "spender", type: "address" },
    { name: "nonce", type: "uint256" },
    { name: "deadline", type: "uint256" },
    ],
    TokenPermissions: [
    { name: "token", type: "address" },
    { name: "amount", type: "uint256" },
    ],
    },
    primaryType: "PermitTransferFrom",
    message: {
    permitted: {
    token: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    amount: "1000000",
    },
    spender: "0xFfFfFfFFfFFfFFfFFfFFFFFffFFFffffFfFFFfFf",
    nonce: "0",
    deadline: "1717123200",
    },
    });
  • Updates a CDP EVM account.

    Parameters

    • Optionaloptions: UpdateEvmAccountOptions

      Optional parameters for creating the account.

      Options for creating an EVM server account.

      • address: string

        The address of the account.

      • OptionalidempotencyKey?: string

        The idempotency key.

      • update: UpdateEvmAccountBody

        The updates to apply to the account

    Returns Promise<
        {
            address: `0x${string}`;
            fund: (
                options: Omit<FundOptions, "address">,
            ) => Promise<FundOperationResult>;
            listTokenBalances: (
                options: Omit<ListTokenBalancesOptions, "address">,
            ) => Promise<ListTokenBalancesResult>;
            name?: string;
            policies?: string[];
            quoteFund: (options: Omit<QuoteFundOptions, "address">) => Promise<Quote>;
            quoteSwap: (
                options: AccountQuoteSwapOptions,
            ) => Promise<AccountQuoteSwapResult>;
            requestFaucet: (
                options: Omit<RequestFaucetOptions, "address">,
            ) => Promise<RequestFaucetResult>;
            sendTransaction: (
                options: Omit<SendTransactionOptions, "address">,
            ) => Promise<TransactionResult>;
            sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
            signMessage: (
                parameters: { message: SignableMessage },
            ) => Promise<`0x${string}`>;
            signTransaction: (
                transaction: TransactionSerializable,
            ) => Promise<`0x${string}`>;
            signTypedData: <
                const typedData extends
                    | Record<string, unknown>
                    | {
                        address?: undefined;
                        bool?: undefined;
                        bytes?: undefined;
                        bytes1?: undefined;
                        bytes10?: undefined;
                        bytes11?: undefined;
                        bytes12?: undefined;
                        bytes13?: undefined;
                        bytes14?: undefined;
                        bytes15?: undefined;
                        bytes16?: undefined;
                        bytes17?: undefined;
                        bytes18?: undefined;
                        bytes19?: undefined;
                        bytes2?: undefined;
                        bytes20?: undefined;
                        bytes21?: undefined;
                        bytes22?: undefined;
                        bytes23?: undefined;
                        bytes24?: undefined;
                        bytes25?: undefined;
                        bytes26?: undefined;
                        bytes27?: undefined;
                        bytes28?: undefined;
                        bytes29?: undefined;
                        bytes3?: undefined;
                        bytes30?: undefined;
                        bytes31?: undefined;
                        bytes32?: undefined;
                        bytes4?: undefined;
                        bytes5?: undefined;
                        bytes6?: undefined;
                        bytes7?: undefined;
                        bytes8?: undefined;
                        bytes9?: undefined;
                        int104?: undefined;
                        int112?: undefined;
                        int120?: undefined;
                        int128?: undefined;
                        int136?: undefined;
                        int144?: undefined;
                        int152?: undefined;
                        int16?: undefined;
                        int160?: undefined;
                        int168?: undefined;
                        int176?: undefined;
                        int184?: undefined;
                        int192?: undefined;
                        int200?: undefined;
                        int208?: undefined;
                        int216?: undefined;
                        int224?: undefined;
                        int232?: undefined;
                        int24?: undefined;
                        int240?: undefined;
                        int248?: undefined;
                        int256?: undefined;
                        int32?: undefined;
                        int40?: undefined;
                        int48?: undefined;
                        int56?: undefined;
                        int64?: undefined;
                        int72?: undefined;
                        int8?: undefined;
                        int80?: undefined;
                        int88?: undefined;
                        int96?: undefined;
                        string?: undefined;
                        uint104?: undefined;
                        uint112?: undefined;
                        uint120?: undefined;
                        uint128?: undefined;
                        uint136?: undefined;
                        uint144?: undefined;
                        uint152?: undefined;
                        uint16?: undefined;
                        uint160?: undefined;
                        uint168?: undefined;
                        uint176?: undefined;
                        uint184?: undefined;
                        uint192?: undefined;
                        uint200?: undefined;
                        uint208?: undefined;
                        uint216?: undefined;
                        uint224?: undefined;
                        uint232?: undefined;
                        uint24?: undefined;
                        uint240?: undefined;
                        uint248?: undefined;
                        uint256?: undefined;
                        uint32?: undefined;
                        uint40?: undefined;
                        uint48?: undefined;
                        uint56?: undefined;
                        uint64?: undefined;
                        uint72?: undefined;
                        uint8?: undefined;
                        uint80?: undefined;
                        uint88?: undefined;
                        uint96?: undefined;
                        [key: string]: readonly TypedDataParameter[];
                        [key: `string[${string}]`]: undefined;
                        [key: `function[${string}]`]: undefined;
                        [key: `address[${string}]`]: undefined;
                        [key: `bool[${string}]`]: undefined;
                        [key: `bytes[${string}]`]: undefined;
                        [key: `bytes1[${string}]`]: undefined;
                        [key: `bytes2[${string}]`]: undefined;
                        [key: `bytes3[${string}]`]: undefined;
                        [key: `bytes32[${string}]`]: undefined;
                        [key: `bytes16[${string}]`]: undefined;
                        [key: `bytes4[${string}]`]: undefined;
                        [key: `bytes6[${string}]`]: undefined;
                        [key: `bytes18[${string}]`]: undefined;
                        [key: `bytes10[${string}]`]: undefined;
                        [key: `bytes5[${string}]`]: undefined;
                        [key: `bytes7[${string}]`]: undefined;
                        [key: `bytes8[${string}]`]: undefined;
                        [key: `bytes9[${string}]`]: undefined;
                        [key: `bytes11[${string}]`]: undefined;
                        [key: `bytes12[${string}]`]: undefined;
                        [key: `bytes13[${string}]`]: undefined;
                        [key: `bytes14[${string}]`]: undefined;
                        [key: `bytes15[${string}]`]: undefined;
                        [key: `bytes17[${string}]`]: undefined;
                        [key: `bytes19[${string}]`]: undefined;
                        [key: `bytes20[${string}]`]: undefined;
                        [key: `bytes21[${string}]`]: undefined;
                        [key: `bytes22[${string}]`]: undefined;
                        [key: `bytes23[${string}]`]: undefined;
                        [key: `bytes24[${string}]`]: undefined;
                        [key: `bytes25[${string}]`]: undefined;
                        [key: `bytes26[${string}]`]: undefined;
                        [key: `bytes27[${string}]`]: undefined;
                        [key: `bytes28[${string}]`]: undefined;
                        [key: `bytes29[${string}]`]: undefined;
                        [key: `bytes30[${string}]`]: undefined;
                        [key: `bytes31[${string}]`]: undefined;
                        [key: `int[${string}]`]: undefined;
                        [key: `int120[${string}]`]: undefined;
                        [key: `int64[${string}]`]: undefined;
                        [key: `int32[${string}]`]: undefined;
                        [key: `int16[${string}]`]: undefined;
                        [key: `int8[${string}]`]: undefined;
                        [key: `int24[${string}]`]: undefined;
                        [key: `int40[${string}]`]: undefined;
                        [key: `int48[${string}]`]: undefined;
                        [key: `int56[${string}]`]: undefined;
                        [key: `int72[${string}]`]: undefined;
                        [key: `int80[${string}]`]: undefined;
                        [key: `int88[${string}]`]: undefined;
                        [key: `int96[${string}]`]: undefined;
                        [key: `int104[${string}]`]: undefined;
                        [key: `int112[${string}]`]: undefined;
                        [key: `int128[${string}]`]: undefined;
                        [key: `int136[${string}]`]: undefined;
                        [key: `int144[${string}]`]: undefined;
                        [key: `int152[${string}]`]: undefined;
                        [key: `int160[${string}]`]: undefined;
                        [key: `int168[${string}]`]: undefined;
                        [key: `int176[${string}]`]: undefined;
                        [key: `int184[${string}]`]: undefined;
                        [key: `int192[${string}]`]: undefined;
                        [key: `int200[${string}]`]: undefined;
                        [key: `int208[${string}]`]: undefined;
                        [key: `int216[${string}]`]: undefined;
                        [key: `int224[${string}]`]: undefined;
                        [key: `int232[${string}]`]: undefined;
                        [key: `int240[${string}]`]: undefined;
                        [key: `int248[${string}]`]: undefined;
                        [key: `int256[${string}]`]: undefined;
                        [key: `uint[${string}]`]: undefined;
                        [key: `uint120[${string}]`]: undefined;
                        [key: `uint64[${string}]`]: undefined;
                        [key: `uint32[${string}]`]: undefined;
                        [key: `uint16[${string}]`]: undefined;
                        [key: `uint8[${string}]`]: undefined;
                        [key: `uint24[${string}]`]: undefined;
                        [key: `uint40[${string}]`]: undefined;
                        [key: `uint48[${string}]`]: undefined;
                        [key: `uint56[${string}]`]: undefined;
                        [key: `uint72[${string}]`]: undefined;
                        [key: `uint80[${string}]`]: undefined;
                        [key: `uint88[${string}]`]: undefined;
                        [key: `uint96[${string}]`]: undefined;
                        [key: `uint104[${string}]`]: undefined;
                        [key: `uint112[${string}]`]: undefined;
                        [key: `uint128[${string}]`]: undefined;
                        [key: `uint136[${string}]`]: undefined;
                        [key: `uint144[${string}]`]: undefined;
                        [key: `uint152[${string}]`]: undefined;
                        [key: `uint160[${string}]`]: undefined;
                        [key: `uint168[${string}]`]: undefined;
                        [key: `uint176[${string}]`]: undefined;
                        [key: `uint184[${string}]`]: undefined;
                        [key: `uint192[${string}]`]: undefined;
                        [key: `uint200[${string}]`]: undefined;
                        [key: `uint208[${string}]`]: undefined;
                        [key: `uint216[${string}]`]: undefined;
                        [key: `uint224[${string}]`]: undefined;
                        [key: `uint232[${string}]`]: undefined;
                        [key: `uint240[${string}]`]: undefined;
                        [key: `uint248[${string}]`]: undefined;
                        [key: `uint256[${string}]`]: undefined;
                    },
                primaryType extends string
                | number
                | symbol = keyof typedData,
            >(
                parameters: TypedDataDefinition<typedData, primaryType>,
            ) => Promise<`0x${string}`>;
            swap: (options: AccountSwapOptions) => Promise<SendSwapTransactionResult>;
            transfer: (
                options: TransferOptions,
            ) => Promise<{ transactionHash: `0x${string}` }>;
            type: "evm-server";
            useNetwork: (
                network: string,
            ) => Promise<
                {
                    address: `0x${string}`;
                    name?: string;
                    network: string;
                    policies?: string[];
                    requestFaucet: (
                        options: Omit<RequestFaucetOptions, "address" | "network">,
                    ) => Promise<RequestFaucetResult>;
                    sendTransaction: (
                        options: Omit<SendTransactionOptions, "address" | "network">,
                    ) => Promise<TransactionResult>;
                    sign: (parameters: { hash: `0x${string}` }) => Promise<`0x${string}`>;
                    signMessage: (
                        parameters: { message: SignableMessage },
                    ) => Promise<`0x${string}`>;
                    signTransaction: (
                        transaction: TransactionSerializable,
                    ) => Promise<`0x${string}`>;
                    signTypedData: <
                        const typedData extends
                            | Record<string, unknown>
                            | {
                                address?: undefined;
                                bool?: undefined;
                                bytes?: undefined;
                                bytes1?: undefined;
                                bytes10?: undefined;
                                bytes11?: undefined;
                                bytes12?: undefined;
                                bytes13?: undefined;
                                bytes14?: undefined;
                                bytes15?: undefined;
                                bytes16?: undefined;
                                bytes17?: undefined;
                                bytes18?: undefined;
                                bytes19?: undefined;
                                bytes2?: undefined;
                                bytes20?: undefined;
                                bytes21?: undefined;
                                bytes22?: undefined;
                                bytes23?: undefined;
                                bytes24?: undefined;
                                bytes25?: undefined;
                                bytes26?: undefined;
                                bytes27?: undefined;
                                bytes28?: undefined;
                                bytes29?: undefined;
                                bytes3?: undefined;
                                bytes30?: undefined;
                                bytes31?: undefined;
                                bytes32?: undefined;
                                bytes4?: undefined;
                                bytes5?: undefined;
                                bytes6?: undefined;
                                bytes7?: undefined;
                                bytes8?: undefined;
                                bytes9?: undefined;
                                int104?: undefined;
                                int112?: undefined;
                                int120?: undefined;
                                int128?: undefined;
                                int136?: undefined;
                                int144?: undefined;
                                int152?: undefined;
                                int16?: undefined;
                                int160?: undefined;
                                int168?: undefined;
                                int176?: undefined;
                                int184?: undefined;
                                int192?: undefined;
                                int200?: undefined;
                                int208?: undefined;
                                int216?: undefined;
                                int224?: undefined;
                                int232?: undefined;
                                int24?: undefined;
                                int240?: undefined;
                                int248?: undefined;
                                int256?: undefined;
                                int32?: undefined;
                                int40?: undefined;
                                int48?: undefined;
                                int56?: undefined;
                                int64?: undefined;
                                int72?: undefined;
                                int8?: undefined;
                                int80?: undefined;
                                int88?: undefined;
                                int96?: undefined;
                                string?: undefined;
                                uint104?: undefined;
                                uint112?: undefined;
                                uint120?: undefined;
                                uint128?: undefined;
                                uint136?: undefined;
                                uint144?: undefined;
                                uint152?: undefined;
                                uint16?: undefined;
                                uint160?: undefined;
                                uint168?: undefined;
                                uint176?: undefined;
                                uint184?: undefined;
                                uint192?: undefined;
                                uint200?: undefined;
                                uint208?: undefined;
                                uint216?: undefined;
                                uint224?: undefined;
                                uint232?: undefined;
                                uint24?: undefined;
                                uint240?: undefined;
                                uint248?: undefined;
                                uint256?: undefined;
                                uint32?: undefined;
                                uint40?: undefined;
                                uint48?: undefined;
                                uint56?: undefined;
                                uint64?: undefined;
                                uint72?: undefined;
                                uint8?: undefined;
                                uint80?: undefined;
                                uint88?: undefined;
                                uint96?: undefined;
                                [key: string]: readonly TypedDataParameter[];
                                [key: `string[${string}]`]: undefined;
                                [key: `function[${string}]`]: undefined;
                                [key: `address[${string}]`]: undefined;
                                [key: `bool[${string}]`]: undefined;
                                [key: `bytes[${string}]`]: undefined;
                                [key: `bytes1[${string}]`]: undefined;
                                [key: `bytes2[${string}]`]: undefined;
                                [key: `bytes3[${string}]`]: undefined;
                                [key: `bytes32[${string}]`]: undefined;
                                [key: `bytes16[${string}]`]: undefined;
                                [key: `bytes4[${string}]`]: undefined;
                                [key: `bytes6[${string}]`]: undefined;
                                [key: `bytes18[${string}]`]: undefined;
                                [key: `bytes10[${string}]`]: undefined;
                                [key: `bytes5[${string}]`]: undefined;
                                [key: `bytes7[${string}]`]: undefined;
                                [key: `bytes8[${string}]`]: undefined;
                                [key: `bytes9[${string}]`]: undefined;
                                [key: `bytes11[${string}]`]: undefined;
                                [key: `bytes12[${string}]`]: undefined;
                                [key: `bytes13[${string}]`]: undefined;
                                [key: `bytes14[${string}]`]: undefined;
                                [key: `bytes15[${string}]`]: undefined;
                                [key: `bytes17[${string}]`]: undefined;
                                [key: `bytes19[${string}]`]: undefined;
                                [key: `bytes20[${string}]`]: undefined;
                                [key: `bytes21[${string}]`]: undefined;
                                [key: `bytes22[${string}]`]: undefined;
                                [key: `bytes23[${string}]`]: undefined;
                                [key: `bytes24[${string}]`]: undefined;
                                [key: `bytes25[${string}]`]: undefined;
                                [key: `bytes26[${string}]`]: undefined;
                                [key: `bytes27[${string}]`]: undefined;
                                [key: `bytes28[${string}]`]: undefined;
                                [key: `bytes29[${string}]`]: undefined;
                                [key: `bytes30[${string}]`]: undefined;
                                [key: `bytes31[${string}]`]: undefined;
                                [key: `int[${string}]`]: undefined;
                                [key: `int120[${string}]`]: undefined;
                                [key: `int64[${string}]`]: undefined;
                                [key: `int32[${string}]`]: undefined;
                                [key: `int16[${string}]`]: undefined;
                                [key: `int8[${string}]`]: undefined;
                                [key: `int24[${string}]`]: undefined;
                                [key: `int40[${string}]`]: undefined;
                                [key: `int48[${string}]`]: undefined;
                                [key: `int56[${string}]`]: undefined;
                                [key: `int72[${string}]`]: undefined;
                                [key: `int80[${string}]`]: undefined;
                                [key: `int88[${string}]`]: undefined;
                                [key: `int96[${string}]`]: undefined;
                                [key: `int104[${string}]`]: undefined;
                                [key: `int112[${string}]`]: undefined;
                                [key: `int128[${string}]`]: undefined;
                                [key: `int136[${string}]`]: undefined;
                                [key: `int144[${string}]`]: undefined;
                                [key: `int152[${string}]`]: undefined;
                                [key: `int160[${string}]`]: undefined;
                                [key: `int168[${string}]`]: undefined;
                                [key: `int176[${string}]`]: undefined;
                                [key: `int184[${string}]`]: undefined;
                                [key: `int192[${string}]`]: undefined;
                                [key: `int200[${string}]`]: undefined;
                                [key: `int208[${string}]`]: undefined;
                                [key: `int216[${string}]`]: undefined;
                                [key: `int224[${string}]`]: undefined;
                                [key: `int232[${string}]`]: undefined;
                                [key: `int240[${string}]`]: undefined;
                                [key: `int248[${string}]`]: undefined;
                                [key: `int256[${string}]`]: undefined;
                                [key: `uint[${string}]`]: undefined;
                                [key: `uint120[${string}]`]: undefined;
                                [key: `uint64[${string}]`]: undefined;
                                [key: `uint32[${string}]`]: undefined;
                                [key: `uint16[${string}]`]: undefined;
                                [key: `uint8[${string}]`]: undefined;
                                [key: `uint24[${string}]`]: undefined;
                                [key: `uint40[${string}]`]: undefined;
                                [key: `uint48[${string}]`]: undefined;
                                [key: `uint56[${string}]`]: undefined;
                                [key: `uint72[${string}]`]: undefined;
                                [key: `uint80[${string}]`]: undefined;
                                [key: `uint88[${string}]`]: undefined;
                                [key: `uint96[${string}]`]: undefined;
                                [key: `uint104[${string}]`]: undefined;
                                [key: `uint112[${string}]`]: undefined;
                                [key: `uint128[${string}]`]: undefined;
                                [key: `uint136[${string}]`]: undefined;
                                [key: `uint144[${string}]`]: undefined;
                                [key: `uint152[${string}]`]: undefined;
                                [key: `uint160[${string}]`]: undefined;
                                [key: `uint168[${string}]`]: undefined;
                                [key: `uint176[${string}]`]: undefined;
                                [key: `uint184[${string}]`]: undefined;
                                [key: `uint192[${string}]`]: undefined;
                                [key: `uint200[${string}]`]: undefined;
                                [key: `uint208[${string}]`]: undefined;
                                [key: `uint216[${string}]`]: undefined;
                                [key: `uint224[${string}]`]: undefined;
                                [key: `uint232[${string}]`]: undefined;
                                [key: `uint240[${string}]`]: undefined;
                                [key: `uint248[${string}]`]: undefined;
                                [key: `uint256[${string}]`]: undefined;
                            },
                        primaryType extends string
                        | number
                        | symbol = keyof typedData,
                    >(
                        parameters: TypedDataDefinition<typedData, primaryType>,
                    ) => Promise<`0x${string}`>;
                    type: "evm-server";
                    waitForTransactionReceipt: (
                        options: TransactionResult | WaitForTransactionReceiptParameters,
                    ) => Promise<TransactionReceipt>;
                },
            >;
            waitForFundOperationReceipt(
                options: WaitForFundOperationOptions,
            ): Promise<WaitForFundOperationResult>;
        },
    >

    A promise that resolves to the updated account.

             const account = await cdp.evm.updateAccount({ address: "0x...", update: { name: "New Name" } });
             const account = await cdp.evm.updateAccount({ address: "0x...", update: { accountPolicy: "73bcaeeb-d7af-4615-b064-42b5fe83a31e" } });
             const idempotencyKey = uuidv4();

    // First call
    await cdp.evm.updateAccount({
    address: "0x...",
    update: { accountPolicy: "73bcaeeb-d7af-4615-b064-42b5fe83a31e" },
    idempotencyKey,
    });

    // Second call with the same idempotency key will not update
    await cdp.evm.updateAccount({
    address: '0x...',
    update: { name: "" },
    idempotencyKey,
    });
  • Waits for a user operation to complete or fail.

    Parameters

    • options: WaitForUserOperationOptions

      Parameters for waiting for the user operation.

      Options for waiting for a user operation.

      • smartAccountAddress: `0x${string}`

        The smart account address.

      • userOpHash: `0x${string}`

        The user operation hash.

      • OptionalwaitOptions?: WaitOptions

        The wait options.

    Returns Promise<WaitForUserOperationReturnType>

    A promise that resolves to the transaction receipt.

    // Send a user operation and get the user operation hash
    const { userOpHash } = await cdp.evm.sendUserOperation({
    smartAccount,
    network: "base-sepolia",
    calls: [
    {
    to: "0x0000000000000000000000000000000000000000",
    value: parseEther("0.000001"),
    data: "0x",
    },
    ],
    });

    // Wait for the user operation to complete or fail
    const result = await cdp.evm.waitForUserOperation({
    smartAccountAddress: smartAccount.address,
    userOpHash: userOp.userOpHash,
    });