> ## Documentation Index
> Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook events

> Find the Dynamic webhook event you need, understand when it fires, and open its detailed reference.

Webhooks notify your backend when something changes in Dynamic, such as a user signing in, a wallet being created, or a payment reaching settlement. Browse the events below by product and follow each section’s reference link for payloads and additional behavior.

To start receiving events, follow [Setting up webhooks](/docs/platform/dashboard/webhooks/setup). For signature verification, retries, and duplicate handling, see [Event delivery and best practices](/docs/platform/dashboard/webhooks/delivery-best-practices).

## Find an event

| I want to track… | Browse |
| - | - |
| Users, sign-ins, sessions, and linked credentials | [Authentication](#authentication) |
| Wallet creation, signing, backup, and recovery | [Embedded wallets](#embedded-wallets) |
| Confirmed wallet transactions and monitoring registration | [On-chain activity](#on-chain-activity) |
| An agent’s delegated wallet access | [Agents](#agents) |
| Business membership, wallets, roles, and approvals | [Business accounts](#business-accounts) |
| Policy blocks and address screening decisions | [Policy and screening](#policy-and-screening) |
| Payment execution, settlement, and risk changes | [Fireblocks Flow](#fireblocks-flow) |
| Dashboard administration and environment changes | [Developer Dashboard and environment](#developer-dashboard-and-environment) |

This listing brings together the events documented in Dynamic’s product references. The [event types endpoint](/docs/api-reference/events/get-event-types) provides the current catalog. Your integration should tolerate new event types as they are added. The [deprecated alias](#deprecated-alias) is documented at the end.

## Authentication

See [Auth webhooks](/docs/auth/webhooks) for payloads and details.

| Event | When it fires |
| - | - |
| `user.created` | A user is created. |
| `user.updated` | A user is updated. |
| `user.deleted` | A user is deleted. |
| `user.merged` | User accounts are merged. |
| `visit.created` | A visit is created. |
| `user.session.created` | A user session is created. |
| `user.session.revoked` | A user session is revoked. |
| `user.signin.failed` | A sign-in attempt fails. |
| `user.social.linked` | A user links a social account. |
| `user.social.unlinked` | A user unlinks a social account. |
| `user.passkeyRecovery.started` | Passkey recovery begins. |
| `user.passkeyRecovery.completed` | Passkey recovery completes. |

## Embedded wallets

See [Embedded wallet webhooks](/docs/embedded-wallets/webhooks) for payloads and details.

| Event | When it fires |
| - | - |
| `wallet.created` | A Dynamic embedded wallet is created. |
| `wallet.linked` | A wallet is linked to a user. |
| `wallet.unlinked` | A wallet is unlinked from a user. |
| `wallet.exported` | A Dynamic embedded wallet is exported. |
| `wallet.transferred` | A wallet moves between user accounts. |
| `wallet.signature` | An embedded wallet signature completes. |
| `wallet.keyShares.backedUp` | Wallet key shares are backed up. |
| `wallet.keyShares.backedUpToExternal` | A user backs up their key share to external storage. |
| `wallet.keyShares.recovered` | Wallet key shares are recovered. |
| `wallet.keyShares.refreshed` | Wallet key shares are refreshed. |
| `wallet.keyShares.reshared` | Wallet key shares are redistributed across a new set of parties. |
| `wallet.offlineRecovery.created` | An offline recovery kit is created. |

## On-chain activity

See [On-chain events](/docs/embedded-wallets/on-chain-events) for supported networks, monitoring requirements, and payloads.

| Event | When it fires |
| - | - |
| `wallet.activity` | A confirmed transaction involves a user’s wallet. |
| `wallet.activity.registered` | A wallet is newly registered for on-chain monitoring in an environment with tracking enabled. |

## Agents

See [Agent webhooks](/docs/agents/webhooks) for payloads and details.

| Event | When it fires |
| - | - |
| `wallet.delegation.created` | An agent or service is granted delegated signing access. |
| `wallet.delegation.signature` | A delegated signer completes a wallet signature. |
| `wallet.delegation.revoked` | An agent or service’s delegated signing access is revoked. |

## Business accounts

See [account action webhooks](/docs/business-accounts/webhooks/account-actions) and [proposal webhooks](/docs/business-accounts/webhooks/proposals) for payloads and approval behavior.

### Accounts, members, and wallets

| Event | When it fires |
| - | - |
| `businessAccount.created` | A business account is created. |
| `businessAccount.updated` | The account’s own details, such as its name, change. |
| `businessAccount.member.added` | A member joins the account. |
| `businessAccount.member.roleChanged` | A member’s role changes. |
| `businessAccount.member.removed` | A member is removed from the account. |
| `businessAccount.ownership.transferred` | Ownership transfers to another member. |
| `businessAccount.signer.added` | A member becomes a signer on an account wallet. |
| `businessAccount.signer.revoked` | A signer’s access to an account wallet is revoked. |
| `businessAccount.wallet.linked` | A wallet comes under the account’s control. |
| `businessAccount.wallet.unlinked` | A wallet leaves the account. |

### Governance and approvals

| Event | When it fires |
| - | - |
| `businessAccount.governance.updated` | The account’s approval rules change. |
| `businessAccount.role.defined` | A custom role is defined. |
| `businessAccount.role.deleted` | A custom role is deleted. |
| `businessAccount.proposal.created` | A proposal opens for a change that requires approval. |
| `businessAccount.proposal.approved` | An approver records an approval. |
| `businessAccount.proposal.approvalWithdrawn` | An approver withdraws an earlier approval. |
| `businessAccount.proposal.vetoed` | A proposal is rejected with a final veto. |
| `businessAccount.proposal.executed` | The proposal’s requirements are met and its change takes effect. |
| `businessAccount.proposal.expired` | A proposal passes its `completeBy` deadline without completing. |

An approval event does not mean the proposed change has taken effect. Use `businessAccount.proposal.executed` to track execution, and subscribe to the corresponding account events to track the changes themselves.

## Policy and screening

See [Policy and screening webhooks](/docs/embedded-wallets/mpc/policies/webhooks) for payloads and verdict behavior.

| Event | When it fires |
| - | - |
| `waas.policy.violation` | A configured policy rule blocks a transaction. |
| `wallet.sanctions.blocked` | A sanctions decision blocks a wallet address. |
| `wallet.addressScreening.blocked` | Your address screening rules or address lists block a wallet address. |
| `wallet.addressScreening.alerted` | Your address screening policy returns an alert for a wallet address. |

## Fireblocks Flow

See [Flow webhooks](/docs/flow/webhooks) for state transitions, payloads, and payment reconciliation.

| Event | When it fires |
| - | - |
| `flow.execution.updated` | A flow’s execution state changes. |
| `flow.settlement.updated` | A flow’s settlement state changes. |
| `flow.risk.updated` | A flow’s risk assessment state changes. |
| `user.exchangeTransfer.success` | An exchange transfer is successfully initiated. |
| `user.exchangeTransfer.failed` | An exchange transfer fails. |

Execution, settlement, and risk progress independently. Use the `completed` settlement state to identify a completed payment; a successful exchange-transfer initiation does not establish that funds have arrived.

## Developer Dashboard and environment

These events track administration of your Dynamic organization, projects, users, and webhook configuration. Organization members are the team members you invite to your Dynamic organization; business account members are covered separately under [Business accounts](#business-accounts). Events with the `admin.*` prefix describe administrative actions. The `environment.updated` event also covers changes made through the SDK API. See [Admin and environment events](/docs/platform/dashboard/webhooks/events) for payloads and the shared event envelope.

### Policies and address screening

| Event | When it fires |
| - | - |
| `admin.waas.policy.created` | An admin creates a wallet policy. |
| `admin.waas.policy.updated` | An admin updates a wallet policy. |
| `admin.waas.policy.rule.created` | An admin creates a policy rule. |
| `admin.waas.policy.rule.updated` | An admin updates a policy rule. |
| `admin.waas.policy.rule.deleted` | An admin deletes a policy rule. |
| `admin.addressScreening.byok.created` | An admin adds a customer-supplied screening key. |
| `admin.addressScreening.byok.rotated` | An admin rotates a screening key. |
| `admin.addressScreening.byok.disabled` | An admin disables a screening key. |
| `admin.addressScreening.policy.created` | An admin creates an address screening policy. |
| `admin.addressScreening.policy.updated` | An admin changes screening rules or address exceptions. |
| `admin.addressScreening.policy.deleted` | An admin deletes an address screening policy. |

### Domains and environments

| Event | When it fires |
| - | - |
| `admin.environment.domain.created` | An admin creates a custom domain. |
| `admin.environment.domain.updated` | An admin updates a custom domain. |
| `admin.environment.domain.deleted` | An admin deletes a custom domain. |
| `admin.environment.apiToken.created` | An admin creates an API token. |
| `admin.environment.apiToken.deleted` | An admin deletes an API token. |
| `admin.environment.settings.updated` | An admin updates environment settings. |
| `admin.environment.mfa.deleted` | An admin deletes a user’s MFA device. |
| `admin.environment.sessions.revoked` | An admin revokes all user sessions in an environment. |
| `environment.updated` | An environment changes, including through the SDK API. |

### Organization members and settings

These events track your Dynamic organization, its billing settings, and the team members who have access to it.

| Event | When it fires |
| - | - |
| `admin.organization.created` | An admin creates an organization. |
| `admin.organization.updated` | An admin updates an organization. |
| `admin.organization.billing.updated` | An admin updates organization billing settings. |
| `admin.organization.member.invited` | An admin invites an organization member. |
| `admin.organization.member.joined` | A member joins an organization. |
| `admin.organization.member.removed` | An admin removes an organization member. |

### Projects

| Event | When it fires |
| - | - |
| `admin.project.created` | An admin creates a project. |
| `admin.project.updated` | An admin updates a project. |
| `admin.project.deleted` | An admin deletes a project. |

### User administration

These events track an admin creating, updating, or deleting users and revoking their sessions. Business account membership changes use `businessAccount.member.*` events.

| Event | When it fires |
| - | - |
| `admin.user.created` | An admin creates a user. |
| `admin.user.updated` | An admin updates a user. |
| `admin.user.deleted` | An admin deletes a user. |
| `admin.user.session.revoked` | An admin revokes a user session. |

### Webhook configuration

These events track changes to the webhook endpoints you configure for your environment.

| Event | When it fires |
| - | - |
| `admin.webhook.created` | An admin creates a webhook. |
| `admin.webhook.updated` | An admin updates a webhook. |
| `admin.webhook.deleted` | An admin deletes a webhook. |

### Security settings

| Event | When it fires |
| - | - |
| `admin.security.accessControl.created` | An admin creates security access control settings. |
| `admin.security.cookieDomain.created` | An admin creates a cookie domain. |
| `admin.security.cors.created` | An admin creates a CORS origin. |
| `admin.security.cors.updated` | An admin updates a CORS origin. |
| `admin.security.cors.deleted` | An admin deletes a CORS origin. |
| `admin.security.ipSettings.updated` | An admin updates IP settings. |
| `admin.security.jwtSettings.updated` | An admin updates JWT settings. |

## Deprecated alias

`sanctions.wallet.blocked` is a deprecated alias of `wallet.sanctions.blocked`. Existing subscriptions continue to receive it, but new subscriptions should use `wallet.sanctions.blocked`. See [Policy and screening webhooks](/docs/embedded-wallets/mpc/policies/webhooks).
