What is the difference between CFDs and futures?

The main difference is that CFDs are private agreements with a broker, traded over the counter, with no set expiry and flexible trade sizes. Futures are standardised contracts traded on regulated exchanges, with fixed expiry dates and set margin requirements. CFDs can provide easier access and leverage, but they also carry counterparty risk.