Data policy

Last updated 26 October 2026

Where the auction figures come from, how they are gathered, how an AAV is produced, and what it cannot tell you. Cortex asks for no API key and no account, so none of this depends on anything of yours. For what Cortex holds about players, and what can be removed, see the privacy policy.

1. Sources

Torn's official API is the source for prices. Completed auction sales are read from api.torn.com and stored as they arrived. Nothing is scraped from Torn’s website, guessed at, or filled in from another site. A field the API did not return is shown as missing rather than estimated.

Current bids are the one thing the API does not publish. The companion script reads them from the Auction House page you have open, and they never leave your browser.

The site talks to two places: itself and the Cortex price service. The companion script talks only to the price service. There is no analytics service, no tracking pixel, no advertising network, and no font loaded from another host.

2. Coverage

Over 320,000 completed sales, across 145 ranked-war items, drawn from more than 230,000 individual copies. The tracked set is 101 weapons and 44 armor pieces.

Most items have recorded history from 2023 onward. Twenty-seven of the 145 reach back further, the earliest to February 2016, which is further than Torn’s own auction history goes.

Each sale carries its seller and buyer as Torn reported them. Where Torn supplied it, each also carries the copy id that links one item’s resales.

New sales usually land within minutes. The ledger’s price guide shows the exact number of sales behind any filter, and that live figure supersedes the rounded ones above.

3. How collection behaves

Paced under the limit
The sale collector runs every two minutes and makes at most forty requests per run, spaced a second apart. All Cortex requests to Torn share one budget of ninety a minute, under Torn’s limit of a hundred a minute.
Public look-ups are capped
A request to the price service reaches Torn only when the answer is not already stored. Those look-ups may spend at most forty-five of the ninety a minute, and each address has its own limit.
Unknown copies wait in a queue
A copy id the database has not seen is queued, and the collector looks up four per run. A page full of unknown gear cannot flood Torn.
Traffic is labelled
Every request to Torn carries a comment starting with cortex-, such as comment=cortex-maintain, so Torn can identify it. None of it uses your key, so none of it appears in your API log.
Reads only, from Torn
The price service only ever reads from Torn. It cannot spend money, send items, start a crime, or change anything in any player’s account.
The companion script does not poll
It works only on the page you opened and only while that tab is visible. It sends at most four requests at a time, all to the price service and none to Torn.
Cached close to you
Summaries, AAVs and the trader list are kept in Cloudflare KV, and reads may come from a nearby copy of the database. A summary can trail the newest sale by several minutes.

4. How a price is produced

The AAV, Average Auction Value, is a median over a group of comparable sales. It is not the last sale and not an average of everything. These are the steps, in order.

Grouped exactly
Sales are grouped by item, perk, rarity and the exact perk roll they carried. A 25% Conserve and a 29% Conserve are different markets, and are never averaged together.
Thin groups stay blank
A group needs at least four recorded sales before any value is published for it. Below that the page shows nothing rather than a guess.
Adjusted for quality
Copies sell at different quality levels, so each sale is normalised to a reference quality for its group before the median is taken.
Weighted towards recent sales
A sale from last week counts for more than one from last year, on a 45-day half-life anchored to the group’s own most recent sale. A market that stopped trading holds still instead of drifting.
Ordered so a better roll is never cheaper
Values across the rolls of one perk are reconciled so a stronger roll cannot read lower than a weaker one, which thin evidence would otherwise produce.
Published with a range
The figure describes a group, not one sale, so a range is shown beside it. The range narrows as evidence accumulates and stops narrowing at a measured floor, because some spread is real.

Outliers are removed before the median is taken. On the ledger, vs AAV compares each sale’s price with the AAV that item would get today. In the companion script it compares the current bid. Both use the same rules. An exact roll is compared point to point. An estimate calls a price inside its range in range, and measures any gap from the edge of the range. A roll below every roll that has sold gets a cap, “up to” a figure, and a price under a cap gets no comparison.

Every published figure is checked against sales it never saw. On 26 October 2026 the AAVs were rebuilt as they stood at six dates over the previous nine months. Scored on the 91,405 sales that followed, the AAV sat a median of 7.0% from the price, and the one-sale range held 89% of those sales.

From 26 October 2026 the price service also records the AAV it had published for each new sale, before it stores that sale. That record grows as sales happen, rather than being rebuilt afterwards.

5. What this data cannot tell you

History, not the live market
Torn’s API publishes completed sales and never open auctions, so nothing here shows what is listed right now. The companion script reads current bids from the Auction House page you opened instead.
Ranked-war gear only
145 weapons and armor pieces are tracked, not the whole of Torn. An item with no perk, or below yellow rarity, is out of scope.
Two-perk values are built, not measured
A copy with two perks sells for more than either perk alone, so those sales are kept out of single-perk values. A pair rarely sells often enough to price on its own, so its AAV is one perk’s value times the typical lift from adding the other, measured across all two-perk sales. Treat it as an estimate.
Copy counts are a floor
A sale recorded before Cortex tracked individual copy ids counts as its own copy. Any figure for distinct copies understates resale by construction, and never invents it.
Names are as Torn reported them
Each sale shows the names Torn returned when it was read, so a renamed player can appear under an older name. The search list uses the name on their latest sale.
An estimate, not a valuation
An AAV is what comparable copies sold for at auction. It is not an appraisal or a promise of what yours will fetch, and auctions that failed to sell are not recorded, because Torn does not publish them.

6. One Cortex key pays for the data

Not you. There is no credential field on the ledger or in the companion script, and neither carries the code to use one.

One key, the owner’s own, runs the collection that reads Torn and fills the database. Every visitor reads that same database, so the cost of gathering the data is paid once rather than once per person. How that key is held is set out in the privacy policy.

7. Corrections

If a figure here contradicts a sale you know happened, report it and it will be checked against the underlying rows. Message Shield [3516052] in Torn.

8. Changes to this policy

The date at the top of this page is the date it last changed. When the sources, the method or the limits change, this page changes in the same release.