Type Aliases

EvmAccount

type EvmAccount = {
  address: Address;
  policies?: string[];
  sign: (parameters: {
     hash: Hash;
  }) => Promise<Hex>;
  signMessage: (parameters: {
     message: SignableMessage;
  }) => Promise<Hex>;
  signTransaction: (transaction: TransactionSerializable) => Promise<Hex>;
  signTypedData: <typedData, primaryType>(parameters: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
};
Defined in: src/accounts/evm/types.ts:73 Base type for any Ethereum account with signing capabilities. For example, this could be an EVM ServerAccount, or a viem LocalAccount.

Properties

PropertyTypeDescriptionDefined in
addressAddressThe address of the signer.src/accounts/evm/types.ts:75
policies?string[]A list of Policy ID’s that apply to the account.src/accounts/evm/types.ts:90
sign(parameters: { hash: Hash; }) => Promise<Hex>Signs a message hash and returns the signature as a hex string.src/accounts/evm/types.ts:77
signMessage(parameters: { message: SignableMessage; }) => Promise<Hex>Signs a message and returns the signature as a hex string.src/accounts/evm/types.ts:79
signTransaction(transaction: TransactionSerializable) => Promise<Hex>Signs a transaction and returns the signed transaction as a hex string.src/accounts/evm/types.ts:81
signTypedData<typedData, primaryType>(parameters: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>Signs a typed data and returns the signature as a hex string.src/accounts/evm/types.ts:83

EvmServerAccount

type EvmServerAccount = Prettify<EvmAccount & AccountActions & {
  name?: string;
  type: "evm-server";
  useNetwork: <Network>(network: Network) => Promise<NetworkScopedEvmServerAccount<Network>>;
}>;
Defined in: src/accounts/evm/types.ts:121 Server-managed ethereum account

EvmSmartAccount

type EvmSmartAccount = Prettify<EvmSmartAccountProperties & SmartAccountActions>;
Defined in: src/accounts/evm/types.ts:181 Ethereum smart account which supports account abstraction features like user operations, batch transactions, and paymaster.

EvmSmartAccountProperties

type EvmSmartAccountProperties = {
  address: Address;
  name?: string;
  owners: EvmAccount[];
  policies: string[] | undefined;
  type: "evm-smart";
  useNetwork: <Network>(network: Network) => Promise<NetworkScopedEvmSmartAccount<Network>>;
};
Defined in: src/accounts/evm/types.ts:148

Properties

PropertyTypeDescriptionDefined in
addressAddressThe smart account’s address.src/accounts/evm/types.ts:150
name?stringThe name of the smart account.src/accounts/evm/types.ts:152
ownersEvmAccount[]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).src/accounts/evm/types.ts:154
policiesstring[] | undefinedThe list of policy IDs that apply to the smart account. This will include both the project-level policy and the account-level policy, if one exists.src/accounts/evm/types.ts:158
type"evm-smart"Identifier for the smart account type.src/accounts/evm/types.ts:156
useNetwork<Network>(network: Network) => Promise<NetworkScopedEvmSmartAccount<Network>>A function that returns a network-scoped smart account. Example // For known networks, type is inferred automatically: const baseAccount = await smartAccount.useNetwork("base"); // For custom RPC URLs with type hints (requires casting): const typedAccount = await smartAccount.useNetwork<"base">("https://mainnet.base.org" as "base"); // For custom RPC URLs without type hints (only sendTransaction, transfer and waitForTransactionReceipt methods available): const customAccount = await smartAccount.useNetwork("https://mainnet.base.org");src/accounts/evm/types.ts:173