I know the call option on underlying asset is the option to buy the asset at strike price. But what about call option on future contract? Is it the option to pay strike price to receive future price? But, at option inception, strike price is known and future price (F=S(1+r)^T) is also known. Why we pay a known price to receive another known price?
No, it isn’t.
You don’t.
Suppose that you have a 90-day call option on a 180-day futures contract on XYZ stock. The spot price of XYZ stock is $100/share, 90-day LIBOR is 2.4%, and 270-day LIBOR is 3.2%.
You know the price of a 90-day futures contract on XYZ stock (it’s $100 × (1 + 2.4%(90/360)) = $100.60) and you know the price of a 270-day futures contract on XYZ stock (it’s $100 × (1 + 3.2%(270/360)) = $102.40.
What you don’t know is what the price of a 180-day futures contract on XYZ stock will be 90 days from today. That will depend on the spot price of XYZ stock 90 days from today and on 180-day LIBOR 90 days from today, neither of which we know today.
That’s the point.