Available now Spread & execution cost ForexGoldCrypto
Spread Spectrum

Forex Spread Comparison Widget

Several pairs laid on a low-to-high execution-cost spectrum with current and average markers. Comparative described statistics, not a customer’s fill cost or a recommendation.

One script tag Light, dark & auto themes Domain-authorized public key Synthetic preview with no key
spread-spectrum · preview mode
no network
SIMULATED

The real embed in preview mode — synthetic data, no API key, zero network calls. Live data starts once you add your key.

$9.99/ month · 1 domain slot

Each additional domain slot adds half the base price.

Get it
spreadGateway kind
Up to 5Symbols per embed
~15 secCached refresh
10Covered instruments
What it shows

A fast answer to one useful question.

Several pairs laid on a low-to-high execution-cost spectrum with current and average markers. Comparative described statistics, not a customer’s fill cost or a recommendation.

  • Current + average spread across several pairs.
  • Ships a curated default set (XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD); symbols= swaps it for up to five of the allowed instruments.
  • Renders inside a sandboxed Shadow DOM, so it cannot collide with your page’s CSS or scripts.
What the gateway serves itSIMULATED PREVIEW
Gateway kind
spread
Symbol axis
A curated set, up to five symbols
Allowed
BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD
Default set
XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD
Pinned period
24h
Refresh
~15 s, cached

Every value here is what the gateway enforces, not a description of it. A parameter outside this scope is rejected before any data is fetched.

spread kind: compare · N symbols · 24h
Where it fits

Small enough for a sidebar. Useful enough for a homepage.

Spread Spectrum is a compact derived-data module rather than a full dashboard. It works best where you want one concise market observation with a clearly stated data basis.

Broker comparison/pricing page across several instruments

Trading-education page on execution cost

Docs example

for the spread kind with N symbols.

Market-dashboard cost-transparency module

Embed it

One script tag. No chart library. No build step.

Subscribe, authorize the domains that will host the widget, copy your public wk_ key, and paste the snippet where you want Spread Spectrum to render.

Subscribe & authorize domains

Your subscription includes 1 domain slot. Add more slots when the same widget needs to run on more sites.

Copy the public widget key

The wk_ key is meant to appear in the page source. It is restricted to the domains you authorize and can be revoked.

Paste the embed

Choose your theme and symbols, then drop the generated script tag into the page.

Widget theme
<script
  src="https://tickatlas.com/widgets/embed.js?w=spread-spectrum&k=wk_YOUR_KEY&symbols=XAUUSD,EURUSD,GBPUSD,USDJPY,AUDUSD"></script>

Light is the default, so the snippet stays clean. Dark appends &theme=dark; Auto appends &theme=auto and follows each visitor’s system preference. Picking one re-renders the preview above in that theme.

Embed parameters

Small configuration surface. Predictable output.

The querystring on the embed.js script tag stays intentionally compact. Most sites only need the widget slug, the public widget key, a symbol and a theme.

Parameter Type Required Description
w string Yes Widget slug — fixed to “spread-spectrum” for this widget.
k string No Your public wk_ key. With it the widget goes live on your authorized domains; omit it for the SIMULATED preview (synthetic data, zero network). Default: preview mode.
symbols symbols No Comma-separated symbols to display (max 5; extras are dropped), each within the widget’s allowed set. Omit for the widget’s curated default set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD. Default: XAUUSD,EURUSD,GBPUSD,USDJPY,AUDUSD.
mode enum No Force preview even with a key, e.g. for a staging page. Allowed: live, preview. Default: live when k is present, else preview.
theme enum No Colour theme. light (default) is today’s look; dark uses a WCAG-AA dark palette; auto follows each visitor’s system (prefers-color-scheme). Omit for light. Allowed: light, dark, auto. Default: light.

Default set

What the embed ships when you pass no symbols=.

XAUUSDEURUSDGBPUSDUSDJPYAUDUSD

Full covered universe

Choose up to five from these 10.

BTCUSDXAUUSDEURUSDGBPUSDUSDJPYAUDUSDUSDCHFUSDCADNZDUSDETHUSD
Under the hood

Public embed key outside. Short-lived access inside.

The browser-facing key is domain-scoped by design. The embed exchanges it through our gateway, calls the hosted widget endpoint with short-lived authorization, and renders inside an isolated Shadow DOM.

YOUR PAGE embed.js wk_ key + domain TICKATLAS Widget gateway domain check · token mint HOSTED ENDPOINT spread-spectrum cached spread data RENDER Shadow DOM isolated styles ~15 second refresh · cached reads · per-key / per-domain rate limits · last verified frame held through temporary gaps
CSS isolation

A sandboxed Shadow DOM with all:initial keeps your page’s styles and scripts out and the widget’s styles in. It fits its container’s width, never wider.

Domain authorization

The public wk_ key only renders on domains you add to the subscription, and you can revoke it from your dashboard at any time.

Cached refresh

It refreshes about every 15 seconds against cached data, so many visitors collapse onto one computation. Over the per-key / per-domain limit the gateway returns 429 and the widget keeps its last frame.

Graceful failure

No current data, a revoked key or an unauthorized domain all produce an explicit “unavailable” state — never a fabricated or zeroed value, and never a thrown error on your page.

Spread Spectrum subscription

$9.99/ month

Base subscription includes 1 domain slot.

  • Live widget data on the domains you authorize
  • Light, dark and auto themes
  • Up to five configured symbols
  • A public, revocable widget key
  • Cancel any time; the embed stays live through the paid month
Subscribe

Domain slot calculator

Each additional domain adds half the base price.

$9.99 per month

1 domain slot = $9.99 base subscription. Slots are fixed at purchase; manage domains and your key from your dashboard.

Data contract

The embed has a simple hosted endpoint behind it.

The embed calls this endpoint for you on each refresh, using a short-lived token minted from your wk_ key — your key never leaves the gateway.

GET widget endpointhosted

Market data for this widget

Current + average spread across several pairs.

/widgets/api/spread-spectrum/spread?symbols=XAUUSD,EURUSD,GBPUSD,USDJPY,AUDUSD&period=24h
Response shape{ success, widget, cached, data }
{
  "success": true,
  "widget": "spread-spectrum",
  "cached": true,
  "data": { period, assets:[{ symbol, current_pips, avg_pips, min_pips, max_pips, has_data }] }
}

Endpoint parameters

Parameter Type Required Description
symbols symbols No Comparison widgets: comma-separated symbols. Its presence selects the multi (assets[]) response. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD. Default: XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD. This widget pins it to its full configured set.
period enum No Window for the average / min / max / stddev spread statistics. Allowed: 1h, 24h, 7d, 30d. Default: 24h. This widget pins it to 24h.

This widget renders the symbol set configured for it, so its embed takes no symbol — it always requests its full allowed set: BTCUSD, XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD, USDCHF, USDCAD, NZDUSD, ETHUSD.

Frequently asked

Before you embed it.

What the widget reads, how preview mode works, and what happens when data is temporarily unavailable.

Which symbols show by default?

XAUUSD, EURUSD, GBPUSD, USDJPY, AUDUSD. BTCUSD is not in the default set.

Can I choose different symbols?

Yes, symbols= as a comma list, max 5, from the ten covered instruments.

What's plotted?

Each pair's current and average spread on a low-to-high spectrum — comparative statistics, not a customer's fill cost or a recommendation.

How often does it refresh?

~15-second cached poll; the last verified reads are held on a gap.

Is it free to preview?

Yes, synthetic and keyless; the live widget is a paid subscription.

Spread Spectrum

Embed it in minutes

Preview it with synthetic data and no key. When you're ready, authorize your domain, add the public widget key and switch the same embed to live data — from $9.99/mo per domain.