{
  "ok": true,
  "service": "bitvavo-market-data-bridge",
  "mode": "read-only-public-data",
  "route": "/candles",
  "source": {
    "provider": "Bitvavo",
    "source_type": "public REST API",
    "authentication": "none",
    "endpoint": "/v2/TRAC-EUR/candles?interval=15m&limit=96",
    "endpoints": [
      "/v2/TRAC-EUR/candles?interval=15m&limit=96",
      "/v2/markets?market=TRAC-EUR"
    ],
    "route": "/candles",
    "checked_at": "2026-07-27T02:04:14.727Z"
  },
  "cache": {
    "server_side": true,
    "hit": false,
    "ttl_ms": 8000,
    "age_ms": 0,
    "stored_at": "2026-07-27T02:04:14.839Z"
  },
  "data": {
    "market": "TRAC-EUR",
    "source_state": "current",
    "requested_interval": "15m",
    "bitvavo_interval": "15m",
    "requested_limit": 96,
    "returned_candles": 77,
    "candles": [
      {
        "timestamp_ms": "1785115800000",
        "timestamp": "2026-07-27T01:30:00.000Z",
        "open": "0.24124",
        "high": "0.24476",
        "low": "0.24124",
        "close": "0.24439",
        "volume": "12089.1433885"
      },
      {
        "timestamp_ms": "1785114900000",
        "timestamp": "2026-07-27T01:15:00.000Z",
        "open": "0.24234",
        "high": "0.24234",
        "low": "0.24234",
        "close": "0.24234",
        "volume": "2164.99022766"
      },
      {
        "timestamp_ms": "1785113100000",
        "timestamp": "2026-07-27T00:45:00.000Z",
        "open": "0.24245",
        "high": "0.24245",
        "low": "0.24168",
        "close": "0.24168",
        "volume": "1319.6704318"
      },
      {
        "timestamp_ms": "1785112200000",
        "timestamp": "2026-07-27T00:30:00.000Z",
        "open": "0.25317",
        "high": "0.25556",
        "low": "0.24254",
        "close": "0.24254",
        "volume": "9276.75586302"
      },
      {
        "timestamp_ms": "1785111300000",
        "timestamp": "2026-07-27T00:15:00.000Z",
        "open": "0.24992",
        "high": "0.25252",
        "low": "0.24937",
        "close": "0.25252",
        "volume": "4116.17495672"
      },
      {
        "timestamp_ms": "1785110400000",
        "timestamp": "2026-07-27T00:00:00.000Z",
        "open": "0.24567",
        "high": "0.24567",
        "low": "0.24567",
        "close": "0.24567",
        "volume": "398.04177687"
      },
      {
        "timestamp_ms": "1785109500000",
        "timestamp": "2026-07-26T23:45:00.000Z",
        "open": "0.2443",
        "high": "0.24463",
        "low": "0.2443",
        "close": "0.24463",
        "volume": "326.15211"
      },
      {
        "timestamp_ms": "1785108600000",
        "timestamp": "2026-07-26T23:30:00.000Z",
        "open": "0.24288",
        "high": "0.24292",
        "low": "0.24288",
        "close": "0.24292",
        "volume": "379.80788217"
      },
      {
        "timestamp_ms": "1785105900000",
        "timestamp": "2026-07-26T22:45:00.000Z",
        "open": "0.24169",
        "high": "0.24169",
        "low": "0.24169",
        "close": "0.24169",
        "volume": "364"
      },
      {
        "timestamp_ms": "1785105000000",
        "timestamp": "2026-07-26T22:30:00.000Z",
        "open": "0.24069",
        "high": "0.24201",
        "low": "0.23929",
        "close": "0.23929",
        "volume": "498.5746256"
      },
      {
        "timestamp_ms": "1785104100000",
        "timestamp": "2026-07-26T22:15:00.000Z",
        "open": "0.2415",
        "high": "0.2415",
        "low": "0.24074",
        "close": "0.24074",
        "volume": "146"
      },
      {
        "timestamp_ms": "1785103200000",
        "timestamp": "2026-07-26T22:00:00.000Z",
        "open": "0.24068",
        "high": "0.24198",
        "low": "0.24011",
        "close": "0.24011",
        "volume": "3016.19322201"
      },
      {
        "timestamp_ms": "1785102300000",
        "timestamp": "2026-07-26T21:45:00.000Z",
        "open": "0.23964",
        "high": "0.24006",
        "low": "0.23902",
        "close": "0.24006",
        "volume": "10703.78603961"
      },
      {
        "timestamp_ms": "1785100500000",
        "timestamp": "2026-07-26T21:15:00.000Z",
        "open": "0.23973",
        "high": "0.23974",
        "low": "0.23973",
        "close": "0.23974",
        "volume": "421.15634984"
      },
      {
        "timestamp_ms": "1785098700000",
        "timestamp": "2026-07-26T20:45:00.000Z",
        "open": "0.23895",
        "high": "0.23895",
        "low": "0.23816",
        "close": "0.23816",
        "volume": "1273.18069487"
      },
      {
        "timestamp_ms": "1785096900000",
        "timestamp": "2026-07-26T20:15:00.000Z",
        "open": "0.24103",
        "high": "0.24103",
        "low": "0.24103",
        "close": "0.24103",
        "volume": "2146.90449437"
      },
      {
        "timestamp_ms": "1785095100000",
        "timestamp": "2026-07-26T19:45:00.000Z",
        "open": "0.24096",
        "high": "0.24227",
        "low": "0.24066",
        "close": "0.24068",
        "volume": "6775.28377795"
      },
      {
        "timestamp_ms": "1785094200000",
        "timestamp": "2026-07-26T19:30:00.000Z",
        "open": "0.24149",
        "high": "0.24149",
        "low": "0.24149",
        "close": "0.24149",
        "volume": "2446.03794214"
      },
      {
        "timestamp_ms": "1785090600000",
        "timestamp": "2026-07-26T18:30:00.000Z",
        "open": "0.24213",
        "high": "0.24213",
        "low": "0.24213",
        "close": "0.24213",
        "volume": "20.73266428"
      },
      {
        "timestamp_ms": "1785087900000",
        "timestamp": "2026-07-26T17:45:00.000Z",
        "open": "0.24172",
        "high": "0.24307",
        "low": "0.24172",
        "close": "0.24307",
        "volume": "1707.04596107"
      },
      {
        "timestamp_ms": "1785087000000",
        "timestamp": "2026-07-26T17:30:00.000Z",
        "open": "0.2417",
        "high": "0.24254",
        "low": "0.2417",
        "close": "0.24254",
        "volume": "1674.48433187"
      },
      {
        "timestamp_ms": "1785083400000",
        "timestamp": "2026-07-26T16:30:00.000Z",
        "open": "0.24025",
        "high": "0.24025",
        "low": "0.24025",
        "close": "0.24025",
        "volume": "36"
      },
      {
        "timestamp_ms": "1785080700000",
        "timestamp": "2026-07-26T15:45:00.000Z",
        "open": "0.24097",
        "high": "0.242",
        "low": "0.24097",
        "close": "0.24177",
        "volume": "10021.54836729"
      },
      {
        "timestamp_ms": "1785073500000",
        "timestamp": "2026-07-26T13:45:00.000Z",
        "open": "0.23803",
        "high": "0.23847",
        "low": "0.23803",
        "close": "0.23847",
        "volume": "807.50998115"
      },
      {
        "timestamp_ms": "1785072600000",
        "timestamp": "2026-07-26T13:30:00.000Z",
        "open": "0.23662",
        "high": "0.23662",
        "low": "0.23662",
        "close": "0.23662",
        "volume": "441.23471164"
      },
      {
        "timestamp_ms": "1785071700000",
        "timestamp": "2026-07-26T13:15:00.000Z",
        "open": "0.23749",
        "high": "0.23749",
        "low": "0.237",
        "close": "0.237",
        "volume": "7544.898185"
      },
      {
        "timestamp_ms": "1785068100000",
        "timestamp": "2026-07-26T12:15:00.000Z",
        "open": "0.2376",
        "high": "0.2376",
        "low": "0.2376",
        "close": "0.2376",
        "volume": "52.477"
      },
      {
        "timestamp_ms": "1785065400000",
        "timestamp": "2026-07-26T11:30:00.000Z",
        "open": "0.23856",
        "high": "0.23856",
        "low": "0.23856",
        "close": "0.23856",
        "volume": "1151.57059976"
      },
      {
        "timestamp_ms": "1785064500000",
        "timestamp": "2026-07-26T11:15:00.000Z",
        "open": "0.2387",
        "high": "0.2387",
        "low": "0.23831",
        "close": "0.23831",
        "volume": "3642.1179953"
      },
      {
        "timestamp_ms": "1785061800000",
        "timestamp": "2026-07-26T10:30:00.000Z",
        "open": "0.23919",
        "high": "0.23997",
        "low": "0.23884",
        "close": "0.23895",
        "volume": "1493.59002614"
      },
      {
        "timestamp_ms": "1785060000000",
        "timestamp": "2026-07-26T10:00:00.000Z",
        "open": "0.23766",
        "high": "0.23766",
        "low": "0.23766",
        "close": "0.23766",
        "volume": "1767.84823617"
      },
      {
        "timestamp_ms": "1785059100000",
        "timestamp": "2026-07-26T09:45:00.000Z",
        "open": "0.23774",
        "high": "0.23774",
        "low": "0.23774",
        "close": "0.23774",
        "volume": "2191.29691003"
      },
      {
        "timestamp_ms": "1785058200000",
        "timestamp": "2026-07-26T09:30:00.000Z",
        "open": "0.23634",
        "high": "0.23799",
        "low": "0.23634",
        "close": "0.23708",
        "volume": "8838.31368336"
      },
      {
        "timestamp_ms": "1785056400000",
        "timestamp": "2026-07-26T09:00:00.000Z",
        "open": "0.23767",
        "high": "0.23767",
        "low": "0.23587",
        "close": "0.23712",
        "volume": "701.63909501"
      },
      {
        "timestamp_ms": "1785055500000",
        "timestamp": "2026-07-26T08:45:00.000Z",
        "open": "0.23764",
        "high": "0.23764",
        "low": "0.23554",
        "close": "0.23628",
        "volume": "2273.1595419"
      },
      {
        "timestamp_ms": "1785052800000",
        "timestamp": "2026-07-26T08:00:00.000Z",
        "open": "0.2407",
        "high": "0.24139",
        "low": "0.2384",
        "close": "0.2384",
        "volume": "4094.53443678"
      },
      {
        "timestamp_ms": "1785051900000",
        "timestamp": "2026-07-26T07:45:00.000Z",
        "open": "0.24002",
        "high": "0.24002",
        "low": "0.23968",
        "close": "0.23968",
        "volume": "91.04043676"
      },
      {
        "timestamp_ms": "1785051000000",
        "timestamp": "2026-07-26T07:30:00.000Z",
        "open": "0.24057",
        "high": "0.24062",
        "low": "0.24057",
        "close": "0.24062",
        "volume": "4342.34129544"
      },
      {
        "timestamp_ms": "1785047400000",
        "timestamp": "2026-07-26T06:30:00.000Z",
        "open": "0.2415",
        "high": "0.2415",
        "low": "0.2415",
        "close": "0.2415",
        "volume": "2145.61431969"
      },
      {
        "timestamp_ms": "1785046500000",
        "timestamp": "2026-07-26T06:15:00.000Z",
        "open": "0.24136",
        "high": "0.24147",
        "low": "0.24136",
        "close": "0.24147",
        "volume": "3281.9372049"
      },
      {
        "timestamp_ms": "1785042900000",
        "timestamp": "2026-07-26T05:15:00.000Z",
        "open": "0.2396",
        "high": "0.2396",
        "low": "0.23948",
        "close": "0.23948",
        "volume": "1554.48395512"
      },
      {
        "timestamp_ms": "1785042000000",
        "timestamp": "2026-07-26T05:00:00.000Z",
        "open": "0.24042",
        "high": "0.24042",
        "low": "0.24042",
        "close": "0.24042",
        "volume": "415.93876"
      },
      {
        "timestamp_ms": "1785041100000",
        "timestamp": "2026-07-26T04:45:00.000Z",
        "open": "0.23971",
        "high": "0.24046",
        "low": "0.23971",
        "close": "0.24046",
        "volume": "703.29421331"
      },
      {
        "timestamp_ms": "1785033000000",
        "timestamp": "2026-07-26T02:30:00.000Z",
        "open": "0.24113",
        "high": "0.24113",
        "low": "0.24104",
        "close": "0.24104",
        "volume": "6543.0030218"
      },
      {
        "timestamp_ms": "1785028500000",
        "timestamp": "2026-07-26T01:15:00.000Z",
        "open": "0.24074",
        "high": "0.24074",
        "low": "0.24074",
        "close": "0.24074",
        "volume": "1140.92258776"
      },
      {
        "timestamp_ms": "1785025800000",
        "timestamp": "2026-07-26T00:30:00.000Z",
        "open": "0.244",
        "high": "0.24529",
        "low": "0.244",
        "close": "0.24516",
        "volume": "1038.32776105"
      },
      {
        "timestamp_ms": "1785024900000",
        "timestamp": "2026-07-26T00:15:00.000Z",
        "open": "0.24399",
        "high": "0.24399",
        "low": "0.24291",
        "close": "0.24291",
        "volume": "275"
      },
      {
        "timestamp_ms": "1785024000000",
        "timestamp": "2026-07-26T00:00:00.000Z",
        "open": "0.24338",
        "high": "0.24338",
        "low": "0.24331",
        "close": "0.24331",
        "volume": "150"
      },
      {
        "timestamp_ms": "1785023100000",
        "timestamp": "2026-07-25T23:45:00.000Z",
        "open": "0.24634",
        "high": "0.24634",
        "low": "0.24611",
        "close": "0.24611",
        "volume": "4203.5399408"
      },
      {
        "timestamp_ms": "1785022200000",
        "timestamp": "2026-07-25T23:30:00.000Z",
        "open": "0.24599",
        "high": "0.24599",
        "low": "0.24594",
        "close": "0.24594",
        "volume": "4252.91119925"
      },
      {
        "timestamp_ms": "1785021300000",
        "timestamp": "2026-07-25T23:15:00.000Z",
        "open": "0.2478",
        "high": "0.2478",
        "low": "0.2478",
        "close": "0.2478",
        "volume": "109.79841509"
      },
      {
        "timestamp_ms": "1785019500000",
        "timestamp": "2026-07-25T22:45:00.000Z",
        "open": "0.2478",
        "high": "0.2478",
        "low": "0.2478",
        "close": "0.2478",
        "volume": "25"
      },
      {
        "timestamp_ms": "1785018600000",
        "timestamp": "2026-07-25T22:30:00.000Z",
        "open": "0.24804",
        "high": "0.24804",
        "low": "0.24804",
        "close": "0.24804",
        "volume": "2098.45796838"
      },
      {
        "timestamp_ms": "1785016800000",
        "timestamp": "2026-07-25T22:00:00.000Z",
        "open": "0.2487",
        "high": "0.24873",
        "low": "0.2487",
        "close": "0.24873",
        "volume": "990.93898377"
      },
      {
        "timestamp_ms": "1785015000000",
        "timestamp": "2026-07-25T21:30:00.000Z",
        "open": "0.24837",
        "high": "0.24837",
        "low": "0.24837",
        "close": "0.24837",
        "volume": "100"
      },
      {
        "timestamp_ms": "1785014100000",
        "timestamp": "2026-07-25T21:15:00.000Z",
        "open": "0.24867",
        "high": "0.24867",
        "low": "0.24867",
        "close": "0.24867",
        "volume": "643.52243861"
      },
      {
        "timestamp_ms": "1785013200000",
        "timestamp": "2026-07-25T21:00:00.000Z",
        "open": "0.24987",
        "high": "0.24987",
        "low": "0.24801",
        "close": "0.24801",
        "volume": "781.541573"
      },
      {
        "timestamp_ms": "1785012300000",
        "timestamp": "2026-07-25T20:45:00.000Z",
        "open": "0.2497",
        "high": "0.24981",
        "low": "0.2497",
        "close": "0.24981",
        "volume": "1914.60389154"
      },
      {
        "timestamp_ms": "1785011400000",
        "timestamp": "2026-07-25T20:30:00.000Z",
        "open": "0.2472",
        "high": "0.24745",
        "low": "0.24685",
        "close": "0.24745",
        "volume": "3279.0367154"
      },
      {
        "timestamp_ms": "1785009600000",
        "timestamp": "2026-07-25T20:00:00.000Z",
        "open": "0.24515",
        "high": "0.24683",
        "low": "0.24515",
        "close": "0.24617",
        "volume": "16973.88184124"
      },
      {
        "timestamp_ms": "1785008700000",
        "timestamp": "2026-07-25T19:45:00.000Z",
        "open": "0.24279",
        "high": "0.24534",
        "low": "0.2423",
        "close": "0.24534",
        "volume": "11247.03162199"
      },
      {
        "timestamp_ms": "1785006900000",
        "timestamp": "2026-07-25T19:15:00.000Z",
        "open": "0.24199",
        "high": "0.242",
        "low": "0.24199",
        "close": "0.242",
        "volume": "57.0376704"
      },
      {
        "timestamp_ms": "1785005100000",
        "timestamp": "2026-07-25T18:45:00.000Z",
        "open": "0.24188",
        "high": "0.24188",
        "low": "0.24188",
        "close": "0.24188",
        "volume": "56.15727"
      },
      {
        "timestamp_ms": "1785001500000",
        "timestamp": "2026-07-25T17:45:00.000Z",
        "open": "0.24074",
        "high": "0.24099",
        "low": "0.24014",
        "close": "0.2408",
        "volume": "16301.97078249"
      },
      {
        "timestamp_ms": "1785000600000",
        "timestamp": "2026-07-25T17:30:00.000Z",
        "open": "0.24101",
        "high": "0.24101",
        "low": "0.24101",
        "close": "0.24101",
        "volume": "262.74740717"
      },
      {
        "timestamp_ms": "1784998800000",
        "timestamp": "2026-07-25T17:00:00.000Z",
        "open": "0.24013",
        "high": "0.24044",
        "low": "0.2396",
        "close": "0.2396",
        "volume": "2296.77341847"
      },
      {
        "timestamp_ms": "1784996100000",
        "timestamp": "2026-07-25T16:15:00.000Z",
        "open": "0.23916",
        "high": "0.23916",
        "low": "0.23916",
        "close": "0.23916",
        "volume": "1028.04512081"
      },
      {
        "timestamp_ms": "1784995200000",
        "timestamp": "2026-07-25T16:00:00.000Z",
        "open": "0.23981",
        "high": "0.23981",
        "low": "0.23968",
        "close": "0.23968",
        "volume": "860.93063271"
      },
      {
        "timestamp_ms": "1784994300000",
        "timestamp": "2026-07-25T15:45:00.000Z",
        "open": "0.2386",
        "high": "0.2386",
        "low": "0.2386",
        "close": "0.2386",
        "volume": "25"
      },
      {
        "timestamp_ms": "1784993400000",
        "timestamp": "2026-07-25T15:30:00.000Z",
        "open": "0.2383",
        "high": "0.23831",
        "low": "0.2383",
        "close": "0.23831",
        "volume": "6063.50793715"
      },
      {
        "timestamp_ms": "1784992500000",
        "timestamp": "2026-07-25T15:15:00.000Z",
        "open": "0.2383",
        "high": "0.2383",
        "low": "0.2383",
        "close": "0.2383",
        "volume": "4613.22286488"
      },
      {
        "timestamp_ms": "1784991600000",
        "timestamp": "2026-07-25T15:00:00.000Z",
        "open": "0.23746",
        "high": "0.23767",
        "low": "0.23746",
        "close": "0.23758",
        "volume": "8438.26374754"
      },
      {
        "timestamp_ms": "1784990700000",
        "timestamp": "2026-07-25T14:45:00.000Z",
        "open": "0.23684",
        "high": "0.23742",
        "low": "0.23684",
        "close": "0.23742",
        "volume": "4555.23318326"
      },
      {
        "timestamp_ms": "1784989800000",
        "timestamp": "2026-07-25T14:30:00.000Z",
        "open": "0.23878",
        "high": "0.23878",
        "low": "0.23321",
        "close": "0.23684",
        "volume": "30722.26299805"
      },
      {
        "timestamp_ms": "1784988900000",
        "timestamp": "2026-07-25T14:15:00.000Z",
        "open": "0.23905",
        "high": "0.23905",
        "low": "0.23898",
        "close": "0.23902",
        "volume": "3779.77328778"
      },
      {
        "timestamp_ms": "1784988000000",
        "timestamp": "2026-07-25T14:00:00.000Z",
        "open": "0.23891",
        "high": "0.24006",
        "low": "0.23891",
        "close": "0.24006",
        "volume": "4577.11087001"
      },
      {
        "timestamp_ms": "1784987100000",
        "timestamp": "2026-07-25T13:45:00.000Z",
        "open": "0.24075",
        "high": "0.24075",
        "low": "0.238",
        "close": "0.23801",
        "volume": "26295.11986096"
      }
    ],
    "market_status": "trading",
    "base_asset": "TRAC",
    "quote_asset": "EUR",
    "minimum_order_base": "19.78495314",
    "minimum_order_quote": "5.00",
    "tick_size": "0.0000100",
    "quantity_decimals": 8,
    "notional_decimals": 2,
    "endpoints": [
      "/v2/TRAC-EUR/candles?interval=15m&limit=96",
      "/v2/markets?market=TRAC-EUR"
    ],
    "checked_at": "2026-07-27T02:04:14.727Z",
    "rate_limit": {
      "remaining": "999",
      "reset_at": "1785117900000",
      "limit": "1000"
    },
    "source": {
      "provider": "Bitvavo",
      "source_type": "public REST API",
      "authentication": "none",
      "endpoint": "/v2/TRAC-EUR/candles?interval=15m&limit=96",
      "endpoints": [
        "/v2/TRAC-EUR/candles?interval=15m&limit=96",
        "/v2/markets?market=TRAC-EUR"
      ],
      "route": "/candles",
      "checked_at": "2026-07-27T02:04:14.727Z"
    }
  },
  "live_route": "/live/candles/trac/15m",
  "bridge_build": "2026-07-25-chatgpt-crawl-fix-v1",
  "response_generated_at": "2026-07-27T02:04:14.839Z",
  "response_request_id": "b4a84183-fed5-437d-89c0-902c28f7b051"
}