Web3 & DeFi Oracles

The off-chain price behind your on-chain feed

Institutional-grade FX, crypto and commodity data for oracle networks, node operators and DeFi protocols: the reference price behind your internal pricing engine, delivered off-chain over REST and WebSocket.

Sample response GET /api/v1/live
Symbol Bid Ask Mid
XAU / USDSpot gold4008.514008.694008.60
EUR / USDEuro to US dollar1.112721.112731.11273
BTC / USDBitcoin to US dollar75819.0075819.5075819.25
XAG / USDSpot silver48.71248.73148.722

What a relayer takes from each quote: bid, ask or mid, and the quote's own timestamp. Sample values, not live.

Feeds your pricing engine "timestamp" on every quote
client logos client logos client logos client logos

Trusted by top companies & institutions. Read our customer stories

SLA Uptime
99.99%

Why oracle teams source the price from us

A decentralised feed is only as good as the number that goes into it. We supply that number, filtered and timestamped, for the engine that prices your feed.

Aggregated, not scraped

FX from bank and non-bank liquidity providers, crypto from non-bank liquidity providers, filtered for spikes before delivery. A thin venue cannot move the number your contract reads.

See the path to your engine

Milliseconds off-chain

WebSocket pushes every tick with p99 delivery under 20 ms, so the block that liquidates a position is priced on the market as it stands, not as it stood a minute ago.

See the stream

FX, metals, crypto and indices in one scheme

Synthetic EUR, tokenised gold and a BTC perpetual read the same field names from the same key. 500+ symbols, one parser.

Browse the symbols

History to test liquidation logic

Tick data since 2016 and minute bars back to 1990. Replay the worst session your collateral has seen through your thresholds before it reaches mainnet.

Explore historical data
Architecture

We stop at the API boundary. The pricing engine is yours.

The oracle network stays decentralised. The price that goes into it comes from one accountable source.

  • What we send Bid, ask and mid for each symbol with the quote's timestamp, over REST or as a WebSocket tick with millisecond precision.
  • What you do Your node, relayer or protocol reads the quote, aggregates it with your other providers or holds it as a reference, and decides what to publish. We never hold a signing key.
  • Two paths, one key Stream over WebSocket and fall back to REST polling on the same credentials. A dropped socket never leaves a round without a price.
  1. .000tick
    A quote forms Bank and non-bank liquidity providers price XAU/USD. We aggregate, filter the spike that a single venue printed, and stamp the quote's time. AggregatedSpike-filteredms timestamp
  2. <20ms later
    It reaches your node Pushed over WebSocket as a tick, or returned by /live when your relayer polls. Same symbol, same fields, same timestamp either way. WebSocketREST /live
  3. Yournode
    You aggregate or reference Blend our price with your other providers in your own pricing engine, or hold it as the reference your logic checks against. What you publish, and how, stays your decision. Node operatorRelayerProtocol
  4. Anylater date
    Prove what the price was A disputed liquidation? Request the tick history for that minute and show the market as it stood at that moment.
Integration

Three steps to a live feed

From a trial key to our price running inside your pricing engine, with the production feed on the same credentials when you switch.

Step 1

Pick the symbols

FX pairs, XAU and XAG, crypto versus fiat, indices and energy, all in one symbol scheme. Map each feed your contracts expose to one of ours.

Step 2

Wire the adapter

Your external adapter or relayer calls GET /live or holds a WebSocket subscription. Bid, ask, mid and the timestamp come back in one body.

Step 3

Run and compare

Run in staging against the trial key, compare our price with your current sources, then move to a full agreement. Nothing changes in the adapter.

All tutorials

Connectivity

A stream for the relayer, REST for the fallback, history for the audit

Everything an oracle adapter, a keeper and a risk team need, on one key.

WebSocket streaming

Subscribe once and receive every tick with its millisecond timestamp. For relayers and keepers that publish on price movement rather than on a timer.

WebSocket docs

REST: live and convert

Your symbols in one call, each with bid, ask, mid and its own timestamp. The polling path for heartbeat rounds, and the failover when a socket drops.

Live rates docs

REST: historical and tick

Minute, hourly and daily bars back to 1990 and tick data since 2016. Backtest thresholds, reconstruct a disputed round, or seed a new market.

Historical docs

What a payload takes from us

One object per symbol. Your adapter picks the fields the round needs.

  • The mid for a single reference price, or bid and ask when the contract marks on the side it deals on.
  • A Unix timestamp on every REST quote and a millisecond ts on every WebSocket tick, so staleness checks are yours to set.
  • The same symbols and fields over both paths, so a relayer that fails over to polling publishes the same number.
  • JSON by default; the stream also sends CSV or SSV if your adapter prefers a flat record.
Field reference
# the relayer's heartbeat poll, or the failover when the socket drops
curl "https://marketdata.tradermade.com/api/v1/live\
  ?currency=EURUSD,GBPUSD,UK100\
  &per_quote_ts=true\
  &api_key=your_key"
REST and WebSocket · JSON, CSV or SSV Same key, same symbols
Proven on-chain

The data behind oracle networks and digital asset platforms

The same feed checks node-provider pricing at the largest oracle network and prices cross-border payments and brokerages.

Customer Case Study

How Chainlink uses TraderMade data to power blockchain testing and applications

Chainlink, the leading decentralised oracle network, uses TraderMade FX and cryptocurrency data to check that its node providers deliver accurate end-user pricing and to power internal testing of its data stream products, at more than 45 million API hits a month.

Read the Chainlink case study
More on TraderMade data in Web3 and beyond
The oracle problem: why protocols source from institutional feeds Fuze (Digital Assets Platform) GTN (Multi-Asset Institutional Brokerage) 3S Money (Cross-Border Payments)
Answers

Frequently asked questions

Licensing, signing, coverage, cadence and failover.

As data for your internal pricing engine: your node, relayer or protocol consumes our prices to build its own output. The scope of that use is set out in your agreement, so request pricing or book a call and we will take you through it.

You do. TraderMade delivers the price and its timestamp over REST or WebSocket. What you aggregate, reference and publish from it, and how it is signed, is your own process under the rules of the network you serve. We are an off-chain data vendor, not a node operator or validator.

FX across 150+ currencies and 4,000+ pairs, spot gold and silver, crypto aggregated from non-bank liquidity providers and quoted against fiat, plus indices and energy: 500+ symbols in one symbol scheme. Licences are scoped from the majors to every symbol. The full list is on the symbols page.

Over WebSocket, every tick is pushed as it happens, with p99 delivery under 20 ms from our London data centre. Most symbols update several times a second during market hours. Over REST you poll at the cadence your relayer needs. FX trades 24/5 and crypto 24/7. See the WebSocket docs.

Reconnect to the WebSocket and resubscribe; the last price for each symbol is sent on subscription. Meanwhile the REST /live endpoint answers on the same key, so a relayer can fall back to polling without a second account.

Yes. Tick history runs from January 2016 and minute, hourly and daily bars back to 1990, with a 22:00 UTC daily close. Replay a volatile session through your liquidation thresholds before it reaches mainnet. See historical data.

No. You pay for the data feed by the month or the year. Gas on the chains you publish to is yours, and there is no fee per price update, per round or per contract.

Yes. Start a trial key from the business signup and run the feed against your testnet deployment. Tell us the network and symbols in the request form and a market data engineer will come back with terms and a sandbox.

Scoping a new feed?

Tell us the network, the symbols and how often a round publishes. A market data engineer will come back with terms, pricing and a trial key.

Talk to an engineer
Get started

Request terms & a trial key

Tell us which network you serve, which symbols your engine needs and how often it prices. We'll come back with terms, pricing and a trial key.

Licence scope agreed before launch
Replies within one business day
Please enter your name (at least 2 characters).
Please enter a valid work email address.

Replies within one business day.