What are W-8BEN & W-9 and how to fill them out?

A W-8 BEN form is a United States Internal Revenue Service (IRS) tax form used to determine the foreign status of non-resident aliens for the purposes of taxation.

Use Form W-9 to provide your correct Taxpayer Identification Number (TIN) to the person who is required to file an information return with the IRS to report.

Hence, Form W-9 is to be filled out by US workers that have a SSN or TIN, while W-8 forms are filled out by foreign individuals and non-resident aliens who receive income from US sources.

In order to submit a W-8 or W-9 form, you may follow the below steps:

  1. Select the correct form that applies to you
  2. Fill up the form based on the instruction on the instruction file
  3. Forward the form to our Customer Support (support@markets.com)
  4. Markets.com will take all the necessary actions from here on. We will contact you if we have any further questions.
SettingsRequest history8.1.18PHP Version858msRequest Duration4MBMemory UsageGET {locale}/{slug}
status
200 OK
full_url
https://web-qa.staging.markets.com/za/tax-forms
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/za/tax-forms
action_name
controller_action
App\Http\Controllers\DynamicContentController@getPageFromCollection
uri
GET {locale}/{slug}
controller
App\Http\Controllers\DynamicContentController@getPageFromCollection
prefix
/{locale}
where
file
app/Http/Controllers/DynamicContentController.php:311-368
middleware
web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
duration
860ms
peak_memory
6MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:16 [ "cookie" => array:1 [ 0 => "mktloc=eyJpdiI6Ii9Jc3NrbTNURUVnT1I2TmVNeEQzMGc9PSIsInZhbHVlIjoiYmdmQWw0RlBTckJZUW8wVWhGZTRSdjVseDFzdXM3T0dMOWVqSjZySEQ2SUJ6UzltSE1tenA2ZTUxb2tNQlNlTCIsIm1hYyI6ImRhYmM1MTIwYmYxNWZmNDdjMzQ4ZmI0OTkzNTc0ZGQzOThkODYxY2EwM2Y0YzE2NzdlMjI4Y2YxNDFkNGI2ZDciLCJ0YWciOiIifQ%3D%3D; XSRF-TOKEN=eyJpdiI6IlNQRE1mUjFVamNMRmpvdWhNSW5SRHc9PSIsInZhbHVlIjoiWEhDeHFKOUhXZm5DTkl0TVJjVWNPRjJadDRDZ1RuSitFUWhZRXVNbWpMZG54Q3pIZkhZNzJnTnBDQ2NrQllMNTM5RktlTVkvb3BVazlxWlYvR2RFcHZlSDNiNUdrTkZhRlFUR1FaQjF3NlFTSEpONVNVUHN3ZnNlalZLb2ZSN24iLCJtYWMiOiI3MDFjOGMyNWYzYjJmYmU0M2JkMjg3OWI2NjM0YmVmZjE4MjZjOTBkMGFiN2E3YWU4MjI4MjgwMjU2OGY0YjY4IiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6IjNNV2l3c2R3MjZ3UW5RbXJBWHQraVE9PSIsInZhbHVlIjoiSm4xbi9mQVh0amFma3JJeHNIdmJ3RnhaTElVMnNocUY1UnBGQ0ZXdUhtVDB4MVZQRzFXczRWenJNN2ZYN002dWgvcXFnWU83VFdCRlJnRTRPeWtwTWRGeXdnYmE4dFpWam1uUkNOcTNPV3g2by9qNDhUdjY0Zk8velRCZERyV2IiLCJtYWMiOiJhZDRlZmNlYjg0MDRhNTY4MWVjNzRhZTQ3OGYyZmFlODk0NTE5OTZiODRjY2M4ZjQ1OWE3MjljYTE2ZDFjMmE2IiwidGFnIjoiIn0%3D; intent_group=%252Fes%252Fnews%252F; firstURL=https://web-qa.staging.markets.com/es/news/?p=15; lastURL=https://web-qa.staging.markets.com/es/news/?p=15; mktv4_ip_override=zamktloc=eyJpdiI6Ii9Jc3NrbTNURUVnT1I2TmVNeEQzMGc9PSIsInZhbHVlIjoiYmdmQWw0RlBTckJZUW8wVWhGZTRSdjVseDFzdXM3T0dMOWVqSjZySEQ2SUJ6UzltSE1tenA2ZTUxb2tNQlNlTCIsIm1hYyI6I" ] "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:7 [ "mktloc" => "us,us" "XSRF-TOKEN" => "ektDzfE8l86XTPlNW8y1XmniMG4i48Yc6JKULjhM" "laravel_session" => "gxrOzMS605rKbtfeFK5pJZmq9ouc6rrXK1gFnJvm" "intent_group" => null "firstURL" => null "lastURL" => null "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, 17 Apr 2025 16:22:04 GMT" ] ]
session_attributes
0 of 0
array:4 [ "_token" => "ektDzfE8l86XTPlNW8y1XmniMG4i48Yc6JKULjhM" "PHPDEBUGBAR_STACK_DATA" => [] "_previous" => array:1 [ "url" => "https://web-qa.staging.markets.com/params" ] "_flash" => array:2 [ "old" => [] "new" => [] ] ]
  • infolog[16:22:03] LOG.info: api_ca7ef5156873641440723eb7f2ea7d5a [ "\/za\/tax-forms\/", 3600, t...
  • infolog[16:22:04] LOG.info: api_fe70a64c9e34b60de62265834d85dd44 [ "\/za\/tax-forms\/", 3600, t...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • warninglog[16:22:04] LOG.warning: str_replace(): Passing null to parameter #3 ($subject) of type array|string ...
  • infolog[16:22:04] LOG.info: page_96dc554546f47d41b57279bf289d3873 [ "\/za\/tax-forms\/", 3600, ...
  • Booting (11.5ms)time
  • Application (846ms)time
  • Routing (737μs)
  • 1 x Application (98.66%)
    846ms
    1 x Booting (1.34%)
    11.50ms
    1 x Routing (0.09%)
    737μs
    64 templates were rendered
    • 1x dynamic-contentdynamic-content.blade.php#?blade
    • 7x repeatable._include-blocks_include-blocks.blade.php#?blade
    • 3x components.spacerspacer.blade.php#?blade
    • 2x components.stylesstyles.blade.php#?blade
    • 1x components.text-editortext-editor.blade.php#?blade
    • 1x components.mockup-tilemockup-tile.blade.php#?blade
    • 31x components.strapi-imgstrapi-img.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 components.blur-animationblur-animation.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 {locale}/{slug}
    middleware
    web, SetDomain, GoMarkets, setlocale, trackingparams, redirects, Logout, pagecache, setrisk, gettranslations, getglobalsettings, urlstructure, saveReferral
    controller
    App\Http\Controllers\DynamicContentController@getPageFromCollection
    prefix
    /{locale}
    where
    file
    app/Http/Controllers/DynamicContentController.php:311-368
    0 statements were executed0μs
          _token
          ektDzfE8l86XTPlNW8y1XmniMG4i48Yc6JKULjhM
          PHPDEBUGBAR_STACK_DATA
          []
          _previous
          array:1 [ "url" => "https://web-qa.staging.markets.com/params" ]
          _flash
          array:2 [ "old" => [] "new" => [] ]
          ClearShow all
          Date ↕MethodURLData
          #12025-04-17 16:22:04GET/za/tax-forms/3364