Skip to main content
The wallet.activity event tracks all confirmed transaction activity for user WaaS (embedded) wallets. This enables you to monitor blockchain transactions across chains in real-time without polling or indexing.

Supported networks

EVM networks

Internal transfers are transactions where the wallet address is involved in an internal (nested) call rather than as the direct to or from on the top-level transaction, for example interactions routed through smart contracts, bridges, or account abstraction entry points. On networks that do not support internal transfer tracking, wallet.activity events fire only when the wallet address appears directly in the top-level transaction.

SVM networks

Bitcoin

A Bitcoin transaction has no single sender or recipient: it spends inputs and creates outputs. Dynamic emits one assetTransfers entry per output, including change returning to the sender, and sets fromAddress to the input address that contributes the most value. Amounts (amount, amountRaw) are satoshis, not BTC. labels is sent when the monitored address funds the transaction and received when it appears only in an output.

How it works

When a confirmed transaction involves a user’s WaaS (embedded) wallet, Dynamic sends a wallet.activity webhook event to your configured endpoint. This includes both incoming and outgoing transactions.

Example payload

Example Bitcoin payload

The second transfer is the change output, which can go to an address other than fromAddress. Every output is reported, so sum only the transfers whose toAddress is the wallet you monitor. events.raw carries the provider transaction, including the inputs, so you can reconstruct the full input set that fromAddress alone does not convey.

Registration event

When a new embedded wallet is created and the environment has on-chain activity tracking enabled, Dynamic registers the wallet address with on-chain monitoring providers. A wallet.activity.registered event is sent once this registration succeeds. This event fires only once per wallet, not on duplicates, replays, or already-registered addresses. Use it to confirm that a wallet is actively monitored before expecting wallet.activity transaction events.

Example payload

Use cases

  • Notify users when they receive funds
  • Track transaction history for compliance or analytics
  • Trigger downstream workflows based on on-chain activity
  • Build real-time activity feeds in your application

Getting started

To receive on-chain events:
  1. Set up a webhook endpoint
  2. Subscribe to the wallet.activity and/or wallet.activity.registered event types
  3. Process incoming events in your webhook handler
See the wallet.activity event reference and wallet.activity.registered event reference for the full event payload structures.
Last modified on August 30, 2026