Skip to main content
Revocation is a reshare that removes the delegated server share. After revocation, the developer can no longer act on the user’s behalf. Revocation process:
  1. User initiates revocation from their wallet
  2. Dynamic performs a reshare ceremony
  3. Developer’s external share becomes invalid
  4. All delegated operations are immediately blocked

User Experience

Dynamic UI

Within the Dynamic Widget, the user can navigate to the “Settings” tab, where they will see a button for Delegated Wallets.
Delegated Wallets
Once inside the Delegated Wallets tab, the user will see a button for Revoke Delegation, they can revoke a single wallet, or all wallets.
Revoke Delegation

Custom UI

useDynamicWaas provides a revokeDelegation method that can be used to revoke a wallet.
const { revokeDelegation } = useDynamicWaas();
await revokeDelegation('EVM', '0x123...');
Parameters:
  • chainName: string - The name of the chain the wallet is associated with.
  • accountAddress: string - The address of the wallet to revoke.

Webhook payload (wallet.delegation.revoked)

{
  "eventName": "wallet.delegation.revoked",
  "eventId": "3f0a1b1c-0000-4000-8000-aaaaaaaaaaaa",
  "timestamp": "2025-10-01T16:00:00.000Z",
  "userId": "7eb7843b-2a4d-4f69-b95e-d219f0662fda",
  "data": {
    "walletId": "25193936-3ecd-4c1b-84e6-9eabc82e53c2",
    "chain": "EVM"
  }
}

Cleanup checklist (server)

  • Invalidate cached delegated materials for the walletId.
  • Stop any delegated jobs/agents for the wallet.
  • Remove or rotate stored delegated share and per‑wallet API key.
  • Treat duplicate events as idempotent using eventId.
I