Skip to main content

On Monday 12 October, Blur announced that it is closing the NFT marketplace that once owned this category. The website goes dark on 12 November. Monthly trading volume had fallen from roughly $1.43 billion in March 2023 to under $7 million in March 2026, a decline north of 99.5%, and the BLUR token lost more than 20% on the news. It now trades around $0.0124. Ten days earlier its sister project Blast announced its own wind-down, both of them built by Tieshun Roquerre.

Almost every write-up reached for the same reassurance, and the reassurance is true: the contracts stay up. Blur said so plainly. “Blur’s underlying smart contracts will remain operational on Ethereum, meaning the shutdown does not eliminate the blockchain-based trading system.” Nothing is being deleted. Nobody is taking your keys.

Buried a line lower is the part that actually decides who loses money. Blend, Blur’s peer-to-peer NFT lending protocol, stops arranging new loans on the same date. “Borrowers have until that date to repay their loans or allow them to default.”

So this morning I pointed a script at Ethereum mainnet and read Blend’s own event log for the last 31 days. At block 26,182,412, timestamped 08:36 UTC on 13 October, there were 1,023 Blend loans sitting inside an unresolved Dutch auction. The 851 of them whose full terms were visible in my window carry 901.02 ETH of principal, about $2.28 million at this morning’s price. Every single one of those 851 was written with the same auction duration: 9,000 blocks. Thirty hours.

And here is the thing about those thirty hours. They are the only deadline anywhere in the contract. There is no 12 November in Blend. There never was. The date Blur published is a statement about who will be standing in the market, not about what the code will do.

TL;DR

  • Blur closes its marketplace website on 12 November 2026 and stops arranging new Blend loans the same day. The Ethereum contracts keep running. Volume had fallen more than 99.5% from its March 2023 peak.
  • Read off mainnet at block 26,182,412 (08:36 UTC, 13 October): 1,023 Blend liens are in an unresolved Dutch auction, 901.02 ETH of principal across the 851 with visible terms, every one of them on a 9,000-block (30-hour) auction clock.
  • Auction starts have gone vertical. The daily median across the previous 27 days was 91. On 10 October there were 716, on 12 October 387, and in the first 8.6 hours of 13 October there were 971.
  • All 1,023 live auctions belong to just 66 distinct lender addresses. The largest holds 89 of them. That is the entire population that has to be replaced.
  • A Blend loan has no maturity date. It ends four ways, and three of them require a different person to choose to act. The fourth, the lender seizing the collateral after 9,000 blocks, requires nobody at all. Absence is not neutral here. Absence is the default outcome.
  • I called the deployed rate function directly. For a median 22.20% lien, a replacement lender earns 0.00% at the start of the auction, 46.11% at six hours, 136.11% at twenty-four, and 1,000.00% at the end. Being rescued gets more expensive the longer nobody comes.
  • Every fairness guarantee in crypto is a claim about an outcome. None of them has ever promised that somebody will be there to take the other side.

What Blur actually switched off

Blend launched in May 2023, built with Paradigm, and its central design choice was to have no expiry. A normal NFT loan has a term: thirty days, ninety days, a date on which you either pay or lose the thing. Blend deleted the date. Loans are perpetual. The borrower can repay at any moment, the rate is fixed while the loan lives, and nothing happens on a schedule.

That is genuinely elegant, and it was sold as a feature, because it is one. Nobody gets liquidated at 4am because a calendar flipped over.

The trade Blend made to get there is the whole subject of this post. If a loan has no end date, something else has to be able to end it, and in Blend that something is a person. The lender who wants out presses a button called startAuction. That opens a thirty-hour window in which some other lender can take over the loan. If one does, the borrower never notices: new lender, new rate, same NFT, loan continues. If none does, the lender who started the auction takes the NFT.

So Blend was never only a contract. It was a contract plus a market, and the market was the half that lived off-chain: the matching, the offer aggregation, the bots that watch for auctions worth taking, the interface that made a replacement lender turn up inside thirty hours. All of that was Blur, the company, running software on servers. On 12 November it switches off the half that lived on servers and leaves up the half that lives on Ethereum, and the half going dark is the half that produces counterparties.

The half of fairness nobody argues about

Ask this industry whether something is fair and you will get an answer about odds and resolution. Is the edge disclosed? Was the outcome honest? Can I verify it? Those are the right questions and this blog has spent ninety-three instalments pointing at the ones sitting next to them.

Here is the ninety-fourth. A position is only exitable if somebody else is willing to be on the other side of the exit, and almost nothing we publish about fairness has a field for that willingness. A VRF proof says this number was not tampered with. An audit says this code does what it reads like. A proof-of-reserves attestation says the assets existed on a date. Every one of those is a claim about a thing. None is a claim about a person being there, and a position that can only be closed by somebody else’s voluntary action has a dependency that no proof in the stack describes.

We have circled this before from other sides. CoinEx closing fully solvent was about a window: a fairness proof tells you the draw was honest and never tells you how long you have to collect. Abstract shutting on 15 December was about latency: a published deadline that had not subtracted its own three and a half hours of batch lag. Both of those were deadlines with a date on them, and in both cases the user’s problem was arithmetic.

Blend is the version with no date to do arithmetic on. The exit is not gated by a clock. It is gated by attendance.

Four ways a Blend loan ends, three of which need somebody else

I pulled the verified source of the deployed implementation at 0xb258ca5559b11cd702f363796522b04d7722ea56 rather than trusting a summary of it. The lien lifecycle is short enough to state exhaustively.

  1. The borrower repays. repay takes the principal plus accrued interest and returns the NFT. This is the only path that depends on nobody but you, and it is exactly the path Blur’s notice is pointing borrowers at.
  2. The lender refinances the loan into a better offer. refinance, callable by the lender, and the contract checks offer.rate > lien.rate and reverts if the new rate is worse. Needs a lender with a signed offer.
  3. Somebody takes the loan over during the auction. refinanceAuction and refinanceAuctionByOther, which accept a new lender’s offer provided the rate is at or under the current auction rate. Needs a lender who is watching.
  4. The auction runs out and the lender seizes the collateral. seize checks one condition, and it is worth reading in the original: lien.auctionStartBlock + lien.auctionDuration < block.number. That is the whole default test. Not a price. Not an oracle. Not a health factor. Just a block number that has gone past.

Three of the four need a second party to choose to act. The fourth needs the absence of one. There is no fifth branch where nothing happens, no state in which an unattended loan simply persists quietly. If no replacement lender appears inside 9,000 blocks, the NFT moves, and it moves to the lender who started the auction.

Notice what this does to the word “default”. Nobody missed a payment. There is no payment to miss, because there is no schedule. The borrower can be perfectly solvent, fully intending to repay, sitting on a loan at a rate they are happy with, and still lose the collateral because a lender pressed a button and the market that would have replaced that lender had closed its website.

What the chain says this morning

I pulled every Blend event from block 25,962,412 to 26,182,412, which is 31 days ending at 08:36 UTC today, 19,567 logs in all. Then I re-pulled the most recent 9,500 blocks from a second, unrelated RPC provider and compared counts per event type. Every one matched exactly, which is the only reason I am willing to publish the numbers.

One correction, because it would have inflated my first draft: Blend emits LoanOfferTaken from an internal helper that both new borrows and refinances call, so 2,259 of the 4,346 that fired were not new loans at all.

Blend, 31 days to 13 Oct 08:36 UTC Count
New liens opened 2,087
Refinances 5,000
Repayments 2,090
Auctions started 5,332
Collateral seized 282
Locked NFTs bought 564

The comforting version of this story is that Blur’s shutdown is a formality over an abandoned system, and nearly twenty thousand events in a month says otherwise. The auction series is where the announcement shows up. Across the 27 full days before 10 October, the median number of auctions started per day was 91. Then:

Date Auctions started Seizures Repayments
10 October 716 22 95
11 October 199 67 269
12 October (announcement) 387 7 227
13 October (to 08:36 UTC) 971 6 165

971 auction starts in eight and a half hours is the highest rate anywhere in my window, and the day was not a third over when I stopped reading. Be careful with the causation, though, and I will come back to this in the limits: the 10 October spike happened two days before the announcement, in the middle of a broad deleveraging that wiped out around $800 million of leveraged positions across crypto. Some of this is Blur. Some of it is October. I cannot separate them with this data and will not pretend to.

What is unambiguous is the standing inventory. 1,023 liens whose most recent event is StartAuction, which is to say 1,023 loans currently waiting for somebody to show up. Of the 851 with terms I can see, 526 become seizable in the next twelve to twenty-four hours and a further 315 in the twenty-four to thirty hour band. Collateral is the blue-chip roll call: 182 Pudgy Penguins, 148 Azuki, 120 Milady, 115 Mutant Apes, 104 Doodles, 85 Bored Apes, 67 CloneX. Also 77 tokens from a collection whose on-chain name is literally “TEST NFT”, which tells you something about what a share of Blend’s volume was ever really for.

Sixty-six addresses

The number that reframed this for me was not the 1,023. It was what happens when you count the lenders behind them: all 1,023 live auctions are held by 66 distinct addresses, the largest sitting on 89 of them, the top six holding 406 between them.

That is the market. Not a market in the abstract sense of an open venue anyone can join, but sixty-six actual addresses, most of them running bots against an interface that is being retired. “Will a replacement lender appear?” is not a question about liquidity in general. It is a question about whether a small, countable set of operators rewires its tooling to speak to a contract directly after the website it built against goes away.

Some will. The large ones almost certainly will, because 89 live auctions is a business and NFT-backed lending at 22% does not stop being attractive just because a frontend closed. But the auction mechanism does not need most of them to leave. It needs the marginal bidder, the one who would have taken over your specific Azuki at hour twenty-six, to not be there. Thin markets fail at the edges first, and in Blend the edge is a particular token at a particular hour.

The price of being rescued

Blend’s auction is a Dutch auction on the interest rate, and the rate climbs as the window empties. I did not want to reimplement the curve and get it subtly wrong, so I called the deployed library directly. calcRefinancingAuctionRate is a public view function on the Helpers library at 0x5c55cd67a6bD0D4C315B50CB6CD589bfB080017E, so you can ask the chain what a rescue costs at any point in the window. Here it is for a loan at the live median rate of 22.20%:

Hours into the 30-hour auction Rate a replacement lender gets
0.0 0.00%
1.5 11.52%
6.0 46.11%
12.0 76.11%
24.0 136.11%
27.0 568.05%
29.0 856.01%
30.0 1,000.00%

Read that curve as an incentive and it says something uncomfortable. At the start of the auction, taking over the loan pays nothing, so no rational lender does it. The rescue only becomes worth making as the borrower’s position becomes desperate, and in the final three hours the curve goes near vertical towards the contract’s 1,000% liquidation threshold.

This is not a flaw, exactly. It is deliberate price discovery, and it works: in my window 2,733 auctions ended in a refinance against 269 that ended in a seizure, so the bidders do turn up. The median auction resolved in 1,828 blocks, about six hours. But the ninetieth percentile resolved at 8,207 blocks, twenty-seven and a half hours, with roughly two and a half hours of margin left. One auction in ten was already running to the wire while the matching engine was still on, and those late rescues, not the cheap early ones, are what was keeping people solvent. They are also the ones that need somebody watching a contract at hour twenty-eight.

The promised tool is the wrong tool

Blur has not simply walked off. The notice says the team “plans to provide a separate tool afterward for withdrawing assets from Blend”, and there is 6,747.02 ETH, about $17.0 million, sitting in the Blur Pool contract at 0x0000000000A39bb272e79075ade125fd351887Ac right now. A withdrawal tool for that is the responsible thing to ship and they should be credited for saying they will.

It just does not address this. A withdrawal tool moves your own assets out of a contract you have a claim on; it is a replacement for a user interface. What Blend’s borrowers need is not an interface, it is a counterparty, and you cannot ship a tool that makes somebody else want to lend you money at hour twenty-eight.

That is the distinction worth taking from this. When a platform winds down, the things it can hand back are the things it was merely holding. The thing it cannot hand back is the thing it was being: the other side of the trade, the matching, the attendance. Blur can return your ETH. It cannot return the market.

What this means for on-chain gaming

We build games where the fairness claim is a proof, and the reason that claim is strong is also the reason it is narrow. Chainlink VRF proves a number was not interfered with. It is silent on everything surrounding the number, and attendance is one of those things. So it is worth being precise about where Satoshie actually stands, rather than waving at decentralisation.

A Satoshie coinflip does not need a counterparty to be discovered. Your stake goes into escrow at entry, the contract is the other side of the bet, the odds are in the contract before you commit and the resolution is one VRF callback. There is no auction, no matching layer, no offer book, nobody whose willingness to participate has to be sourced before your position can close. The settlement path from entry to payout does not pass through a human decision.

A raffle is the honest comparison, because a raffle genuinely does involve other people. The difference is where they sit in the mechanism: other entrants change the size of what you might win, but they do not gate whether the draw happens, because the prize is escrowed and the randomness is paid for up front, which is what I measured in Provable Fairness Is Prepaid. A Blend borrower’s exit is gated by a bid. A raffle entrant’s is gated by a block.

The general principle is worth more than the product point: a settlement path containing a voluntary human action contains a counterparty risk, and no cryptographic proof will surface it for you. Do not read the audit. Enumerate every actor whose participation your exit requires, then ask what happens if each simply does not turn up. In Blend, for one of them, the answer is that your Azuki changes hands.

Honest limits

Several, and they matter.

I cannot attribute the auction surge cleanly. The 716 auctions on 10 October preceded the announcement by two days and coincided with a market-wide liquidation event. The 13 October figure is post-announcement and is the highest in the window, but one partial day is not a trend. Anyone telling you they have isolated the Blur effect from October’s effect on this data is guessing.

Blend is not behaving badly. The 9,000-block auction, the rate curve and the seizure condition have been in public, verified source since May 2023. Nothing is being changed, upgraded or rug-pulled. Lenders starting auctions are exercising a right the borrower agreed to, and Blur’s notice tells borrowers to repay, which is correct advice. This is a design consequence surfacing, not misconduct.

My census is a window, not a ledger. 1,023 is the count of liens whose most recent event inside my 31 days is StartAuction. The 172 without visible terms are excluded from the 901.02 ETH figure, so the real principal at auction is higher than I have quoted, not lower. And a lien last touched before 12 September is invisible to me entirely.

Satoshie has counterparties too. It would be dishonest to run this argument without saying so. Our draws depend on Chainlink’s VRF coordinator, and I have measured that five addresses deliver essentially every draw on Base. If a subscription runs dry, randomness stops arriving. The difference is not that we have no dependency. It is that ours is prepaid, named and visible before you play, rather than discovered at the moment you need it. That is a better position, not an exempt one, and the day it stops being true is the day I should be writing this post about us.

Three questions worth asking any platform

  1. Does closing my position require anyone’s agreement? Not “is there a fee”, not “how long does it take”. Does a second party have to choose to act. If yes, name them.
  2. What is the default outcome of absence? Every mechanism has a branch that executes when nobody shows up. Find it and read it. In Blend it is seize, and it takes your collateral.
  3. Which half of this system lives on servers? The contracts surviving a shutdown is necessary and nowhere near sufficient. Ask which part was the company, because that is the part that leaves.

The lender nobody replaced

Blend’s loans never expire. For three years that was the pitch, and it was a good one: no term risk, no rollover, no calendar deciding your fate. What it actually meant was that the end of the loan was delegated to a person, and for three years Blur paid to make sure a person was always there.

On 12 November it stops paying. The contract will be exactly as decentralised as it was yesterday, exactly as verifiable, exactly as immutable. 1,023 borrowers this morning are waiting on a bid from one of sixty-six addresses, on a thirty-hour clock that started when a lender pressed a button, at a rate that only becomes worth paying once they are nearly out of time.

Provable fairness tells you the dice were not loaded. It has never once told you that anybody would show up to play.

Measured first-hand against Ethereum mainnet on 13 October 2026 at block 26,182,412, cross-checked across two independent RPC providers. Contract behaviour read from the verified deployed source, not from documentation.

📷 Photo by Brian Wangenheim (@brianwangenheim) on Unsplash

Valentina Ní Críonna

Author Valentina Ní Críonna

More posts by Valentina Ní Críonna