How an Apple Watch knows you got into cold water
Contrast starts a round when the Apple Watch water temperature sensor reports water at or below 20 °C or at or above 33 °C — but only once the sensor's own uncertainty drops below 1.5 °C, and only after three consecutive readings agree. Between 20 and 33 °C is a deliberate dead zone that holds whatever round is already running.
A timer you have to start with wet hands, in a room where the screen fogs, is a timer that gets started four times out of ten. Contrast takes the starting away from you and gives it to the water. What follows is exactly how that works, including the parts where it declines to guess.
What the sensor actually reports
The Apple Watch water temperature sensor gives an app two things: a temperature, and an uncertainty figure for that temperature. Contrast reads both, and the second one does more work than the first.
The sensor lives in Apple Watch Ultra, any generation, and in Series 10 and later. On every other Apple Watch the app works identically except that you pick each round yourself, which takes one tap on a button sized for a cold, wet finger.
Alongside temperature, Core Motion reports a submersion state — not submerged, shallow, deep, approaching maximum depth, past maximum depth — and Contrast flattens that into a single ladder it can compare. Submersion is what opens a round. Temperature is what decides which kind of round it is.
Gate one: the reading has to settle
Your watch has been on your wrist. Its case is somewhere near skin temperature when it hits the water, and it takes several seconds to equalise. During those seconds the sensor is honestly reporting what it feels, which is the case rather than the bath.
Contrast ignores every reading until the uncertainty the sensor reports drops below 1.5 °C. Until then the watch shows a phase colour that breathes between 25% and 75% opacity — a pulsing screen, which is how the app says this number is not trustworthy yet without spending a word on it.
If a round is already committed when a reading goes uncertain, the app holds that round rather than yanking the display back to “reading” mid-soak. It drops the candidate, though, so a half-finished run of agreeing samples cannot complete itself later once the sensor settles.
Gate two: clearly hot, or clearly cold
Water at or below 20 °C classifies as cold. Water at or above 33 °C classifies as heat. Between the two is a dead zone, and the dead zone is the interesting part.
The reasoning in the source is blunt: real contrast therapy leaves a huge gap between the two states, so there is no reason to make a fine-grained call. An ice barrel runs somewhere between 2 and 13 °C. A hot bath runs 38 to 42 °C. Nothing anyone does on purpose sits at 26 °C, so a classifier that tried to rule on 26 °C would be inventing an answer to a question nobody asked.
A reading inside the dead zone holds whatever phase is already committed and starts nothing new. Both thresholds are yours to change in Settings — a cool-water swimmer in 22 °C water can move the cold ceiling up and get exactly what they expect.
Gate three: three samples have to agree
A single reading never changes anything. A phase change commits only after three consecutive readings agree on the new phase.
This is the gate that stops the obvious failure. You are sitting in a 40 °C bath and you drop a hand in the ice bucket beside it; the wrist stays warm, but a stray reading could still arrive. Three in a row will not.
The cost is a short delay at the start of a genuine transition, which is why the round’s start time is taken from the submersion event rather than from the moment the classifier makes up its mind. The detection is late; the record is not.
What cannot be detected, and why
Four modalities exist in the app: sauna, bath, plunge and shower. Only two of them can ever be sensed.
| Modality | Detected? | Why |
|---|---|---|
| Plunge | Yes | Submerges the wrist in cold water |
| Bath | Yes | Submerges the wrist in hot water |
| Sauna | No | Dry heat; nothing for a water sensor to read |
| Shower | No | Water hits the wrist but never submerges it |
A shower is the one that surprises people. There is plenty of water involved, and it is plainly hot or cold, but the sensor needs submersion rather than wetness. So a shower round is one you declare, the same as a sauna.
When the sensor does classify a round, it implies the modality: cold means plunge, heat means bath. If you were in a cold shower rather than a plunge, changing it takes one tap in the Switch sheet, and the change propagates to the analysis.
Water Lock, and the one control
Getting into water turns Water Lock on, so the splash that would otherwise tap three buttons does nothing. That has a consequence for the design: while you are in the water you cannot easily use the screen, which means anything the app needs from you has to wait until you are out.
Page one of a running session carries the round clock, your heart rate with the round’s average, the water reading, and a single control labelled Switch. On the larger cases it is 52 points tall. One target, no precision required, nothing to read first.
What happens when you climb out
Lifting your wrist out of the water starts a 30-second countdown and the question out of water? on the watch. Two answers: I’m out, which closes the round, and still in, which cancels the prompt.
The round closes at the moment you actually left the water, not at the moment you answered. That distinction matters more than it sounds, because the common case is that nobody answers at all — you climb out, towel off, and forget the watch entirely. Contrast handles that by ending the session by itself after five minutes of rest and back-dating the end to when you stopped.
The honest limits
The sensor is specified to 40 °C. A 43 °C bath is above that, and the app’s own metric documentation says readings up there are less certain. It still records them; it just does not pretend they are as good.
An arm out of the water reads nothing, which is worth knowing if you plunge with your arms up on the rim. And cold water makes wrist-based heart rate patchy — vasoconstriction moves blood away from the skin, which is exactly where an optical sensor is looking — so a single plunge’s heart rate trace can have gaps in it. That is a property of the hardware rather than of this app, and it is why the adaptation metrics compare your first three plunges against your latest three rather than reading anything into one.

Common questions
Which Apple Watch models detect rounds automatically?
Any model with a water temperature sensor: Apple Watch Ultra of any generation, and Series 10 and later. Other models work with each round picked by hand.
Why does the watch say “reading” for the first few seconds?
The watch case starts near body temperature and takes several seconds to equalise with the water. Until the sensor's reported uncertainty falls below 1.5 °C, the number on screen describes the case rather than the bath, so Contrast will not commit a phase from it.
What happens if my bath is 28 °C?
Nothing changes. 20 to 33 °C is a dead zone: it holds whichever phase is already committed and starts nothing new. Both thresholds are adjustable in Settings if your water genuinely sits in that range.
Can it detect a sauna?
No. A sauna never submerges your wrist, so there is nothing for a water sensor to read. Sauna and shower rounds are always picked by hand.