I have a problem similar to this one. We have full node and sync blockchain data to our DB by calling RPC API /chains/main/blocks/N. We have come across some addresses balances for which differentiate by 1 millitezos from the one shown by most explorers. I found tzkt.io explorer and there spotted "babylon airdrop" operation of kind "migration", not mentioned among block's operations.
Is there a way of getting such operations via node's RPC, or any other way to know this operation took place for address A and not for address B, without using tzkt.io API? For example, I know that
tz1KeK8qEnZhFzLQqnz2oKaXnG4X2zQC5tz3 has "babylon airdrop" migration at block height
655360, and foundation baker
tz3UoffC7FG7zfpmvmjUmUeAaHvzdcUvAj6r has "bootstrap" migration at block
1. How does tzkt.io know about those "migrations"?