The React SDK managed delegated signing through its hooks and widget. In the JavaScript SDK you check, grant, and revoke delegated access with explicit functions and hooks.
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.
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.