A contract for difference (CFD) is a contract between a buyer (i.e. the trader) and a seller (i.e. the broker). The agreement is to pay the “difference” between the value of an asset when the trade was entered into and the value when the trade ends.