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"?