Skip to main content
Delegated access lets your backend sign for a user’s embedded (WaaS) wallet without prompting them each time — for automations, scheduled actions, or server-side flows the user opts into. The React SDK drove this through its hooks; the JavaScript SDK exposes the same operations directly so you place the consent and revoke UI yourself. Building the status/grant/revoke UI is the same in any JavaScript SDK app, so it isn’t repeated here: Embedded wallet delegated access (Building UI) covers it with full code. This page is the React→JavaScript translation plus the migration-specific behavior.

What maps to what

Migration-specific behavior

  • Status is a synchronous boolean. hasDelegatedAccess({ walletAccount }) returns true/false — use it to decide whether to show the grant or the revoke action and to label the current state.
  • Grant and revoke resolve on success. delegateWaasKeyShares() and revokeWaasDelegation() are mutations; confirm the outcome in your UI (e.g. “Delegated access enabled” / “revoked”) and re-read hasDelegatedAccess() to flip the state. Pass the wallet password when your project protects wallets with one.
  • Consent is on you. The widget bundled the consent copy; now you own it — grant only after explicit, informed consent and keep revoking easy.
Delegated access means your backend can sign without the user present. Explain exactly what it enables, keep it opt-in, and make revoking easy.

Errors you now own

See also

Last modified on July 24, 2026