OKX daily candle close time under the UTC+8 and UTC settings
Contents
- Daily candle start times under the three options
- Changing the candlestick time in the OKX app and on the web
- Turning the API's daily timestamps into Beijing time
- Why does one day show two different percentage changes?
- Turning on the candle countdown
- Downloaded OKX candle history splits days on Beijing time
Where a daily candle on an OKX chart starts and finishes depends on one setting, the one that controls both the price-change period and the candlestick time. Pick UTC+8 and each daily candle runs from midnight Beijing time to the following midnight, so the new candle starts at 16:00 UTC. Pick UTC and it runs from 8am Beijing time to 8am the next day, because midnight UTC is 8am in Beijing.
In the app, that setting sits under account settings and then preferences, reached from the grid menu in the top-left corner; on the web it's behind the trade settings icon on the right of the trading page. A third option, a 24-hour mode, is listed in the same place. Put OKX's two sets of BTC-USDT daily candles from its public API side by side and their opening timestamps are exactly 8 hours apart; for the same date, 27 September, one set gained 0.37% and the other only 0.05%.
Daily candle start times under the three options
| Setting | Daily candle opens (Beijing time) | Daily candle closes (Beijing time) | How it lines up with the calendar |
|---|---|---|---|
| UTC+8 | 00:00 | 00:00 the next day | Matches a calendar day on your phone |
| UTC | 08:00 | 08:00 the next day | Midnight to 8am belongs to the previous candle |
| 24-hour option | The help page doesn't say when it rolls over | Go by what the chart shows after you switch | |
UTC is Coordinated Universal Time. Beijing time runs 8 hours ahead of it, which is why it's written UTC+8. With UTC+8 selected, a day on the chart is the same as a day on the calendar. With UTC selected, the new candle doesn't start until 8am, so everything from midnight to 8am still counts toward the previous day's candle.
OKX's public market-data API happens to offer both kinds of daily candle: 1D with no suffix and 1Dutc with the utc suffix. In BTC-USDT data pulled on 28 September 2026, every 1D candle opened at midnight Beijing time and every 1Dutc candle opened at 8am; the conversion is worked through in the next section. Judging by when each new candle starts, the daily candles the chart draws under UTC+8 and under UTC should match these two sets respectively.
Either one works; the only difference is where the day gets cut. If you log trades by calendar date and want each daily candle's change to line up with a date, use UTC+8. If you're checking against material that splits the day on UTC, switch to UTC. Anything that accumulates from 00:00 UTC, such as a VWAP that restarts at UTC midnight, needs its day lined up with the chart's before you compare the two, or they'll be 8 hours apart.
Changing the candlestick time in the OKX app and on the web
App: grid menu in the top-left corner → account settings → preferences → the price-change period and candlestick time setting, then choose UTC+8, UTC or the 24-hour option.
Web: open a trading page, click the trade settings icon on the right → the same price-change period and candlestick time setting, and pick one of the same three.
The app has a second way in. On the candlestick chart page, tap the settings icon on the right and open the settings list there; it includes the same price-change period and candlestick time item, again with UTC+8, UTC and the 24-hour option. If the grid-menu route doesn't show the setting, use this one. Both app routes come from the OKX help centre article on candlestick chart FAQs and settings.
If you can't find it in either place, check that you're logged in first. That help page opens with a notice that its content may not apply to every user and that you need to log in to confirm whether it applies to you. If you only read charts on a computer, go straight to the setting under trade settings on the web.
Once it's changed, go back to the chart and switch the timeframe to daily; on the web trading page the timeframe bar runs from one second and one minute all the way up to one day. Click the latest daily candle and you'll see its time, open, high, low, close and other figures. Click it once before switching and once after, and compare the open: in the API data pulled on 28 September, that day's candle opened at 84,464.8 in 1D and at 84,479.1 in 1Dutc, and the 14.3 between them is the move from midnight to 8am Beijing time on the 28th.
Turning the API's daily timestamps into Beijing time
The two requests differ by a single parameter:
GET /api/v5/market/candles?instId=BTC-USDT&bar=1D&limit=3GET /api/v5/market/candles?instId=BTC-USDT&bar=1Dutc&limit=3
According to the field descriptions in the OKX API docs, each candle comes back as an array whose first value is the candle's opening time as a millisecond timestamp, followed by open, high, low and close. You can sanity-check that order as you go, because one candle's close and the next candle's open should sit right next to each other: in 1D, the 27 September candle closed at 84,464.7 and the 28 September candle opened at 84,464.8.
Here's 1790524800000, the latest 1D candle, converted:
- Drop the milliseconds: 1790524800000 ÷ 1000 = 1,790,524,800 seconds.
- A day is 86,400 seconds: 1,790,524,800 ÷ 86,400 = 20,723 days, with 57,600 seconds left over.
- Those 57,600 seconds ÷ 3,600 = 16 hours.
- Count 20,723 days on from 00:00 UTC on 1 January 1970 and you land on 27 September 2026, so this candle opened at 16:00 UTC on 27 September.
- Add 8 hours and that's 00:00 on 28 September, Beijing time.
The latest 1Dutc candle is 1790553600000. Subtract the figure above and the gap is 28,800,000 milliseconds, or 28,800 seconds, or 8 hours, so it opened at 00:00 UTC on 28 September, which is 08:00 Beijing time. Within each set, neighbouring timestamps are always 86,400,000 milliseconds apart, exactly 24 hours.
| API bar | Open timestamp (ms) | Opens at (Beijing time) | Open | Close |
|---|---|---|---|---|
| 1D | 1790352000000 | 26 Sep 00:00 | 83,800 | 84,156.2 |
| 1D | 1790438400000 | 27 Sep 00:00 | 84,156.3 | 84,464.7 |
| 1D | 1790524800000 | 28 Sep 00:00 | 84,464.8 | 82,970.5 (still forming) |
| 1Dutc | 1790380800000 | 26 Sep 08:00 | 84,099 | 84,439.9 |
| 1Dutc | 1790467200000 | 27 Sep 08:00 | 84,439.9 | 84,479 |
| 1Dutc | 1790553600000 | 28 Sep 08:00 | 84,479.1 | 82,951.3 (still forming) |
The two rows marked still forming hadn't finished when the data was pulled, so their close column shows the latest price at that moment, not a closing price.
Why does one day show two different percentage changes?
Take 27 September. Work out each candle's change from its own open and close, using (close − open) ÷ open:
1D, midnight on the 27th to midnight on the 28th, Beijing time: (84,464.7 − 84,156.3) ÷ 84,156.3 ≈ +0.37%1Dutc, 8am on the 27th to 8am on the 28th, Beijing time: (84,479 − 84,439.9) ÷ 84,439.9 ≈ +0.05%
The two candles overlap for 16 hours, so the difference comes from the ends. 1D takes in midnight to 8am on the 27th, and in those 8 hours the price went from 84,156.3 to 84,439.9, up 283.6, which is more than 90% of the day's 308.4 gain. 1Dutc hands those 8 hours to the 26 September candle and takes in midnight to 8am on the 28th instead, when the price went from 84,464.8 to around 84,479, a rise of only about 14.
On 26 September the two come out close: 1D is (84,156.2 − 83,800) ÷ 83,800 ≈ +0.43% and 1Dutc is (84,439.9 − 84,099) ÷ 84,099 ≈ +0.41%. The more the price moves in those early 8 hours, the further apart the two daily candles end up; when it barely moves, they come out much the same.
It isn't only one candle's change that shifts. A different set of daily closes means every indicator built from closing prices shifts too: the 5-day moving average is the mean of the last five daily closes, so two different sets of five closes put the line in two different places. For how to read the averages themselves, see our note on moving averages and the golden/death cross. When you compare screenshots with someone, or how much a particular day was up, ask first which candlestick time they have selected.
Cutting daily candles at midnight or at 8am only changes how the same stretch of price is divided into candles; it can't tell you whether the next move is up or down. Say you buy or sell on a daily close above the moving average: switch the candlestick time and that day's close and the average both turn into different numbers, and the signal may flip. Crypto prices swing hard, and with futures and leverage losses are multiplied and can wipe out your entire stake. This site covers chart-reading basics only; nothing here is investment advice.
Turning on the candle countdown
In the app, on the candlestick chart page, tap the settings icon on the right, open the display options and switch on the countdown. The help page describes it as showing how much time is left in the current candle period. With the timeframe on daily, it's counting down to the close of the current daily candle.
On UTC, that candle doesn't close until 8am Beijing time; on UTC+8 it closes at midnight. After changing the setting, glance at the time left on the countdown and check it against your own count of how long it is until midnight or 8am, and you'll know which cut the chart is using.
Downloaded OKX candle history splits days on Beijing time
The files follow Beijing time. Below its instructions for downloading candlestick data, the OKX help centre adds a note that each day's file covers 00:00 to 23:59 in UTC+8. The same note says a day's trade history, candlestick and funding-rate history data only become available to download two days later.
Downloads are web-only. Scroll to the bottom of the OKX homepage, go to services, then historical market data, then candlestick data, and click through to the download; then choose the trading type, how the time is split, the trading pair and the time range. The historical market data page states that candlestick data can be downloaded as OHLC data going back to July 2023.
If your chart is on UTC+8, one file is exactly one day on the chart. If it's on UTC, your daily candle runs from 08:00 Beijing time to 08:00 the next day, so you have to splice two files together: the last 16 hours of that day's file plus the first 8 hours of the next day's.
Sources: OKX help centre article on candlestick chart FAQs and settings; OKX historical market data page; OKX public market-data candles endpoint (BTC-USDT, bar=1D and bar=1Dutc, latest 3 candles each, data pulled on 28 September 2026); the timeframe bar on the OKX BTC/USDT spot trading page. Timestamp conversions and percentage changes are calculated from the API data using the formulas above, with percentages rounded to two decimal places.
More on candlestick time
What is the 24-hour option for?
It sits alongside UTC+8 and UTC in the price-change period and candlestick time setting, and the help page says all three options are for adjusting the price-change period and the candlestick time. It doesn't go on to say when the 24-hour option starts a new candle or how it works out the change. If you want to use it, switch to it, click the latest daily candle to check its time and open, then compare that with the countdown.
Can the price-change period and the candlestick time be set separately?
Not within the price-change period and candlestick time setting: whichever option you pick adjusts both together. The trending list on the app's home screen has a separate filter. Tap the arrow on the right, then the filter icon, and you can filter by quote currency or by time range. That time range only filters the trending list.