<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "BitcoinKernel",
  "identifier" : "/documentation/BitcoinKernel/SynchronizationState",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "BitcoinKernel"
    ],
    "preciseIdentifier" : "s:13BitcoinKernel20SynchronizationStateO"
  },
  "title" : "SynchronizationState"
}
-->

# SynchronizationState

Kernel-internal synchronization phase, passed to
[`blockTip`](/documentation/BitcoinKernel/NotificationCallbacks/blockTip) and
[`headerTip`](/documentation/BitcoinKernel/NotificationCallbacks/headerTip) on every tip update.

```
enum SynchronizationState
```

## Overview

Lets observers distinguish “we’re still catching up” events (when
tip updates should not trigger user-visible notifications) from
steady-state events.

> Important: This is **distinct from** ``doc://BitcoinKernel/documentation/BitcoinKernel/BlockchainSync/Update/State-swift.enum``
> — they solve different problems. `SynchronizationState` is the
> kernel’s internal IBD-or-not flag (relevant to notification callback
> consumers); `BlockchainSync.Update.State` is the sync engine’s own
> lifecycle enum (relevant to sync-sequence consumers).

Maps to `btck_SynchronizationState` constants in the kernel C API.