A contract for difference (CFD) is a derivative (of an underlying security) contract between two parties that stipulates that one party pays the difference between the current price (at the time they enter into the contract) of the security and the price of the security at another stipulated time.
CFDs are generally traded over the counter. They are not allowed in the USA but are becoming increasingly popular in countries like Australia, UK and Singapore. Some of the firms that offer CFDs are IGMarkets, Macquarie Bank etc.