When traders don’t get out of their fx futures positions before they expire, on the delivery date, is the amount exchanged the specified price on the contract when it was signed or the spot price available on its expiration date ?
It's the contractual FX rate that is used to value the final payment. That's actually the whole point of futures, to fix the exchange rate that you will pay / receive for a currency pair on a given notional.
This is useful for example if e.g. you are going to make a large purchase in a foreign currency and want to make sure that on top of this purchase you will not pay an FX rate increase. The other side of that is that you cannot make a gain shall the FX rate move in your favour but this can help reduce the overall risk of a project or of a series of cashflows.
Spot price would be used for options (to calculate if the option is in-the-money or not by comparing with strike price) and currency swaps (to value the initial exchange).
Most CME FX contracts are physically deliverable, not cash settled and the amount exchanged is based upon the final settlement price procedures on the last date of trading. (Some CME FX contracts such as Brazilian real and Rubles are cash-settled, so their procedures are much easier)
Most traders do get out of their FX futures positions prior to expiration. Many retail brokers automatically close physically delivered contracts prior to delivery, as the delivery steps are onerous if you are not used to doing them. For those traders that close their position prior to expiration, their profit simply the difference in price between the two trades multiplied by the point value.
So, if you went long one contract of Euro FX at 1.1832, paid a margin to your broken to keep the position open, and closed the position at 1.2105 prior to expiry, you would have made 0.0273 points profit. The point value for Euro FX is 125000, so you have made 125000x0.0273 = $3412.50 profit.
However, not everyone is a trader. For example, many companies use FX futures for hedging. They actually want delivery.
FX contracts are based on the final settlement price of the contract. That is on the last trading date at 9:16am CT and is derived from the the next delivery month.
Let's say CME decides final settlement of your Euro FX is at 1.2146. The contract unit for Euro FX is EUR125000.
If you are long one contract, you will deposit 125000*1.2146 = USD$151825 into a designated delivery account. You will receive EUR 125000 into your designated account.
If you are short one contract, you will deposit EUR125000 into a designated delivery account. You will receive USD$151825 in your account.
CME has some notes about the exact times, settlement accounts and delivery mechanisms here:
https://www.cmegroup.com/confluence/display/EPICSANDBOX/Euro http://www.cmegroup.com/trading/fx/fxdelivery.html https://institute.cmegroup.com/courses/introduction-to-fx-course-html/modules/understanding-the-fx-delivery-and-settlement-process