The KRW Feed That Created a Billion-Dollar Paper Profit
On June 25, 2019, one bad KRW source and an unrelated outage left Synthetix averaging two feeds. An API input 1,000 times too high distorted the average, sending an incorrect rate to the exchange contract. A bot accumulated a nominal profit above $1 billion, and the team halted the system before negotiating a reversal.

Key Points
- One commercial API intermittently reported KRW at 1,000 times the current rate while an unrelated outage left only two KRW feeds.
- A bot made several sKRW trades and recorded more than $1 billion in nominal profit in under an hour; a contemporary report observed over 37 million sETH, whose realizable value was limited by liquidity.
- Synthetix halted oracle service, stopping transfers and trading, then negotiated a reversal and added redundancy and exception handling. Its Chainlink work had already been announced in March 2019.
Chronological Timeline
Synthetix says it is working with Chainlink toward decentralized price feeds.
One source reports KRW 1,000× too high while another provider is unavailable.
Several sKRW trades produce more than $1 billion of protocol-accounted profit.
The team stops the oracle, agrees a reversal with the bot operator, resumes service and reports added safeguards.
1. The oracle transition had begun before the incident
Synthetix announced on March 12, 2019 that it was already working with Chainlink toward decentralized price feeds. The later KRW failure did not create that partnership; it exposed why the transition mattered.[2]
At the time, the live system still depended on commercial price APIs aggregated by the Synthetix oracle. That architecture made the quality and availability of a small set of external inputs a direct protocol risk.[1][2]
“We’re extremely excited about the privilege of working with Chainlink,” founder Kain Warwick said in the March announcement. It described a direction, not a completed replacement of the live commercial feeds.[2]
2. Two surviving inputs were not enough
On June 25, one commercial API intermittently reported the Korean won at 1,000 times its current rate. An unrelated outage had removed another provider, leaving only two KRW sources for the oracle to average.[1]
The oracle averaged the two remaining prices and sent an incorrect KRW rate to the exchange-rates contract. Synthetix’s incident report identifies the API error and the earlier outage, but does not provide the complete series of input prices and resulting averages.[1]
The team wrote that its outlier filter “should have absorbed this discrepancy gracefully.” With one provider already unavailable, averaging the two remaining values gave the extreme input too much weight.[1]
3. The billion-dollar figure was nominal
A trading bot made several trades into and out of sKRW. In less than an hour, those trades showed a nominal profit above $1 billion in Synthetix accounting.[1]
A contemporary report identified a balance above 37 million sETH, but also noted that thin secondary-market liquidity made its true dollar value difficult to determine. It was a dangerous synthetic liability, not proof that a billion dollars of cash had left the protocol.[3]
The Block reported researcher Teo Leibowitz’s assessment that Synthetix’s market design at the time made gains from this kind of attack difficult to realize.[3]
4. Operational control contained the event
After the community alerted the team, Synthetix’s CTO stopped the oracle service. Because the contracts required fresh prices, the stop halted transfers as well as trading across the system.[1]
The team contacted the bot owner, who agreed to reverse the trades in exchange for a bounty. Service resumed, and Synthetix said it added redundancy and exception handling to prevent a repeat.[1]
The incident is therefore a story about fragile inputs, nominal protocol debt and emergency control. Chainlink remained a key partner, but the dated record shows that relationship predated the KRW error.[1][2]
Key Takeaways for Investors & Builders
Averages inherit the weakness of a small input set
With only two surviving feeds, one extreme value could distort the result instead of being rejected.
A synthetic balance is not the same as cash realized
The reported sETH amount and headline valuation exceeded what thin external liquidity could absorb.
Emergency control changed the outcome
A team-controlled oracle halt stopped transfers and trading, making operational authority part of the incident itself.
Continue reading
Explore the topic through other cases and contexts.
Sources & References
- [1]Source 1: Synthetix response to the KRW oracle incidentSynthetix · 2019-06-25Accessed 2026-09-05
- [2]Source 2: Synthetix announces its Chainlink work before the incidentSynthetix · 2019-03-12Accessed 2026-09-05
- [3]Source 3: Contemporary report on the 37 million sETH balance and liquidity limitThe Block · 2019-06-24Accessed 2026-09-05


