How transactions will take place once all the blocks have been mined I understand there can be maximum of 21M BTC. Also, new BTC are added into system as a reward of mining blocks. So is there any hardcap on the number of blocks that can be mined? Or there is no limit on blocks to be mined, instead, there would be no rewards for mining after 21M coins?

Let's say there is a cap on blocks, how the new transactions can be verified after 21M mined coins?
Or there is no limit on blocks to be mined, instead, there would be no rewards for mining after 21M coins?


This is correct, although the miners still get all the transaction fees as reward, there is just no block reward like there is now with 12.5 BTC