Commodities

Speculate on the raw materials driving the global economy. Sign up to trade CFDs on energy markets like Oil and Gas, metals like gold and silver, and soft commodities like corn and cocoa.

Trade Commodities

Discover Commodities CFDs

UKOIL

 

 

 

Trade Commodities

NATURALGAS

 

 

 

Trade Commodities

GOLD

 

 

 

Trade Commodities

USOIL

 

 

 

Trade Commodities

UKOIL

 

 

 

Trade Commodities

NATURALGAS

 

 

 

Trade Commodities

GOLD

 

 

 

Trade Commodities

USOIL

 

 

 

Trade Commodities

UKOIL

 

 

 

Trade Commodities

NATURALGAS

 

 

 

Trade Commodities

GOLD

 

 

 

Trade Commodities

USOIL

 

 

 

Trade Commodities
Asset
Sell
Buy
Change (%)

Palladium - Cash

Brent Oil

Cotton

Crude Oil

Wheat

Asset
Sell
Buy
Change (%)

Brent Oil Futures

Sugar

Silver

Gold Futures

Crude Oil Futures

Asset
Sell
Buy
Change (%)

Natural Gas

Palladium

Coffee

Platinum - Cash

Corn

Asset
Sell
Buy
Change (%)

Gold

Copper

Platinum

Cocoa

Why Trade Commodity CFDs with markets.com

  • Access numerous CFDs on spot and futures Commodity markets, plus commodity stocks and ETFs with the same account
  • Spreads as low as 0.5 on Gold
  • Our CFDs on futures are continuous contracts that do not expire. We will automatically roll your positions
Why Trade Commodity CFDs with markets.com

Ways to Trade Commodity CFDs

Commodity CFDs - A CFD account will allow you to trade online, accessing a range of spot and futures commodity markets, as well as commodity stocks and ETFs.

Start trading

Ways to Trade Commodity CFDs

Commodity CFDs - A CFD account will allow you to trade online, accessing a range of spot and futures commodity markets, as well as commodity stocks and ETFs.

Trade now

Commodity CFDs stocks & ETFs

You can trade on a range of commodity stocks like mines and ETFs linked to commodity markets such as GLD with the same CFD account.

Start trading

Commodity CFDs stocks & ETFs

You can trade on a range of commodity stocks like mines and ETFs linked to commodity markets such as GLD with the same CFD account.

Trade now

CFD Trading Calculator

Choose your points of movement

Сalculate your hypothetical P/L (aggregated cost and charges) if you had opened a trade today.

Market

Commodity Search
Currency
Index
Shares
Crypto
ETFs
Bonds
Commodity

Instrument

Gold Search
Clear input
Gold
Silver
Crude Oil
Brent Oil
Natural Gas
Copper
Palladium - Cash
Cotton
Wheat
Brent Oil Futures
Sugar
Gold Futures
Crude Oil Futures
Palladium
Coffee
Platinum - Cash
Corn
Platinum
Cocoa

Account Type

Direction

Quantity

Amount must be equal or higher than

Amount should be less than

Amount should be a multiple of the minimum lots increment

USD Down
$-

Value

$-

Commission

$-

Spread

-

Leverage

-

Conversion Fee

$-

Required Margin

$-

Overnight Swaps

$-
Start Trading

Past performance is not a reliable indicator of future results.

All positions on instruments denominated in a currency that is different from your account currency, will be subject to a conversion fee at the position exit as well.

Join markets.com in 3 steps and start trading

Create your account

1. Create your account

Fund your account

2. Fund your account

Start trading straight away

3. Start trading straight away

Need more information?

See all FAQs

Is delivery of commodities available?

Down

No, we do not offer delivery as CFDs do not entitle traders to underlying assets. CFDs allow investors to speculate on the price movements of commodities, but they do not represent ownership of those commodities. The benefits of trading commodities with CFDs are that without owning the underlying asset you can benefit from better flexibility, liquidity and lower costs.

Can I check when my CFD on Futures position will be rolled over?

Down

To ensure that you're well-informed about your trades, you can easily locate the rollover date for each CFD by visiting its respective asset class page on the markets.com website. Rollover means switching to a new futures CFD contract - it can affect the underlying contract's value and expiry date. It's crucial to be mindful of the rollover date for each CFD on Futures as it can significantly impact your trading outcomes. 
 

Can I trade with you on my mobile?

Down

Yes, you can trade on the go by downloading the markets.com mobile app from your device’s app store. Or, alternatively, you can access the web app through your mobile’s browser. 

What are your trading hours?

Down

The trading hours vary depending on the type of instrument. You may view a full list of them here: https://web-qa.staging.markets.com/trade/trading-hours.

Opening or Closing times may also be altered by markets.com due to liquidity and risk management considerations.

SettingsRequest history8.1.18PHP Version3.69sRequest Duration5MBMemory UsageGET {slug}/{slug2}
status
200 OK
full_url
https://web-qa.staging.markets.com/markets/commodities
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
status
200 OK
full_url
https://web-qa.staging.markets.com/markets/commodities
action_name
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
uri
GET {slug}/{slug2}
controller
App\Http\Controllers\DynamicContentController@getPageFromCollection
file
app/Http/Controllers/DynamicContentController.php:311-368
middleware
web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
duration
3.69s
peak_memory
8MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:16 [ "cookie" => array:1 [ 0 => "mktv4_ip_override=cn" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "connection" => array:1 [ 0 => "keep-alive" ] "host" => array:1 [ 0 => "web-qa.staging.markets.com" ] ]
request_cookies
0 of 0
array:1 [ "mktv4_ip_override" => null ]
response_headers
0 of 0
array:3 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 10 Apr 2025 02:31:31 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "2q0TWtc9wY0DLDPr3Qr7eRQlHoBAWuQMtBlfNcfz" ]
  • warninglog[02:31:27] LOG.warning: explode(): Passing null to parameter #2 ($string) of type string is deprecat...
  • infolog[02:31:27] LOG.info: api_2b515bc217571faa6d96712fbc81e74f [ "\/markets\/commodities\/", 3600...
  • infolog[02:31:30] LOG.info: api_a494e794066068f942d797893d5f34d8 [ "\/markets\/commodities\/", 3600...
  • infolog[02:31:31] LOG.info: api_fb947fee6b4e11eccd5a5571077cc6f6 [ "\/markets\/commodities\/", 3600...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:31:31] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:31:31] LOG.info: page_715f84a485e22f158bda5ec4ad150646 [ "\/markets\/commodities\/", 360...
  • Booting (16.04ms)time
  • Application (3.67s)time
  • Routing (2.35ms)
  • 1 x Application (99.56%)
    3.67s
    1 x Booting (0.43%)
    16.04ms
    1 x Routing (0.06%)
    2.35ms
    132 templates were rendered
    • 1x dynamic-contentdynamic-content.blade.php#?blade
    • 26x repeatable._include-blocks_include-blocks.blade.php#?blade
    • 1x components.stylesstyles.blade.php#?blade
    • 10x components.spacerspacer.blade.php#?blade
    • 1x components.center-textcenter-text.blade.php#?blade
    • 1x components.strapi-buttonstrapi-button.blade.php#?blade
    • 1x components.top-moverstop-movers.blade.php#?blade
    • 2x components.blur-animationblur-animation.blade.php#?blade
    • 1x components.instrument-listinstrument-list.blade.php#?blade
    • 4x repeatable.trading-table-labelstrading-table-labels.blade.php#?blade
    • 19x repeatable.trading-table-rowtrading-table-row.blade.php#?blade
    • 3x components.image-textimage-text.blade.php#?blade
    • 36x components.strapi-imgstrapi-img.blade.php#?blade
    • 2x components.text-imagetext-image.blade.php#?blade
    • 2x components.text-editortext-editor.blade.php#?blade
    • 1x components.performance-calculatorperformance-calculator.blade.php#?blade
    • 1x components.three-iconsthree-icons.blade.php#?blade
    • 1x components.faq-blockfaq-block.blade.php#?blade
    • 1x components.create-account-newcreate-account-new.blade.php#?blade
    • 1x layouts.mainmain.blade.php#?blade
    • 1x csscss.blade.php#?blade
    • 1x scripts.hrefmaphrefmap.blade.php#?blade
    • 1x layouts.headerheader.blade.php#?blade
    • 1x layouts.header.mobile-login-buttonsmobile-login-buttons.blade.php#?blade
    • 1x layouts.header.mobile-searchmobile-search.blade.php#?blade
    • 2x repeatable.languageslanguages.blade.php#?blade
    • 1x layouts.header.menumenu.blade.php#?blade
    • 1x layouts.header.search-togglesearch-toggle.blade.php#?blade
    • 1x layouts.header.login-buttonslogin-buttons.blade.php#?blade
    • 1x components.search-resultssearch-results.blade.php#?blade
    • 1x layouts.floating.cookiescookies.blade.php#?blade
    • 1x scripts.breadcrumbsbreadcrumbs.blade.php#?blade
    • 1x components.corner-advertcorner-advert.blade.php#?blade
    • 1x layouts.footerfooter.blade.php#?blade
    • 1x scripts.functionalfunctional.blade.php#?blade
    • 1x scripts.trackingtracking.blade.php#?blade
    uri
    GET {slug}/{slug2}
    middleware
    web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
    controller
    App\Http\Controllers\DynamicContentController@getPageFromCollection
    file
    app/Http/Controllers/DynamicContentController.php:311-368
    0 statements were executed0μs
          _token
          2q0TWtc9wY0DLDPr3Qr7eRQlHoBAWuQMtBlfNcfz
          ClearShow all
          Date ↕MethodURLData
          #12025-04-10 02:31:31GET/markets/commodities/35132