APEX · Corrections

Where we got it wrong

This is the log of our own mistakes. Every entry says what was wrong, who it could have affected, and what we changed. Nothing here is edited away once it is published, and we add an entry whether or not anybody noticed.

We are one person and one machine, building in the open, most of the day, most days. We are not Circle and we are not BlackRock, and we do not have five thousand engineers to catch things before you see them. What we can promise instead is this page: when we find a mistake, you hear it from us first, in plain words, with the real numbers.

If something we sold you did not do what we said it would, tell Flux or write to us and we will make it right.

2026-09-17 · Paid product returned an error

Anyone paying per call for the threat report got a 500 instead of the report

We added per-call payment alongside the older subscription so nobody had to commit five XNT for a single lookup. The payment gate was updated correctly. The reply was not: it still assumed the caller held a subscription, so for a per-call payer it crashed on a field that was not there. It also described those callers as subscribers, which they were not.

Fixed. A per-call payer now receives the same answer a subscriber receives, labelled honestly as per-call access: 84 blacklisted wallets, 92 tokens, and the 39 most recent alerts.

What we changed/api/flux-intel/json now reports access: per-call or access: subscription, and never claims a subscription that does not exist.
2026-09-17 · A product described larger than it is

The trade feed was advertised as 1,000 trades. It has always returned 200.

Our firehose endpoint was listed on six different surfaces as the last 1,000 trades, at fifty cents. The code behind it caps at 200 rows and always has. The description was written from an intention rather than from the handler.

It is now described as what it is, the 200 most recent trades, and repriced to ten cents in line with our other bulk reads. We also added automatic checks that fail our build when any product quotes a size its own code cannot return, so this class of mistake cannot come back quietly.

If you paid fifty cents for itContact us and we will refund the difference. We would rather be short the money than have sold you something we described wrongly.
2026-09-17 · Paid data was reachable without paying

Five files that should have been behind the paywall were served openly

Five files were reachable without payment that should not have been, including one that duplicated the answer of a paid product and one that should never have been published at all. The cause was ours: a file can end up in a place that is served directly, where the protection our application applies never gets a chance to run.

All five are closed. We also now audit our own paid products from the outside, as a stranger reaches them rather than from inside our own network, and that audit runs automatically every three hours. The most recent run made 512 attempts against our paywall and none of them got through.

Why we are telling youAnyone who found those files had them. Saying nothing would have been the easier choice and the dishonest one.
2026-09-17 · Numbers we published and then retracted

We claimed Arc trading volume was largely fake. We were wrong, and we pulled the product.

We reported that reported volume on Arc was inflated by a large multiple. Two errors produced that: we grouped tokens by their symbol, and 224 different contracts on Arc share the symbol we used as our example; and we built a ratio on a field that only ever records the first buyer of a pool, for the first eight swaps, so it was never the full picture it looked like.

The product was removed rather than adjusted. We do not think a number like that deserves a second try on the same foundation. Identity here is now always the contract address, never a symbol or a name.

Corrected figuresOf 48,680 indexed Arc launches, 77.5% could not be sold through the standard route in our probe. An earlier version of this said 86% to 89%, taken from a sample of 300 launches over nine minutes, and presented as though it covered everything.
2026-09-17 · Wrong advice inside a paid answer

We told people to wait twelve confirmations on a chain that settles instantly

One of our Arc endpoints treated finality the way it works on other chains and told callers to wait for twelve confirmations. Arc settles deterministically the moment a transaction is included. We had carried an assumption across from a different chain instead of reading Arc's own documentation.

Corrected. It now reports finality the way Arc actually provides it.

This page exists because the only thing we really sell is that our numbers are true. A project that never publishes a correction is not a project without mistakes; it is a project that does not tell you about them. If you find something wrong here before we do, we would genuinely like to know.