user151: I'd like to monitor the blockchain and react to when ada is deposited to my wallet. I'm curious about the most efficient way of going about this. For example, if I use the cardano-wallet api it has the route /wallets/{walletId}/transactions which I assume I could poll. Of course, this would require polling behavior, which is not as efficient as event-based architecture (ie. using a listener or callback).
Can anyone describe the current state of the art for watching a particular wallet for new transactions?

user7599: It is a bit late for this, but if you have a cardano-db-sync and want to receive notifications you can use this solution.
It requires you to provide when deploying the schema the address to monitor and the number of blocks after which your application considers a transaction settled. The solution will take care of rollbacks and only notify through the PostgreSQL channel if the transaction passed the block's depth threshold.
If you just need to monitor chain rollback events you can use this one. which follows a similar approach of notifying using PostgreSQL channels.

user28: If you think about watching a local wallet, created on cardano-wallet, I do not think there is more efficient way than just pooling it in an interval.
If it is a wallet that does not use enterprise or mangled addresses, you can watch the chain from cardano-db-sync stack or a remote API provider such as blockfrost.io.
If using Blockfrost.io, I recommend using the websocket-link where you can create a WebSocket subscription.
In any of these implementation, make sure you account for possible roll-backs of the blockchain.

151: <p>I'd like to monitor the blockchain and react to when ada is deposited to my wallet. I'm curious about the most efficient way of going about this. For example, if I use the <code>cardano-wallet</code> api it has the route <code>/wallets/{walletId}/transactions</code> which I assume I could poll. Of course, this would require polling behavior, which is not as efficient as event-based architecture (ie. using a listener or callback).</p>
<p>Can anyone describe the current state of the art for watching a particular wallet for new transactions?</p>
 7599: <p>It is a bit late for this, but if you have a <code>cardano-db-sync</code> and want to receive notifications you can use <a href="https://github.com/shareslake/cardano-address-monitor" rel="nofollow noreferrer">this</a> solution.</p>
<p>It requires you to provide when deploying the schema the address to monitor and the number of blocks after which your application considers a transaction settled. The solution will take care of rollbacks and only notify through the PostgreSQL channel if the transaction passed the block's depth threshold.</p>
<p>If you just need to monitor chain rollback events you can use <a href="https://github.com/shareslake/cardano-rollback-monitor" rel="nofollow noreferrer">this</a> one. which follows a similar approach of notifying using PostgreSQL channels.</p>
 28: <p>If you think about watching a local wallet, created on <code>cardano-wallet</code>, I do not think there is more efficient way than just pooling it in an interval.</p>
<p>If it is a wallet that does not use enterprise or mangled addresses, you can watch the chain from <a href="https://github.com/input-output-hk/cardano-db-sync/" rel="nofollow noreferrer"><code>cardano-db-sync</code> stack</a> or a remote API provider such as <a href="https://blockfrost.io/" rel="nofollow noreferrer">blockfrost.io</a>.</p>
<p>If using <a href="https://blockfrost.io/" rel="nofollow noreferrer">Blockfrost.io</a>, I recommend using the <a href="https://github.com/blockfrost/blockfrost-websocket-link" rel="nofollow noreferrer">websocket-link</a> where you can create a WebSocket subscription.</p>
<p>In any of these implementation, make sure you account for possible roll-backs of the blockchain.</p>
