
Table of Contents7 sections
TLDR. A perpetual futures expiry is supposed to be a contradiction in terms, and on Binance's USD-M board it almost is. Read keyless on 2026-10-24 at 08:52:42 UTC, that board carries 931 symbols, 702 of them labelled PERPETUAL. Of the 565 perpetuals currently trading, 564 carry the same delivery date: 2100-12-25 08:00 UTC, a placeholder standing in for never. Exactly one carries a real one. VELODROMEUSDT is labelled PERPETUAL, its status is TRADING, and its own instrument definition says it delivers on 2026-10-28 09:00 UTC, four days and seven minutes after that reading. It is not a dormant listing either: in the preceding 24 hours it traded 79,613 times on 2,530,154 USDT of turnover, it held 119,864,958 contracts of open interest worth about 3.76 million dollars at its mark price, and it pays funding every 4 hours. The useful part is general, and it is checkable without reading a single announcement. The field that tells you a perpetual is going away is not its name and not its contractType, which says PERPETUAL right to the end. It is deliveryDate, and all 136 contracts already winding down on that board carry a real one.
Do perpetual futures expire?
As a product, no. That is the defining feature, and we have said so ourselves: the Athenum explainer on perpetual swaps against dated futures opens by stating that perpetual swaps never expire and track spot through a funding rate instead of converging to a settlement price. That is the right description of the instrument, and it is what the funding mechanism exists to make possible.
As a listing on a venue, yes, eventually, and that is a different question. A venue removes contracts, and when Binance removes a perpetual it does not simply drop the row. It settles it: the contract is given a real delivery date, open positions are closed against it at that moment, and for some time afterwards the entry is still visible in the public instrument list with a status of SETTLING. The product never expires. The listing does, and the listing is the thing your data pipeline is actually holding.
The gap between those two sentences is where the trap sits, because the field that still says PERPETUAL is the one most pipelines filter on.
How does Binance mark a perpetual for removal?
By writing a real date into deliveryDate while everything else still reads like a live contract. On the 2026-10-24 reading, all 136 perpetuals in SETTLING carried a real past date and not one of them carried the placeholder. The earliest fell on 2022-06-17 and the most recent on 2026-10-23, the day before the reading.
Those 136 dates are not spread evenly, and the shape of them is the corroboration. They fall on 66 distinct dates in batches of between 1 and 6 contracts, which is what a venue retiring contracts in announced groups looks like rather than contracts dropping out one at a time.

The 136 settling perpetuals by the month of their delivery date, read 2026-10-24 08:52:42 UTC. Every one of them carries a real date and none carries the 2100-12-25 placeholder, which is what makes the field a reliable marker rather than a coincidence. The counts per month are small and uneven, between 1 and 18, so read this as what is still visible on the board today and not as a rate you can extrapolate.
Two limits belong here rather than in a footnote. First, a single live contract carrying a real date is an existence proof, not a frequency. It says the field can be read this way today on this board. It does not say perpetuals commonly expire, and nothing in this reading supports an estimate of how often a live perpetual turns out to have a date on it. Second, these 136 are what the board still shows, not every contract Binance has ever retired. Rows do eventually disappear: only three of the 136 predate March 2024, and contracts we know were delisted years ago are absent from the list entirely. We have measured that other side before, in survivorship bias in a perpetual futures dataset, which covers what happens to a universe once removed contracts are gone from the live roster.
Does the field agree with what Binance announced?
To the minute, and that is the part worth keeping. Binance announced on 2026-10-16 that it would support the merger of Velodrome Finance into Aerodrome, with each VELODROME converting to 0.044 AERO. For the futures contract specifically, the announcement says new positions stop at 2026-10-28 08:30 UTC and that the contract is closed out and automatically settled at 09:00 UTC, after which it is removed.
The instrument list carries 2026-10-28 09:00 UTC in deliveryDate. The announcement and the field say the same thing, and the field said it in a form a script can read.
That is the practical claim of this post. You do not need to watch an announcements page to know that a contract you hold data on is scheduled to disappear. The venue already publishes it as a number, on an endpoint with no key and no account, next to everything else you are already pulling. The reason this particular contract is still busy is also worth knowing before reading anything into the volume: it is being retired because its token is merging into another one, not because it died of neglect.
Is the expiring contract already dead?
No, and that is what makes it worth naming. A contract already abandoned by traders would be an uninteresting edge case in a data field. VELODROMEUSDT was mid-board on the day of the reading.
Ranking all 565 live USD-M perpetuals by 24 hour quote volume on 2026-10-24 puts it at the 37.9th percentile, below the board median of 3.89 million USDT but well inside the populated part of the distribution, on 79,613 trades. Its open interest of 119,864,958 contracts is worth about 3.76 million dollars at the 0.03135253 mark price from the same pass, which is more than a full day of its own turnover.

The whole live board by 24 hour turnover, 2026-10-24 08:52:42 UTC, log scale because the quietest and busiest contracts on this board are nearly eight orders of magnitude apart. The gold marker is the contract with four days left: 2.53 million USDT and 79,613 trades, the 37.9th percentile, against a board median of 3.89 million USDT shown as the dashed line. Below median, and nowhere near the quiet tail on the left.
So on the day of the reading this was a contract settling funding every 4 hours, carrying several million dollars of open interest, and trading tens of thousands of times a day, with a delivery date inside the week.
Why does the same filter not work on both Binance boards?
Because the two boards do not use the same field name, and the mismatch is silent. On the USD-M board, read on 2026-10-24, every one of the 931 symbols carries status and none carries contractStatus. On the COIN-M board the reverse is exactly true at the same reading: all 30 symbols carry contractStatus and none carries status.

One vendor, two futures boards, two different names for the same idea, read 2026-10-24 08:52:42 UTC. A pipeline that keeps rows where status equals TRADING cleans the USD-M board correctly and silently empties the COIN-M board, because the field it tests does not exist there. The COIN-M board is small, 30 symbols, which is precisely why an empty result does not look alarming.
A pipeline that applies one filter to both boards therefore drops the entire COIN-M universe, BTCUSD_PERP included, and returns an empty list rather than an error. The two boards were disjoint at this reading: none of the 30 COIN-M symbols appeared on the USD-M board.
Why does one venue's board convention matter?
Because it is the largest single source of bitcoin perpetual open interest among the venues we normalize, so a convention it uses in house becomes a convention your data inherits. At the 2026-10-24 09:00 UTC bar, Athenum's normalized cross-venue view put aggregate bitcoin perpetual open interest at 25.84 billion dollars summed across the venues it names, and Binance held 41.47 percent of it, ahead of Hyperliquid at 13.86 percent, OKX at 12.04, Bybit at 11.30, Gate at 8.97, Bitget at 5.89, Deribit at 3.34 and HTX at 3.13.
One note on that figure, because it should be stated rather than smoothed over: those are shares of the sum of the named venues, not of the feed's own aggregate field, which ran 0.66 percent above that sum at the same bar. Where a total and its named parts disagree, the parts are the ones you can check.
So a reader rebuilding a cross-venue universe is taking roughly two fifths of it from a board that writes the year 2100 into a date field, keeps settled contracts visible for a while afterwards, and names its status column differently from its own sibling board. None of that is wrong of Binance. It is just undocumented in the place most people look, which is the field name.
How do you check this yourself?
Keyless calls, no account, and the second step is the one usually skipped.
1. Pull the boards. GET https://fapi.binance.com/fapi/v1/exchangeInfo for USD-M and https://dapi.binance.com/dapi/v1/exchangeInfo for COIN-M.
2. Derive the placeholder, never hardcode it. Take the trading perpetuals, count the deliveryDate values, and the most common one is the placeholder. On 2026-10-24 that was 2100-12-25 08:00 UTC on 564 of 565.
3. Keep the ones that disagree with it. Those are live contracts with a real delivery date, and that is the whole check.
4. Mind what contractType you filter on. Alongside the 702 PERPETUAL entries this board carried 225 TRADIFI_PERPETUAL contracts on 2026-10-24, all trading and all on the same placeholder, so a filter written only for PERPETUAL silently ignores 225 live perpetuals.
5. Use the right status field per board, status on USD-M and contractStatus on COIN-M, or the second call quietly returns nothing.
6. Cross-check against market data rather than trusting one endpoint. The instrument list carried 931 rows while fapi/v1/ticker/24hr returned 796 at the same reading. The 135 missing are what is settling or not yet launched, minus two just-settled contracts that were still being served by the ticker on the day.
If you are carrying a position on a contract with a date on it, the cost of holding it until then is the part worth pricing first: our free funding rate calculator turns a per-interval rate into an annualized one at the contract's own settlement schedule, which matters here because this contract settles every 4 hours rather than every 8, and the position size calculator sizes the position against the risk you are willing to carry into it.
Every board figure above came from the public Binance instrument, ticker, open interest, funding and premium index endpoints on 2026-10-24, none of which needs a key, so that arithmetic can be redone by hand; the settlement times come from the Binance announcement linked above. The cross-venue reading is ours: Athenum normalizes Binance, Bybit, OKX, Hyperliquid, Gate, Bitget, Deribit and HTX onto one clock, and the free calculators sitting beside that feed ask for no account, take no email address, and count nothing against you. The normalized view itself opens on a free 7 day Pro+ trial at app.athenum.xyz, which takes no card and ends by itself.
One terminal. All the data.
Liquidations, orderbook depth, whale walls & open interest from 4 exchanges, all real-time, in one place.
No credit card required
Athenum Analytics
Athenum Analytics is our three-person editorial team covering crypto derivatives, market data and macroeconomic context.