You usually don’t need any of this. When
sendSponsoredTransaction runs on a wallet that isn’t delegated yet, the SDK signs the EIP-7702 authorization automatically and attaches it to the first call. The functions below exist for when you want explicit control over the delegation step — for example, activating it during onboarding.is7702DelegationActive
Checks whether delegation to the Dynamic gasless contract is active for a wallet on its current network. Results are cached per wallet + chain in an in-memory registry, so repeated calls are cheap.Parameters
Returns
Promise<boolean> — true if the wallet has an active delegation to the Dynamic gasless contract on its current network.
sign7702Authorization
Signs an EIP-7702 authorization delegating the wallet to the Dynamic delegation contract. The signed authorization can be attached to a sponsored transaction to activate delegation on-chain. If nochainId is provided, the wallet’s active network is used.
Parameters
Returns
Promise<SignAuthorizationReturnType> — viem’s signed EIP-7702 authorization. Pass it to signSponsoredTransaction, sendSponsoredTransaction, or activate7702Delegation.
activate7702Delegation
Persists the delegation on-chain up-front, before any user-facing transaction — useful during onboarding. It sends a sponsored transaction that carries only the EIP-7702 authorization (an empty batch of calls) and returns the transaction hash. Afterwards, sponsored transactions no longer need to include an authorization.Parameters
Returns
Promise<{ transactionHash: Hex }> — the on-chain transaction hash of the activation. Throws a SponsorTransactionError if the relay fails or times out.
Related functions
- sendSponsoredTransaction — handles delegation automatically on the first send
- Splitting sign & send — pre-sign and relay intents separately
- EVM Gas Sponsorship overview — setup and the common path