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.