Skip to content
Alchemy Logo

Wallet integration overview

A signer is the service or key that controls a wallet — it authenticates users and signs transactions on their behalf. Wallet APIs are signer-agnostic: anything that produces a valid signature works.

Wallet APIs work with embedded wallets and server-managed keys. External browser wallets (MetaMask, Rabby, Ledger) are not yet supported.

For most teams, we recommend Privy as the embedded wallet provider. Privy handles key creation, social/email login, and recovery, and exposes a viem LocalAccount that drops straight into createSmartWalletClient.

Privy integration guide

Step-by-step setup for Privy with Wallet APIs.

Already have an auth stack or key custody solution? Plug it in directly. Any signer that implements viem's LocalAccount or WalletClient interface works with createSmartWalletClient — no extra adapters.

import { privateKeyToAccount } from "viem/accounts";
import { arbitrumSepolia } from "viem/chains";
import { createSmartWalletClient, alchemyWalletTransport } from "@alchemy/wallet-apis";
 
const client = createSmartWalletClient({
  signer: privateKeyToAccount("0xYOUR_PRIVATE_KEY"),
  transport: alchemyWalletTransport({ apiKey: "YOUR_ALCHEMY_API_KEY" }),
  chain: arbitrumSepolia,
});

Common signers that work out of the box:

ProviderTypeGuide
PrivyEmbedded wallet (recommended)Guide →
TurnkeyKey managementGuide →
DynamicEmbedded walletGuide →
OpenfortEmbedded walletGuide →
Custom / any viem signerAnyGuide →

ConcernWhat it means
Onboarding UXEmail/social login (embedded) vs. server-side key (custodial)
Custody modelWho holds the private key — user, shared (MPC), or your backend
RecoveryWhat happens when a user loses access to their device

For a deeper comparison of custody models and provider trade-offs, see Choosing a signer.

EIP-7702 lets an existing EOA delegate to a smart wallet — unlocking gas sponsorship, batching, and session keys without changing addresses. It's enabled by default on Wallet APIs.

EIP-7702 requires the signer to expose signAuthorization. Embedded wallet providers like Privy support this. External browser and hardware wallets — MetaMask, Rabby, Ledger — do not support it today.

Was this page helpful?