Stake Pool (Server) Time Synchronisation with Chrony

Server time synchronisation is important for Cardano Stake Pools as systems need to be able to produce their blocks at the exact right times to avoid getting them rejected by the network.

I made a video on server time synchronisation if anyone is interested - it uses Chris Graffagnino’s node setup guide from the ITN:


Nice work. I use this as well


Chris updated this repo shortly after I posted the video, he no longer uses “prefer” for Google! I think both the old and new versions are fine, as long as the max error is under 10 ms


I’ll add my strong encouragement of using chrony for proper time syncing. I also encourage those with network hardware capable of it, to run a local time server that is NOT a server, but instead an infrastructure device,such as a perimeter router or firewall. I run NTP service on the internal interface of the firewall (LAN side, not WAN side), and then all local hosts of all kinds (servers, clients, IoT devices, etc.) all point to that internal interface for NTP syncing. In the case of the ADA nodes, or any other Ubuntu servers, they use chrony to hit that server. My firewall cluster has about a 2-year uptime at present, so again, it’s the ideal device to run the actual NTP service on, not servers/hosts/etc. Having everything syncing off a local source that is in turn syncing to global trusted stratum servers has its major advantages. Just food for thought gang. Hope that helps.

1 Like