Skip to main content

What Are Action Delegates?

Action delegates are callback functions you pass to KeystoneProvider that handle on-chain operations. When the widget needs to deposit tokens or approve a token transfer, it calls your delegate instead of interacting with the blockchain directly. This is how Tier 2 (Interactive + Custody) integration works - your frontend collects the user’s intent, and your backend executes it through Fireblocks, BitGo, or any signing infrastructure.

The Deposit Flow

When a user clicks “Deposit” in the widget:

Setting Up Delegates

Deposit Info Object

The depositInfo parameter passed to onDepositRequired contains everything needed to execute the deposit: Your backend can submit the calldata directly to escrowAddress on the specified chainId. No ABI knowledge needed.

Approval Info Object

The approvalInfo parameter passed to onApprovalRequired:

Backend Implementation

Your backend receives the deposit info and routes it to your custody provider:

Without Delegates (Tier 3)

If no delegates are provided and a wagmi provider is detected, the widget uses the connected wallet directly. No backend needed.

Without Delegates and No Wallet (Tier 1)

If no delegates and no wallet context, the deposit button is hidden. The settlement displays as view-only, and your backend handles deposits entirely through the SDK.