Skip to main content
In your application, when a user is logged in, you’ll want to request delegation so your server can act on their behalf (for example, to sign transactions or run automated flows).

Check delegation status

Use hasDelegatedAccess to check whether a wallet account already has delegated access before triggering the delegation flow.

Trigger delegation

Use delegateWaasKeyShares to initiate the delegation process for a wallet account. This sends the encrypted delegated share to your server via the wallet.delegation.created webhook.

With password encryption

If the wallet uses password encryption, pass the password when delegating. The delegated share will be encrypted with the password before being sent.
Dynamic does not prompt the user for a password during delegation. If the wallet is password-protected, you must obtain the password in your own UI flow and pass it programmatically.

Seed initial policy rules

You can seed the delegated signer’s policy layer at delegation time by passing initialSignerRules. Build each rule with buildAllowPolicyRule or buildDenyPolicyRule.
initialSignerRules uses the raw WaasPolicyRule shape, not the PolicyRules map used by createPolicy. After delegation, you can read or update the delegated signer layer with getPolicy and createPolicy.

Parameters

What's next?

Learn how to receive the delegation materials on your server
Last modified on April 3, 2026