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 awallet.activity webhook event to your configured endpoint. This includes both incoming and outgoing transactions.
Example payload
Example Bitcoin payload
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. Awallet.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:- Set up a webhook endpoint
- Subscribe to the
wallet.activityand/orwallet.activity.registeredevent types - Process incoming events in your webhook handler