Client – Bitcoin payments without storing blockchain
I want to create a program that receives payments through Bitcoin and sends them to another address. Let’s create a unique address for each payment and then check if there are any transactions with output for that address. Once we receive the required amount of Bitcoin, we will create a new transaction for the recipient address.
The question is, should the entire blockchain be stored on disk? Is it possible to query other nodes for a newly created block after a certain hash and verify the transactions in that block? The specific hash can be retrieved from a blockchain explorer. Moreover, if a new block is created every 10 minutes, would checking for a new block every 10 minutes be enough? Should I also check other nodes to see if the blocks are the same?