What is Spread Betting

Trade rising or falling markets in a tax-efficient way with spread bets on markets.com. You can trade thousands of instruments, across forex, commodities, currencies and stocks and in global markets.
 

Spread bets are a leveraged product, like CFDs, yet are exempt from Capital Gains Tax or Stamp Duty on profits from spread betting within the UK.

What is Spread Betting

Trading opportunity

With so many markets to trade, and our flexible and accessible platform, there’s an opportunity for every type of trader. Plus, with our market-leading range of tools you can get unparalleled insights into your trade opportunities.

ETFs ETFs
Stocks Stocks
Indices Indices
Bonds Bonds
Blends Blends
spread - commo.svg Commodities
Currencies Currencies
spread ipos.svg IPOs
spread - trading opportunity.png

Margins & Spreads

We keep our prices low to help you maximise your potential profit without sacrificing service. We know that when it comes to priorities, spreads are number one for traders. 
 

Take a look at the markets.com pricing for spread bets. Our spreads can vary depending on the market price and the time of day.

Margins & Spreads

Why Start Spread Betting with markets.com

spread - tax.svg

Tax Efficiency

Profits are exempt from Stamp Duty and Capital Gains Tax in the UK.

Low Spreads, Fast Execution

Fast Execution

Execute your trades directly through our cutting-edge platform.

spread - markest.svg

Global Markets to Trade

Trade thousands global instruments on our multi-asset platform.

webtp-world.svg

World-Class Tools

Advanced fundamental, technical and sentiment tools for key insights.

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

Questions?
We have answers!

Explore all FAQs
Come see why so many trust us

Ready to trade?
Create an account!

Google Apple
clear_input

Enter valid email

clear_input
show_password

Please enter a valid password

Tick
Passwords must be between 8 and 15 characters long
Tick
Passwords must contain at least 1 numeric character
Tick
Passwords must contain at least 1 uppercase character
Tick
Passwords must contain at least 1 lowercase character
Tick
Passwords do not match
Tick
Password can not be commonly used
SettingsRequest history8.1.18PHP Version5.54sRequest Duration4MBMemory UsageGET {slug}
status
200 OK
full_url
https://web-qa.staging.markets.com/spread-betting
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/spread-betting
action_name
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
uri
GET {slug}
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
5.54s
peak_memory
4MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:15 [ "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
[]
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 => "Tue, 08 Apr 2025 02:35:42 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "Oyh01wlWgRfpn0fXrBpMD0k3NHkhlz1WL8UEpkNH" ]
  • warninglog[02:35:37] LOG.warning: explode(): Passing null to parameter #2 ($string) of type string is deprecat...
  • infolog[02:35:38] LOG.info: api_188323a73d66fd678495212e261564bf [ "\/spread-betting\/", 3600, ...
  • infolog[02:35:38] LOG.info: api_6921b74e685d7d9e18b64a7701c7b098 [ "\/spread-betting\/", 3600, ...
  • infolog[02:35:42] LOG.info: api_97619a57afe48f2dfa2464c7513be496 [ "\/spread-betting\/", 3600, ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[02:35:42] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[02:35:42] LOG.info: page_a3b0b5103de26c17bfe07b4b46e146d0 [ "\/spread-betting\/", 3600, ...
  • Booting (44.04ms)time
  • Application (5.5s)time
  • Routing (5.58ms)
  • 1 x Application (99.21%)
    5.50s
    1 x Booting (0.79%)
    44.04ms
    1 x Routing (0.1%)
    5.58ms
    104 templates were rendered
    • 1x dynamic-contentdynamic-content.blade.php#?blade
    • 18x repeatable._include-blocks_include-blocks.blade.php#?blade
    • 9x components.spacerspacer.blade.php#?blade
    • 1x components.page-headerpage-header.blade.php#?blade
    • 2x components.strapi-buttonstrapi-button.blade.php#?blade
    • 47x components.strapi-imgstrapi-img.blade.php#?blade
    • 2x components.blur-animationblur-animation.blade.php#?blade
    • 2x components.image-textimage-text.blade.php#?blade
    • 1x components.text-imagetext-image.blade.php#?blade
    • 1x components.market-tilesmarket-tiles.blade.php#?blade
    • 1x components.three-iconsthree-icons.blade.php#?blade
    • 1x components.faq-blockfaq-block.blade.php#?blade
    • 1x components.create-accountcreate-account.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 layouts.footerfooter.blade.php#?blade
    • 1x scripts.functionalfunctional.blade.php#?blade
    • 1x scripts.trackingtracking.blade.php#?blade
    uri
    GET {slug}
    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
          Oyh01wlWgRfpn0fXrBpMD0k3NHkhlz1WL8UEpkNH
          ClearShow all
          Date ↕MethodURLData
          #12025-04-08 02:35:42GET/spread-betting/35104