I want create a program that receives payments via bitcoin and sends them to other addresses. I'm going to generate unique address for each payment, then check if there are transactions with outputs for that address. When the required amount of bitcoins is received, I'm going to make a new transaction for the receiver addresses.
The question is, is it necessary to store the full blockchain on disk? Could I just query other nodes for newly generated blocks after the specific hash and check transactions in these blocks? That specific hash could be fetched from the blockchain explorer. Moreover, if the new block is generated every 10 minutes, is it enough to check new blocks every 10 minutes? Should I also check different nodes to ensure that the blocks are the same?