How can I get balance instantly when I have blockchain data synchronized and with the spend and view secret keys on hand.
In CryptoNote you can't just get a balance for an address since CryptoNote uses one time addresses or stealth addresses.
Because of that, in order to get your balance you have to scan all transactions on the blockchain. You need to check each output if you can access it with your private view key.
Because of that, there is no easy way to get the whole balance without such scanning.
What you have to do is basically create a view wallet with your private view key and let it scan the whole blockchain for you. After the scan is done you can access the balance via a JSON RPC. In order to speed up the process you can also give the wallet a starting height. For example, the scanning should start at the block where you sent your first coins to the address.
This is how it works for Monero and it should be true for some other CryptoNote coins.
What the simplewallet does (wallet2.cpp) is it gets all the blocks and pruned transaction data and starts generating a key derivation for each transaction and checks whether the transaction belongs to it.
If you want to go even more in to detail, I would read the follwing blog post: https://steemit.com/monero/@luigi1111/understanding-monero-cryptography-privacy-part-2-stealth-addresses