Available now Spread & execution cost ForexGoldCrypto
Spread Reality

Live Spread Widget

The current spread for a pair against its recent 24-hour low, average, and high, plus per-session averages. Descriptive current-versus-normal cost context, not a customer fill or a recommendation.

One script tag Light, dark & auto themes Domain-authorized public key Synthetic preview with no key
spread-reality · 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
One symbolSymbols per embed
~15 secCached refresh
4Covered instruments
What it shows

A fast answer to one useful question.

The current spread for a pair against its recent 24-hour low, average, and high, plus per-session averages. Descriptive current-versus-normal cost context, not a customer fill or a recommendation.

  • Current spread vs 24h low / avg / high · one symbol.
  • Pick the instrument with symbol=; it defaults to BTCUSD when you omit it.
  • 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
One symbol, set from the embed
Allowed
BTCUSD, XAUUSD, EURUSD, GBPUSD
Default
BTCUSD
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: current + 24h stats · one symbol
Where it fits

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

Spread Reality 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 landing page

showing current cost context versus normal.

Pricing/comparison page

for a trading platform.

Docs example

for the spread kind.

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 Reality 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 symbol, then drop the generated script tag into the page.

Widget theme
<script
  src="https://tickatlas.com/widgets/embed.js?w=spread-reality&k=wk_YOUR_KEY&symbol=XAUUSD"></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-reality” 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.
symbol symbol No The symbol to display, uppercased. Must be within the widget’s allowed set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD. Default: BTCUSD.
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 symbol

Omit symbol= and the gateway serves BTCUSD.

BTCUSD

Allowed instruments

Set symbol= to any one of these 4.

BTCUSDXAUUSDEURUSDGBPUSD
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-reality 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 Reality subscription

$9.99/ month

Base subscription includes 1 domain slot.

  • Live widget data on the domains you authorize
  • Light, dark and auto themes
  • Any one of its allowed instruments
  • 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 spread vs 24h low / avg / high · one symbol.

/widgets/api/spread-reality/spread?symbol=BTCUSD
Response shape{ success, widget, cached, data }
{
  "success": true,
  "widget": "spread-reality",
  "cached": true,
  "data": { symbol, period, current_pips, avg_pips, min_pips, max_pips, std_pips, has_data }
}

Endpoint parameters

Parameter Type Required Description
symbol symbol No Single-pair widgets: one symbol, within the allowed set. Allowed: BTCUSD, XAUUSD, EURUSD, GBPUSD. Default: BTCUSD.
period enum No Window for the average / min / max / stddev spread statistics. Allowed: 1h, 24h, 7d, 30d. Default: 24h.

Set symbol on the embed to any one of this widget’s allowed symbols (BTCUSD, XAUUSD, EURUSD, GBPUSD); it defaults to BTCUSD if omitted. A symbol outside this set is rejected by the gateway before any data is fetched, and the widget shows its “unavailable” state.

Frequently asked

Before you embed it.

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

Which symbol does it cover?

One symbol per embed from BTCUSD, XAUUSD, EURUSD, or GBPUSD.

What's compared?

The current spread against the pair's 24-hour low, average, and high, plus per-session averages — descriptive cost context, not a customer fill or a recommendation.

How often does it refresh?

~15-second cached poll; the last verified spread is held on a gap.

Is it free to preview?

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

Spread Reality

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.