Infra Graveyard Weekly #06: TON gave a hundred days' notice, and 0.11% left
A bridge with $15m inside closed on 1 September after a hundred days of warnings and zero fees. Almost nobody came for the money.
An issue of Infra Graveyard Weekly
Deprecations and shutdowns in crypto infrastructure, the part a developer has to act on. "Days left" counts from 5 September 2026, and all times are UTC.
1. Which deadlines are closest?
| What | Deadline (UTC) | Required action | Days left |
|---|---|---|---|
| BitMEX ends in four steps: Reduce Only for futures 07.09 04:00, for ETHUSD/ETHUSDT 08.09 04:00, for XBTUSD/XBTUSDT 10.09 04:00 — then delisting with settlement of everything left, 16.09 12:00 | 2026-09-07 → 2026-09-16 | Close positions yourself before 07–10.09 if you do not want settlement against a 30-minute index; withdraw before 23.09 | 2–11 |
Solana: phase 2 of the rent reduction, lamports_per_byte 6,333 → 5,080 (an empty account 810,624 → 650,240 lamports) | mid-September | Remove hardcoded rent constants from client and program | ~11 |
| CMVP moves every remaining FIPS 140-2 certificate to the historical list | 2026-09-21 | Check whether your module has a 140-3 submission in the CMVP queue: after that date it stays valid for systems already deployed, not for new procurement | 16 |
| Phantom ends support for Sui | 2026-09-24 | Swap inside Phantom, or move the seed phrase to a Sui-compatible wallet | 19 |
30 September: Shipyard ends IPFS maintenance and ipfs.io/dweb.link; Alchemy removes 11 NFT API endpoints; LayerZero kills offchain services for Aurora, Taiko, BounceBit, Japan Open Chain, LightLink | 2026-09-30 | Get off the public gateways; move calls to the V3 replacements; withdraw LP from those five chains | 25 |
The full board — 17 open deadlines out to September 2028, and 34 windows that have already closed — lives on the series page, where it is updated every week. From this issue on, an issue carries the five nearest deadlines and a link: reference material belongs where it can be corrected after publication, and a sent mailing cannot be.
Closed since #05 — seven deadlines, not eight. Degen Chain (31.08); SCRT Labs ending development on Secret Network (01.09); TON Bridge-v3 (01.09, measured below); the Gnosis community API at Etherscan (01.09, not verifiable without a key); Polygon images on DockerHub (01.09); the Stargate fee of up to 2 bps and the $0.25 Executor minimum at LayerZero (01.09); settlement of 11 BitMEX contracts (02.09 12:00 — checked in their API: eight of the eleven read Settled stamped 2026-09-02T12:00:00Z, to the second). One correction to our own board: 23.09 is when withdrawals end; trading stops on 16.09.
The eighth did not close, and that one is on us. We had marked three Chainlink feeds — CSPX/USD, IB01/USD, IBTA/USD — closed on the strength of the provider's directory. A check against the chain on 04.09 found fresh updates on all three; the entry went back to open.
2. What happens when a bridge gives a hundred days' notice?
TON Bridge-v3 closed on 1 September, exactly as announced on 23 May — a hundred days ahead, with transfer fees zeroed and the date repeated in the news cycle. The team did close to everything you would ask of them.
Over the bridge's final week, 0.11% of the wrapped TON left: 11,981 tokens out of 11.36m. Left behind: 9,292,637 wTON on Ethereum and 2,052,272 on BSC — 11,344,909 wTON, about $14.86m at the price of the measurement.
The fall in dollars is the exchange rate, not an exit. The total dropped from $16.92m on 26.08 to $15.45m on 02.09, but TON itself fell 8.4% that week: at 26.08 prices the same balances would be worth $16.22m against $16.24m. Count in token units, or the price chart will impersonate an outflow.
The only movement was in the j-tokens, and it was small: jUSDT −16.4%, jUSDC −4.1%, jWBTC −3.4%, jDAI exactly zero. $586k left inside against $683k.
Set that against DFK. DFK had four weeks, silent documentation and $236k stranded. TON had a hundred days, zero fees and $14.9m — 63 times more money, after an announcement that was better on every count: longer notice, no exit fees, repeated. The one thing they share: the bridges page in TON's own documentation carried no date, on the day of the closure as on both of our checks (26.08 and 02.09).
Limits of the measurement, unchanged from #05: totalSupply equals backing only under 1:1 minting, an abandoned balance is indistinguishable from a working one, and nothing is known about any recovery procedure.
3. What changed this week?
OP Mainnet has been returning zeros in four stream fields for a week. With the move to 200 ms subblocks, the preconfirmation stream now zeroes state_root, block_hash, withdrawals_root and withdrawals. The fields are still there, the format is compatible, nothing errors — the data is simply gone, while receipts_root and logs_bloom carry real values, so a spot check of "the stream looks alive" tells you nothing. OP Sepolia since 17.08, OP Mainnet since 31.08, already in force. Action: audit anything that reads those four fields and make sure a zero cannot leak into state, balances or proofs; treat a preconfirmation as the result of executing transactions, not as a state root. Primary source: docs.optimism.io/notices/subblocks
A date in the Chainlink directory can be wrong in either direction. The batch of deprecations announced on 21 August carried the date 19 August — the announcement arrived two days after the shutdown, and a check against the chain on 04.09 confirms it: C3M/EUR, MAVIA/USD, USR/USD and PumpBTC/BTC answer execution reverted. Meanwhile three feeds dated 2 September are still updating. Action: call latestRoundData() on the proxy and watch updatedAt before and after the announced date. Sources: dev.chain.link/changelog and our own check on 04.09.
4. What changed quietly?
Polygon has dropped its commitments on the last public layer. heimdall-api.polygon.technology and its Amoy twin are now best-effort: no uptime target, no latency guarantee, no support commitment, "limits may change without notice". There is no shutdown date — and that is the point: no event has been scheduled for you to prepare for. It is the third step in one quarter in the same direction, after Erigon on 01.08 and the public Bor RPCs on 31.07. Action: run your own Heimdall or take a provider with an SLA, and grep your logs for those two hosts. Primary source
Solana: the rent-exempt minimum is moving, and hardcoded constants are now lying. Phase one went live on mainnet on 3 September. What moves is lamports_per_byte: 6,960 → 6,333, with mid-September (→5,080) and November (down to 696, −90% in total) to follow. The minimum is (128 + data bytes) × that, so an empty account goes 891,520 → 810,624 → 650,240 and ends at 89,088 lamports — 6,960 was never a minimum in itself. This is not a shutdown but a shifting constant, which is why it has no deadline in the usual shape: it breaks for anyone who wrote the number down. Side effect worth collecting: excess lamports can be reclaimed — WithdrawExcessLamports for token accounts, mints and multisigs, your own instruction for PDAs. Primary source
The fallback for "the frontend is down" is no longer maintained. morpho-org/safer was archived on 01.09 with a "no longer maintained" note — these are the scripts you use to send transactions to a Safe bypassing its frontend and backend, which is exactly the thing you keep for the day the main path fails. Next to it, balancer/frontend-v2 was archived on 31.08, its README still promising to maintain the veBAL page until the migration. Action: if your fallback path to a multisig is safer, fork it.
5. What we are watching
- Sui JSON-RPC: QuickNode filed it under Removed on 17.08, while Sui's own documentation says "mid-October" for the third issue running, with no day. The migration date is being set by the provider, not by the network.
app.balancer.fi/vebalhas been down for two days: 526 from Cloudflare on 04.09 and again on 05.09, from two different networks. A 526 is a failure between Cloudflare and the origin, not a bot filter — the bot filter is visible separately, as a 429 onbalancer.fi. The page they promised to maintain until the migration is currently unreachable.- Three chain halts in four days: Cronos stopped after the $75m Tectonic exploit and restarted by rollback — almost 11,000 blocks and two hours of other people's transactions discarded, while $6.29m had already left through a bridge and is beyond the rollback's reach; Ontology halted for over five hours, Fogo for 46. A halt does not save the money, only the money that has not left yet. Sources still secondary; for #07 we go by the networks' own announcements.
- Ethereum: the Platåberget testnet (17.08) is short-lived by design, "a few months" under Glamsterdam, with no end date yet.
6. What does this actually mean?
A notice only reaches the people still looking at the thing. For a month this series held the hypothesis that money gets stranded because announcements are careless. TON did the opposite — a hundred days, zero fees, repeated in the news — and got the same outcome, 63 times more expensive. Whoever holds a wrapper minted a year ago is not reading the team's posts or bridge news; the quality of the announcement does not reach them. One thing does: whether the service switched off before they next opened their wallet.
If you are building the replacement for something closing down, that is your ceiling on inflow. On a bridge with $15m inside, the share that arrived in the final week was one tenth of one per cent. Your realistic base is whoever opened the service in the last month.
Seven deadlines in a week is not an anomaly, it is September: the first of the month and of the quarter collects everything announced over the summer. The same will happen on 1 October — three deadlines are already parked on 30 September.
And the rule runs in the other direction too — we got caught by it. At Chainlink, in one week, an announcement lagged a shutdown by two days and led another by at least two. An announced date is an intention, not an event. Check the data source itself, not the calendar — ourselves included.
7. What to do, step by step
- Today: if you read the OP Mainnet subblock stream, audit those four zeroed fields; if you hold wTON or j-tokens, there is no recovery procedure — follow TON Foundation announcements, not the documentation; if you hardcoded Solana's rent minimum, replace it with
Rent::get(). - Before 7–10 September, 04:00 UTC: close BitMEX positions yourself if you do not want settlement on 16.09 against a 30-minute index; withdraw before 23.09.
- Before 21 September: if you sell into a FIPS 140 requirement, check the CMVP queue for your module. Before the 24th: Sui holders in Phantom, swap or move the seed phrase.
- Before 30 September: get off the public IPFS gateways (rate limiting is already on); move calls off the 11 Alchemy NFT API endpoints; withdraw LP from the five chains LayerZero is leaving.
- A rule, not a task: an announcement is not delivery, not inflow and not an event. When you migrate against someone else's deadline, check the data source, not the calendar.
8. What we ship
- The TON Bridge measurement script — two snapshots, 26.08 and 02.09, reproducible from the total supply of the wrappers.
- The DFK Chain sunset scanner, its contract registry and CLI are open at github.com/sergeipalii/dfk-chain-sunset — five measurements, the last one on the chain's final block.
- A write-up of a defect in that same scanner: the report came back clean while 420 pairs had failed to read.
Infra Graveyard Weekly covers developer-facing deprecations and shutdowns in crypto infrastructure — the changelog layer, not the headlines. Subscribe via RSS or by email.
Read next
Infra Graveyard Weekly #05: DFK Chain is dead, and $236,000 stayed inside
We measured one dying chain five times in a month. Half the money left in six days — and the largest holder of what stayed is an abandoned contract.
A clean report that lied: how 420 live pairs became dead ones
Our scanner promised to check all 577 pools of a dying chain and checked 157: three lines of code turned a failed read into 'nothing here'.
Infra Graveyard Weekly #04: DFK Chain dies in four days, and the money hasn't moved
We measured the same dying chain twice, eight days apart. The liquidity is still there, 84% of it inside two contracts the wallet never shows.