TL;DR: Iron.Finance depends on arbitrage as their stabilizing mechanism for partially collateralized tokens. In the case of the TITAN token collapse, the time frame between its price feed oracle and the actual real-time prices of the market was too large causing users to become unprofitable and not protect the stabilization. As a result, TITAN dropped to zero and IRON lost its peg. The incident resulted in Iron.Finance losing more than $2 billion in the total value locked (TVL) in the protocol, dropping from $2.18 billion locked to less than $10.5 million.
On June 16, 2021, Iron.Finance suffered an incident that resulted in TITAN, the governance token that backs the stablecoin IRON, crashing nearly 100% in what is being called “the world’s first large-scale crypto bank run.” As a result of TITAN’s crash, the price of the IRON stablecoin moved off peg.
This incident was the result of a design flaw—Iron.Finance lacked a proper stabilizing mechanism. Without an adequate mechanism in place, when the TITAN token started collapsing the prices provided by the Price Feed Oracle were delayed and the gap between these prices and real-time data made arbitraging unprofitable. Because Iron.Finance had relied on arbitrage users to help stabilize the price of IRON, when arbitrage was no longer profitable the issue compounded. TITAN has an infinite supply and is only supposed to be used as collateral when minting IRON. Any user in the system can issue IRON which is backed by their USDC and TITAN holdings.
As crypto markets are quite crazy, it is not uncommon for a stablecoin to lose its peg. However, due to this possibility, every stablecoin needs a mechanism of protection for such fluctuations. In IRON’s sense, their only mechanism was assuming that arbitrage users would buy cheap IRON from the market when the price dips and thus redeem it for USDC+TITAN and then sell TITAN for profit.
On June 16, 2021, the stabilization was working as intended until the price of TITAN started dropping and eventually reached zero. At this same time IRON lost its peg and dropped to around ~$0.94, which is a massive drop for a stablecoin. In order to protect further features, Iron.Finance had to pause both minting and redeeming. In a recent report that dives into the details of TITAN and the use of arbitrage, it describes that the delay (10min. Time Weighted Average Price) from the Price Feed Oracle for TITAN, caused the prices to be higher than those on an AMM (real time automated market maker) as it couldn’t keep up. Thus, the price gap caused arbitraging to become unprofitable, and thus could not protect the stabilization.
Iron.Finance published a post-mortem on the incident, which failed to mention the lack of a stabilizing mechanism. The DeFi bank run resulted in Iron.Finance losing more than $2 billion in the total value locked (TVL) in the protocol, dropping from $2.18 billion locked to less than $10.5 million.
For future developments for similar systems, there are a variety of scenarios to take into account when properly testing your environment around price fluctuations, loss of peg, and tightening the time frame between oracles or other mechanisms for determining prices.