Skip to main content

Wallet Client actions reference

These actions extend the Viem Wallet Client to support ERC-7710 utilities.

sendTransactionWithDelegation

Sends a transaction to redeem delegated permissions according to the ERC-7710 specifications.

info

To use sendTransactionWithDelegation, the Viem Wallet Client must be extended with erc7710WalletActions.

Parameters

See the Viem sendTransaction parameters. This function has the same parameters, and it also requires the following parameters:

NameTypeRequiredDescription
delegationManagerAddressYesThe address of the Delegation Manager.
permissionContextPermissionContextYesAn encoded delegation chain (Hex) or a decoded delegation chain (Delegation[]) for redeeming delegations.

Example

import { walletClient, publicClient } from "./client.ts";

// These properties must be extracted from the permission response. See
// `grantPermissions` action to learn how to request permissions.
const permissionContext = permissionsResponse[0].context;
const delegationManager = permissionsResponse[0].signerMeta.delegationManager;

const hash = walletClient.sendTransactionWithDelegation({
chain,
to: "0x70997970c51812dc3a010c7d01b50e0d17dc79c8",
value: 1n,
permissionContext,
delegationManager
});