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