Status
The last 90 days. Green is a day with no recorded incident; amber is degraded; red is down. Every incident below the strip has a written note, and the build fails if one does not — a status page that can quietly drop a bad day is a status page that will.
What is not working right now
Small things can fail without taking the site down, and when they do a page can be short of something without saying so. These are the ones that have failed recently:
- A price move too large to believe was withheld rather than published.
- Exchange status may be out of date.
- The live band may be behind, or missing entries.
Checked 2026-10-07T12:50:00Z, over the last 3 hours.
Incidents
The wire wrote no ledger row for 38 minutes (stage 'budget')
2026-10-07 · 38 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 47 minutes (stage 'budget')
2026-10-06 · 47 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 107 minutes (stage 'budget')
2026-10-06 · 1h 47m · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 44 minutes (stage 'budget')
2026-10-06 · 44 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 46 minutes (stage 'budget')
2026-10-03 · 46 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 39 minutes (stage 'budget')
2026-10-03 · 39 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 65 minutes (stage 'budget')
2026-10-02 · 65 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 57 minutes (stage 'budget')
2026-09-29 · 57 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 31 minutes (stage 'budget')
2026-09-28 · 31 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 37 minutes (stage 'budget')
2026-09-28 · 37 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 39 minutes (stage 'budget')
2026-09-28 · 39 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 44 minutes (stage 'budget')
2026-09-28 · 44 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 31 minutes (stage 'budget')
2026-09-25 · 31 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 31 minutes (stage 'budget')
2026-09-24 · 31 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 48 minutes (stage 'budget')
2026-09-22 · 48 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 37 minutes (stage 'budget')
2026-09-21 · 37 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 67 minutes (stage 'budget')
2026-09-20 · 67 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
A disk cleanup deleted two folders the publisher needed, and it stopped starting
2026-09-12 · 7h 05m · down
Nothing new was published here for just over seven hours, from 22:45 on the 12th until 05:50 on the 13th. The site stayed up the whole time and served everything it already had, so from outside it looked like a very quiet night rather than a fault — but every timestamp on it was frozen at 22:40, and a reader who came looking for the morning's news found the previous evening's. This one was our fault, and it is the first outage here that was. The three before it were a stuck working copy, a broken comparison, and a source that stopped answering us. This was a housekeeping job: the server was filling up, we cleared out caches to make room, and two of the folders we cleared were ones the publishing job is required to be able to write to before it is allowed to start at all. With them missing, every attempt died in about six milliseconds — before a single line of our own code ran. That last detail is why it lasted all night rather than ten minutes. Because none of our code ran, none of our own alarms could fire: the warnings, the counters and the record of failures are all written BY the publishing run, and there was no run. The outside monitor that watches for silence did work, exactly as it should, and raised the alarm ten minutes in. It sent an email. The email arrived at midnight and was read at twenty to seven. The gap between those two times is the outage. Two things have changed. The alert now goes somewhere that interrupts rather than somewhere that waits. And this page very nearly did not carry this entry: the system that records our outages automatically reads a file that the publishing run writes when it recovers, so an outage in which the run never starts leaves nothing behind for it to find. It recorded nothing. This entry was written by hand, and the fact that it had to be is the more useful half of what went wrong.
The wire wrote no ledger row for 402 minutes (stage 'budget')
2026-09-08 · 6h 42m · down
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 31 minutes (stage 'budget')
2026-09-07 · 31 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 43 minutes (stage 'budget')
2026-09-04 · 43 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
The wire wrote no ledger row for 54 minutes (stage 'budget')
2026-09-03 · 54 min · degraded
This outage has not been written up yet. It was recorded automatically by the wire when it recovered; the account of it is still owed.
Publishing ran at half speed for 49 minutes
2026-09-01 · 49 min · degraded
For 49 minutes every round of publishing stopped at the deadline it sets for itself, instead of about one round in ten. Every round still finished and went out: the site was updated throughout and nothing was lost. What makes this window different from the ordinary ones is that we caused it. A release at 13:07 corrected a check that had been wrongly refusing to update one story since 24 August. With the refusal gone that story was rebuilt — and then rebuilt again on every round afterwards, because the time printed on its card was taken from the clock of the run that drew it rather than from the story's own. Every round therefore redrew a picture, rewrote a file and published a change nobody had made, and that extra work was enough to push rounds that normally finish inside the deadline past it, seven in a row. The self-referring stamp was fixed at 13:45; the next round finished inside its deadline and rounds have run at their usual mix since. The wording the wire generated for this window is wrong in the same way it was on 26 and 28 August — it says no record was written when a record was written for every one of these rounds, roughly every six minutes throughout. That generated wording is kept unedited in our own record and the heading above is the plain-English one. Two things are worth keeping. A release that only removes a refusal still adds work, and on a machine this small that can be the difference between finishing inside the deadline and not — “it only stops something being skipped” is not the same as “it costs nothing”. And the check that should have caught the self-referring stamp rebuilt the same story twice in the same second, so a value that only changes when the minute does was invisible to it. It asserts the value now rather than racing the clock.
We published a wrong gold price for 35 minutes
2026-09-01 · 35 min · degraded
For 35 minutes this site showed gold at $4,079 when it was trading at about $4,500, and the front page carried a line reading “Gold is down 9.57% over 24 hours”. Neither was true. One of the feeds we read for commodity prices answered with the wrong futures contract — one whose own last trade had been on 26 June, more than two months earlier — and reported it as a live quote in an open market. We recorded that price as a reading taken at the moment we asked for it, because our records stamp a price with the time we fetched it and not with the time it was struck. Nothing we had already recorded was lost and no story carried the wrong figure — the crypto prices on the front page come from a different source that never stopped. What was lost is the half hour itself: we have no gold price for it, because what we were handed was not one. The seven wrong readings have been withdrawn from the record and are kept in full where anyone can check them, and the half hour they covered is now marked as a hole rather than as prices. A quote whose own last trade is more than a week old is now refused outright and the refusal recorded. Two things failed in judgement and the second is worse than the first. We had a guard against exactly this — a bar that refuses to publish a move too large to be real — and there turned out to be two separate pieces of code that work out a day's price move, only one of which asks that guard, and the front page uses the other. And the first written account of this incident said the guard had held. It had not been consulted. Checking that one path refused something and concluding the site was protected is the mistake, and it is on the record here because a post-mortem that reports a guard working when it did not is worse than no post-mortem at all. Making one piece of code the only author of a price move is the next piece of work.
Publishing ran at half speed for 33 minutes
2026-08-30 · 33 min · degraded
Five rounds in a row stopped at the wire's own deadline over 33 minutes, and all five published. Publishing ran at roughly half its usual pace and nothing was lost. This one is worth keeping for a disagreement inside our own system rather than for its effect on the site, which was small. Two parts of it take opposite views of what happened here: one treats a round that stops at a deadline it set for itself and still publishes as a success, and the other counts it as a failure, accumulates a window and eventually files an incident on this page. Nothing needs fixing urgently — the wire published throughout all three of these windows. What needs deciding is which of the two views is right, because as things stand a busy hour on a small machine files an outage that did not happen and holds up a release until somebody writes this paragraph. That decision has not been made, and this note is not it.
The price record had a 46-hour hole and nothing said so
2026-08-28 · 46h 16m · degraded
The detailed price record stopped on the evening of the 28th and nothing said so for two days. A routine reinstall on the server moved the ground out from under the process that writes it: the process went on running and every write it attempted failed. 537 price readings and 251 on-chain events were never recorded, and the intraday record fell from 4,437 rows on the 28th to 51 on the 30th. Almost nothing on the site looked wrong — the crypto figures on the front page come from a different source that never stopped, and the only surface anywhere that told the truth was the 'stale' badge on the Bitcoin market page. No story carried a wrong figure: the checks that read this record correctly returned nothing rather than something invented. Every one of those failed writes was counted from the first minute and nobody read the count, and that is what actually failed. Nothing has been backfilled and nothing will be. A reading nobody took is a hole in the record, and the record now says where its holes are instead of closing over them.
Publishing ran at half speed for 43 minutes
2026-08-28 · 43 min · degraded
The same thing as two days earlier and this time the detail survives: for 43 minutes the wire published about every six minutes instead of every three and a half. Every round finished and went out. Eight stories were written across the whole window, roughly one per round, so this was not a backlog of unwritten copy waiting to be cleared. The slow part is building the site itself, which is redrawn in full in all eight languages every time, and six of these seven rounds were interrupted in the middle of doing exactly that. That is the ordinary shape of it rather than this window's peculiarity: of the slow rounds whose detail we still hold, five in six were interrupted building the site and one in ten waiting on something outside. Nothing was lost. The generated heading is wrong here for the same reason it is wrong on the 26th, and is kept unedited for the same reason.
Publishing ran at half speed for 78 minutes
2026-08-26 · 78 min · degraded
For 78 minutes the wire ran slower than it should have, publishing about every six minutes instead of every three and a half. Every round still finished and went out: the site was updated throughout, and a page the interrupted work had not reached kept the previous round's copy for one more cycle. Nothing was lost and nobody was served a half-built site — publication is refused outright when the site is incomplete, and it was not refused once here. The cause is capacity rather than a fault. This machine finishes an ordinary round comfortably inside its own deadline and a heavier-than-usual one spills past it; about one round in forty ends this way. This window was filed automatically, and the wording the wire generated for it was wrong — it said no record had been written when every one of these rounds wrote one. That generated wording is kept unedited in our own record; the heading above is the plain-English one. One limit on this account: the detailed log for 26 August has since been rotated away, so the evidence is each round's summary rather than the errors themselves. The window two days later, whose summaries are identical, is where the detail survives.
The wire published nothing for 21 hours
2026-08-19 · 21h 04m · down
A scripting error stopped each publishing cycle at the final step. The work was done every time and then discarded before it reached the site, so the site stayed up and served the previous day's edition for 21 hours. Nothing was lost — everything republished on recovery. Three separate internal alarms fired correctly and none reached a person, which is what actually failed. The code was fixed the same day; the change that mattered was requiring someone to watch a cycle complete before any deploy is called done.
Large Bitcoin transfers went unreported for an hour
2026-08-17 · 63 min · degraded
One of the sources this site reads for Bitcoin stopped answering us. Not an outage at their end and not a fault at ours: a limit on how often they would take our calls, which we had been over for some time without noticing. For 63 minutes no large Bitcoin transfer was reported here, and that hour is on the record as a gap rather than as a quiet hour. What actually failed was a judgement about time — every single request had a limit on it and the round of work as a whole had none, so one slow source could use up the whole round before a word was written. Nothing already recorded was lost and nothing was reported wrongly; the reporting simply stopped. Rounds are now bounded as a whole rather than only request by request, a source that stops answering is stood down instead of retried into the ground, and Bitcoin is no longer read through a single source.
The wire wrote the news and published none of it
2026-08-17 · 33 min · degraded
For 33 minutes the wire did all of its work — read the sources, wrote the stories, filed them — and put none of it in front of a reader. The check that decides whether anything has changed was comparing the new site against itself rather than against what had last been published, so it agreed with itself every time and published nothing. This is the worst shape an outage can take, because every internal signal is green while nothing reaches the page. Nothing was lost and it all went out once the check was corrected. Three rounds of writing with nothing published now raises an alarm that says, in those words, that the wire is publishing news nobody can read.
The wire stopped publishing for seven hours and nothing recovered it
2026-08-13 · 7h 16m · down
Publishing stalled at 15:39 and stayed stalled until 22:55. Every attempt after that hit the same unresolved state in our own working copy, logged a warning and stopped, and the next attempt three minutes later did the same thing. Nothing new reached the site for seven hours. From outside it did not look like an outage — the site stayed up and served what was already there, so a reader saw a quiet afternoon rather than a stopped wire. Nothing was lost; everything published on recovery. Detection was never the problem: the failure was reported correctly 179 times, into a log nobody was reading. What actually failed was that there was no way out of the stall and no way for the site to say it was in one. It now clears itself, and three failures in a row reach the public heartbeat where a reader can see them.
When the wire stalls, this site says so on its own: every edition carries a public heartbeat stamped with the time of the last one, so a page that has stopped moving can be told from a quiet day without taking our word for it. Accuracy is the other half of this: this page is whether we were publishing, that one is whether we were right.