Witness Uptime Monitoring
This is a little service that submits the following checkpoint to a witness
geomys.org/witness/test-log
1
BCml5C32yqMcl0gjTrcSOeNVx59oPnSdytBzDGBO5k0=
— geomys.org/witness/test-log wHh/9BPsoBNr2x0Ol3qPBYasIN0HI2ZiBg5ac0v3LQq/7F+YO7U4oWbDeJn1VaWVrlbSEM30Gr7WWYQjj2SBxRoJ/Ao=
and checks that the witness responds with a fresh, valid signature.
The witness can be configured with the following log list
https://uptime.geomys.org/witness/log-list
or directly with this log vkey
geomys.org/witness/test-log+c0787ff4+AeMb5VOzy60PTGdGmLPxOKGAa0jNyDGsgv2rnprGju1t
so it will accept the checkpoint.
To run a check, request /witness/add-checkpoint/ followed by the witness vkey, e.g.
https://uptime.geomys.org/witness/add-checkpoint/witness.navigli.sunlight.geomys.org+a3e00fe2+BNy/co4C1Hn1p+INwJrfUlgz7W55dSZReusH/GhUhJ/G
The vkey name must be the submission prefix of the witness.
Since ML-DSA vkeys are too long for some uptime monitoring services, the witness can also be referenced by just its name and key hash, e.g.
https://uptime.geomys.org/witness/add-checkpoint/witness.navigli.sunlight.geomys.org+6bc44249
If the key is one of the known vkeys listed below, the signature is verified and the response is
witness signature valid, timestamp 1757980800
Otherwise, the response is only checked for a fresh cosignature by that key name and hash, without verifying it, and the response is
witness signature present but NOT verified (unknown key), timestamp 1757980800
The known vkeys are
witness.navigli.sunlight.geomys.org+6bc44249+BvKbJzZZb2L5kdgqACS68/hxJoQQ88Zhp7esVL81HYRPQAurY9cfky201kuNm1oSO71BiNPWC8oNHunBo/PnRD/eWIuu/ZPIsiG0Cq9xg8dJsoKuQGXJ2Hu1QLBoyFWUFWAtmURCRi5bXFYJjVy4fFFh5ClS477HTy7av3C6VvnOdYTH1jISdXyIblBTWkQEq24gMc2JZKiS5YleWbXjlVuDKaU3yQjDhyWTd8AZuCvrcC9rE8wOZ7etpkAEf2pPINQ4LnMEHCWTuEE5NZwGWwqcekXvNQvv1jjfWQkhSzXbFvbLmifpWxRFrHn9OSEPGfaCksRUvKoTZzOrIPuFAhAraDIXX0DLwc7xY9hcg2lGpCaDoOXoyAS6m4wGiqerd0kLjFitkgJ7A/tpIcO+m255eyWnZwrevWaFgx+xwN7OjdJTlGMK9Qgd7QJW1Qilmt/h1SqZGpithCfje+/MiUea2eyTKbPBCf5c206/5Axu789uL1v22XZRO5tfDPLpU5lTPYdD0dt9M4I02G/2mHsZ43dbcsSYe0i+oM6GgIV0CoTx833GJMCjOOZbo3Qmlxwf3QFhkwGtc/db16iDfCW0U2NINxuSyDGahEIudOyNldfh+oe3tLyICiNGF3kGRQ1MRLD+e6AakJsjat9wMgjORHWx1rE7r14wCZtxFkSjOjSMpN8DiBXtGySSnWv2jKWnYnLPYhdqTJMEAZLLtd5Elaq+DukrJfmR5Jx348lx0E8AjALfg1oYQSCBKYlUN7h4kJhZhYGu6ahVPp1OBlA+DuBfoMtE6IiTfm11LseSOyNOtNTFe5V508Dw/APhoKuxy0mTAmEDmPnXTBvHhX1PVhl1qHTmfNhpukzxBRPKzsVN7y/FuJuqrX208k7SihRJGtDsXkQK/cFzTmSGvyHEKK+IHoKFpRK0dxEV6muqPJEEzehwZrJ7Rz0ZfkjuKVCiP98md+yD+r7GD2BjIb3IEzhrsbf5Ak7f5NImP4UoL6vy48ZfwmEo6tvn6StSVd912GYobRKHzboTBhUIn8c93VIX7PAQ64exm4l9wUBr3KMzHuykTW9m7C1xw1+Oqf3PGWN9rLHXNMPaR08xnImkTd+W74ls1sHH1CzJiNJB5QZg44zCajgL131L9G62AuTth/zJeGovddDU1m7N3i+e2Qz/omDKILlfUtcwPyyWeSvW/XX0ECFp/o9cDh/l6S5mcaT2Mtiiyn+owXl4Mx85Yppi2ZvVpZudLyhM0AGeoDdRRlfdeaJsvfC7pzBKzbj/1CKs7Ts962kvpCoDyZ5rMBK5PhFLvNXhl9ntKSTIAqUoM3vPgouzrA57Y9G5cWEJ741G4siABCFedWcDKT5zXKO682fncspp2MLjGCqNEWbSRRJ957q/W5mUyI1sDiXsKaaxGq0Xg86qu1AaEd7EBgOLj3i762ANsbZqtButkOdGD+MVeELpgNiOttWPW6Xq0ERM5NcJgezQJghy+y7IKf6zqrud4Ql6pklvjTuzCeLVsfpWQsqfgF4W0ZADldLfPCJIDBby1sxjh32i6hIp2R7QC6Mp87k9PAa5fiFDOqJXqDtGLxKPKu6UPdvbJHfHx4M37F6mfQnst4Bkjgf0kLGkW9isZ7bnids+QclIgfKFjZ5mD+ekGKo835+G44y7zAauKZzj8nBiNMSYwdAEMn6TYHciHn1VyetNEtzSMHInsV30TOnahKfkNgvAuNCuxrIyNvFHCw9t3vRr/J0=
witness-golf.sunlight.geomys.org+285a8d9f+BmXb1ItjzDOpqzbdlBDvu5HD+lM3cZMMdPpnBsskhj99lnA4KDncLD5ck/YXkOgNjani4pFnX4PFKtM5WefU/+3TQv4qyOpXtUVLsExml5qdmiqwaMYb7Oz8WPntgJ+PWLECCOQWhMdgvj50O2MdbaSHZI74MrE2ARVcxalUf16awdvwZD8qLVgZATxMP56NtEmbRmRIHrakSzHLL93iM1RElqjoBW7njk6sBgUpHrY6ljMXRvrL2rLBlZj7zZ6pz6NoKR5fYhw63YAPLTBwf4m2YarWtcPZ7gNHN/4n9I5LheySxcu47cKsOdzKCIsa9+sXbZUEbKW1CBu8Tl3nd/MuPKC/5F3zccaUFURZlqgnS1PKOqeCc1xuXnnUOmulYJbMPosYMmSuxqbuO56q+haO4ZsYYlBeeslN73EoKW2iF7CDxtQCWwBrnKn2WZxf5/3EVTweL4kYXZ+G4DmJkfGHlyUJj/dJRi0V1rj/F8sFLwZNRc/LoNBqhY+CJw5+KdItNVBM3RTNQFoGwAa9oTFAIfBJA2qjlJQ1L1NxxfD1G6MwUvOkDeZpghyVU1fDiyeKdsfxtWBlOeJYd64v2el/Z2CqegQaiWTw5rbWz7EPxNs0f/z2Qg7V8x9warJW7o0ta1YR4MvIUKJy2aIy3kE/94qBF2ai95j9wkazIPxZJjBVjKz+mHGsRw5yH6zC22xD4NLulD9IBWGsbpPL5WGLfVdcYyjelLLdFcwNogAwr25bQHRrW51WCdfxfJp0XubgaXKhV92LyQ5YEwe7YDMi+aOZBaI73Y6Tg7oxsXRTyUBUR6vU0vtkfrWI1PkI35sdK7bDBbZNsPQ0tbtM4MhJIcwUzv8sPnrZMpu7w+LVgvAxhIbd49ITjRz0JA8NomcHX0zCvES/hVtAZmQoH2K4cYTrCX9wbg9jx9Vz02cX5szL6UIf6W0fOI4h8cjTsI1lw/U9rDJxmIfVIatkvLkmJHqzOBfDFe7nY7ASrnMTqr3Ei08eiRVvLgLkqgWyekb1x4GnaOE1OrumCrP1b9dPDQF9XUPZWHRqq4S0lhlGVs0FnykXTRxxF0tF2NrR+66J9z4HFX5PX+4MiwmX/E0Bs6TM8Yr2/loVF4ipzXsKkDI1wfid5i8Xx3PRBtbhFUQ87Oytjyu5L1cdXbhy/iDFBUN5bJ2WEubbKm6f35NAuXdW355B2p6iksgqacARu25vTHDIL26AVT80J18CrJ0Loq1Q3IYIPGWSlS5Eg2mOM2M4JGIPPJEv0+QJ/t+y5+hrjlJNiDbdwtJIUIMv/Gk+NQb2arRahhDzrraqG7VK7yme6B3u3CeNwyrgrfbQXSE4Ikq8HevZcUKuwHWJmeHdjxB1fDVWzDYJoXzLxiXL95iE9esi65I/eFaeL43Rw6Uxu0draErdZTuLnMbRKDw0U4rab5oJIf/AboJmeu7xLCAXP0I9c++S8Ko0djwdsJHRovP9pbRA0zC/Q1Km9gaG5tuzmn+CAH0FuK0Egpx6sIXNpC/hMFDz2Oq/F6mqtxel6DYDfoA6Eim3jqfjtDQfrpCPVrbiA4Cj/zuI2Alb5EJDnWWXY8eunVAJz+P9h0F4ththRna1mvpmh7k00R7UzKfcZdClh9nE65T21RUloSfwV6k/A3Gz7+uUKMr8f6tjfi66DOSxZAsquwG7yoiaGxY7dP3o8bZeXQLcXq3bvO9/LtS6PshWNi/WQX40rAWLTKU1XbjtibbqwudbB6k=
To add a key to the list, open a pull request.
We recommend setting up alerting such that the endpoint is checked from multiple locations, and you are only alerted if all locations hit 503s for more than 15 minutes.
There is also a CT uptime monitoring service at https://uptime.geomys.org/ct/.