Tracking deposits
After everything is ready, you can implement deposit tracking.
For that, iterate through all transactions in each block to search for payment_receiver_inc operation with an address matching the address in which you are interested:
- TypeScript
 - Python
 
async function trackDeposit(address: string) {
    // some logic we want to execute on deposit
    function onDeposit(deposit: any) {
        console.log(deposit)
    }
    let latestBlock = (await networkStatus()).current_block_identifier.index
    while (true) {
        // check if transactions to the deposit address are present in the latest block
        const txs = (await waitForBlock(latestBlock)).block.transactions
        const deposits = []
        for (let tx of txs)
            for (let op of tx.operations)
                if (op.account.address === address && op.type === 'payment_receiver_inc')
                    deposits.push({
                        tx_hash: tx.transaction_identifier.hash,
                        amount: op.amount.value
                    })
        
        // process deposits
        for (let d of deposits) 
            onDeposit(d)
        latestBlock += 1
    }
}
def deposit_flow(deposit_address):
    # some logic we want to execute on deposit
    def on_deposit(deposit):
        print(json.dumps(deposit, indent=2))
    
    latest_block = network_status()["current_block_identifier"]["index"]
    while True:
        # check if transactions to the deposit address are present in the latest block
        txs = wait_for_block(latest_block)['block']['transactions']
        deposits = []
        for tx in txs:
            for op in tx["operations"]:
                if op["account"]["address"] == deposit_address \
                        and op["type"] == "payment_receiver_inc":
                    deposits.append({
                        "tx_hash": tx["transaction_identifier"]["hash"],
                        "amount": op["amount"]["value"]
                    })
        
        # process deposits
        for d in deposits:
            on_deposit(d)
        latest_block += 1