ntp01.roko.network
time.roko.network
Access the ROKO public time network.
Use ntp01.roko.network for standard NTP clients, or
join ROKO PTP² as a node-level observer when you want to contribute
authenticated clock measurements to the temporal mesh.
Public NTP
Protocol endpoint.
Standard NTP clients should use ntp01.roko.network on
UDP/123. Treat it as one permitted source, not the only source, for
systems that need resilient time.
NTPv4 over UDP/123.
Use with other independent sources when possible.
time.roko.network is this setup site.
Recommended Linux baseline
Chrony is the preferred client for servers and edge nodes.
Use ROKO NTP with several other independent sources. Do not mix leap-smeared and non-smeared sources unless you understand the operational impact.
sudo tee /etc/chrony/sources.d/roko.sources >/dev/null <<'CONF'
server ntp01.roko.network iburst
pool pool.ntp.org iburst maxsources 3
minsources 2
makestep 0.1 3
rtcsync
CONF
sudo systemctl restart chrony
chronyc waitsync 60 0.01
chronyc sources -v
chronyc tracking
Client setup
Configure by platform.
Platform support differs. Desktops and servers normally allow a custom NTP source. Many consumer mobile builds do not expose a supported custom NTP setting without device management, vendor controls, or local-network indirection.
macOS can use a custom time server. iPhone and iPad are managed differently.
macOS
sudo systemsetup -setnetworktimeserver ntp01.roko.network
sudo systemsetup -setusingnetworktime on
sntp ntp01.roko.network
iPhone / iPad
iOS and iPadOS generally use Apple-managed network time and do not expose a normal per-user NTP server field. For managed fleets, use MDM or network policy if your Apple deployment supports it. For home privacy, configure a router or local edge time gateway rather than expecting a device UI field.
Use Windows Time Service.
w32tm /config /manualpeerlist:"ntp01.roko.network,0x8" /syncfromflags:manual /update
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status
Use Chrony for servers, workstations, and edge nodes.
Ubuntu / Debian
sudo apt update
sudo apt install chrony
sudo tee /etc/chrony/sources.d/roko.sources >/dev/null <<'CONF'
server ntp01.roko.network iburst
pool pool.ntp.org iburst maxsources 3
CONF
sudo systemctl restart chrony
chronyc tracking
RHEL / Fedora / Rocky / Alma
sudo dnf install chrony
sudo systemctl enable --now chronyd
sudo tee /etc/chrony.d/roko.sources >/dev/null <<'CONF'
server ntp01.roko.network iburst
pool 2.rhel.pool.ntp.org iburst maxsources 3
CONF
sudo systemctl restart chronyd
chronyc sources -v
Generic systemd-timesyncd fallback
sudo mkdir -p /etc/systemd/timesyncd.conf.d
sudo tee /etc/systemd/timesyncd.conf.d/roko.conf >/dev/null <<'CONF'
[Time]
NTP=ntp01.roko.network
FallbackNTP=pool.ntp.org
CONF
sudo systemctl restart systemd-timesyncd
timedatectl timesync-status
Consumer Android rarely exposes NTP, but advanced paths exist.
Stock Android devices usually do not expose a supported custom NTP server field in normal settings. Some root-enabled apps, AOSP-derived builds, vendor ROMs, and enterprise device-owner deployments can adjust the time source, but behavior is device-specific and may be ignored by the vendor time stack.
Advanced / device-dependent
adb shell settings get global ntp_server
adb shell settings put global ntp_server ntp01.roko.network
Treat ADB and app-based methods as advanced options, not a universal Android setup path. For most home privacy users, the reliable approach is to configure a router, local DNS policy, or ROKO edge node/time gateway on the LAN.
Use the device NTP field.
If your router, NAS, firewall, or appliance exposes NTP servers,
add ntp01.roko.network as one source. Avoid
aggressive polling and keep vendor defaults or independent
fallbacks where appropriate.
ROKO PTP²
PTP² is a ROKO node protocol, not ordinary NTP and not IEEE 1588 PTP.
ROKO PTP² is carried by the ROKO libp2p protocol
/roko/timesync/1. It does not use UDP/319 or UDP/320.
Joining PTP² does not discipline your host clock; Chrony handles
host clock discipline. PTP² lets a synced ROKO node advertise
authenticated clock measurements to the temporal mesh.
Disciplines an operating-system clock through standard time clients.
Compares sources, filters time, and steers the local system clock.
ROKO libp2p mesh measurement by a full node or observer identity.
Application-facing queries for consensus time and block temporal data.
White-glove PTP² observer path
Let the guided installer sequence clock, node, key, and verification.
Choose the observer role. The installer prepares a
synced non-authoring node, interactively inserts exactly one
dedicated ptp2 key, and verifies the result. It remains
excluded from validator authority unless separately enrolled.
Chrony is appropriate for bootstrap, testnet evaluation, and edge observers. Timebeat is ROKO Network's endorsed official timing partner; validator operators targeting the maximum payout tier must use a licensed Timebeat profile and join the Timebeat PTP² Mesh, subject to current program rules and measured performance.
Open the guided walkthroughgit clone https://github.com/Roko-Network/roko-edge-tools.git
cd roko-edge-tools
./bin/roko-guided-install --time-stack chrony --dry-run
./bin/roko-guided-install --time-stack chrony
# Select "observer" when the installer asks for the role.
Verification
Do not assume time is healthy. Measure it.
NTP reach
chronyc sources -vw32tm /query /statusClock health
chronyc trackingtimedatectl timesync-statusPTP² mesh
temporal_getMeshStatetemporal_getConsensusTimeSafety
Respect rate limits, avoid false local clocks, and keep independent fallback sources.
Edge helper tools
Use a small toolkit for local checks.
Edge-node runners can use the public helper scripts to check local RPC, Chrony health, service state, disk usage, listeners, and produce sanitized reports.
Open helper toolsgit clone https://github.com/Roko-Network/roko-edge-tools.git
cd roko-edge-tools
./bin/roko-time-health
./bin/roko-rpc-health --rpc http://127.0.0.1:9944
./bin/roko-edge-doctor