Bad Eggs: How Big Egg cracked the market interface and scrambled prices

A recent DOJ complaint gives a masterclass in how to use market position to exploit market mechanisms.

A brown egg with a drawn-on smiley face and a white egg with a black dollar sign sit in a small, silver shopping cart with a pink handle. The eggs are the main focus of the composition.
Egg Character in Shopping Cart on Black Background by ktkbr-lew

Like many other staples of the American diet, eggs enjoyed relatively stable pricing until the post-COVID era. However, ever since Americans began feeling squeezed financially, they’ve become ground zero for the political battleground around inflation. The fight over egg prices is a microcosm of a broader debate between greedflation (or more narrowly excuseflation)[1]1 versus market fundamentals. Opponents of the excuseflation view argue that prices have been rising in an era where market distortion—from stimulus checks in the COVID-19 pandemic to bird flu—is prevalent. But excuseflation proponents have recently been handed new evidence in the form of a Department of Justice complaint that alleges the three largest egg producers in the country colluded to raise prices.

Rather than conjuring images of seedy characters in a backroom, the complaint indicates that these producers gamed a pricing benchmark that was referenced in their contracts with distributors. Many of the tactics described map cleanly to exploit failure modes I discussed in my Geometry of rules blog post, where I illustrated how people game systems like computers, sports leagues, and markets.

This post is not intended to argue that the collusion alleged by the DOJ is the sole cause of egg price increases. Instead, I want to use the allegations to illustrate underappreciated features of markets. Let’s review the complaint together to understand what it tells us about how markets work, beyond the world of simple supply and demand.

What happened?

The civil suit, brought forward by the DOJ and a bipartisan coalition of Attorneys General from 17 states, alleges that the largest egg producers coordinated to alter prices. According to the suit, between June 2022 and March 2025, the defendants coordinated to inflate the daily egg-price quotations published by Urner Barry Publications, Inc., a firm that reports market pricing information for eggs of across multiple regions (Midwest, Northeast, Southeast, Northwest, California, South Central). The defendants engaged in a multitude of tactics, including submitting fake bids, engineering premium trades, and lobbying the benchmark’s reporters directly.

Specifically named in the lawsuit are Cal-Maine Foods Inc. (Cal-Maine); Hickman’s Egg Ranch Inc. (Hickman’s); Centrum Valley Holdings LLC, Versova Holdings LLC, and Versova Management Cooperative (Versova); and an unspecified “Cooperative A” based in Colorado, which appears to be a collective to which the other defendants belong. Cal-Maine alone makes up roughly 20 percent of national egg production, though as we’ll discuss, this particular market failure revolves less around supply and more around spoofing market activity to game a benchmark that affects the market price.

Urner Barry’s formulation for its price quotient is proprietary; however, it is known to be at least partially based on trades, bids, and offers made on Egg Clearinghouse, Inc. (known as ECI in the industry). ECI is an electronic exchange used by egg producers to sell any excess inventory or buy extra eggs to shore up inventory—basically a spot market that provides just-in-time inventory for producers. This spot market enables producers, especially large producers, to run “net short,” where they commit to selling more eggs than they have on-hand, with ECI trades making up the gap.Downstream of ECI sits the distributors like supermarkets and other sellers who buy from egg producers. Producer-distributor transactions are managed through contracts that use Urner Barry’s price quotient as a basis. Because of this activity on ECI influences Urner Barry’s issued quotient, despite ECI and other clearinghouses making up only around 10 percent the total market for eggs.

Downstream of ECI sit the distributors, i.e., supermarkets and other sellers who buy from egg producers. Producer–distributor transactions are managed through contracts that use Urner Barry’s price quotient as a basis. Because of this, transactions on ECI influence Urner Barry’s issued quotient, despite ECI and other clearinghouses making up only around 10 percent of the total market for eggs.

Even though the broader egg market is much bigger than the 10 percent that ECI and other clearinghouses constitute, the fact that ECI activity is represented in Urner Barry’s benchmark made it the first target for collusion. Targeting ECI was trivially easy because the defendants, who are among the largest egg producers in the country, already trade with each other on ECI. This allowed them to leverage their existing relationships. Most importantly, though, as these producers represented a large segment of the market, teasing apart their behavior from market conditions was hard unless you already suspected collusion. Attributes like the volume and timing of bids could be explained away as net short providers needing a sudden increase in inventory that day to meet a genuine change in market demand. The coordinated behavior was also timed during one of the worst bird flu outbreaks in history, providing further cover for the collusion. Upstream of this, Urner Barry itself would become a second target. The DOJ complaint details six core tactics egg producers engaged in:

  1. Agreeing to submit a large number of bids in order to influence Urner Barry’s price quotations.
  2. Agreeing that multiple defendants would submit bids so that a diverse set of market participants were bidding.
  3. Agreeing to submit a large number of bids in the hours leading up to the publication of Urner Barry’s price quotations.
  4. Agreeing to submit bids that were unlikely to lead to executed trades in order to increase Urner Barry’s price quotations.
  5. Agreeing to execute real trades off of ECI (but still reported to Urner Barry) at premium prices in order to artificially inflate Urner Barry’s price quotations.
  6. Lobbying Urner Barry directly to get the firm to ignore lower bids in benchmarking considerations.

The complaint is pretty brisk reading, as much of it contains quotes of executives admitting their cartoonishly corrupt collusion with phrases like “We need to bid like they vote in Chicago, early and often.” But what can this episode teach us about markets?

Markets are a trust technology with an extensive set of trust boundaries

Many markets revolve around coordination devices that exist either as useful fictions or as codified artifacts. These coordination devices play an important role in enabling market formation, but can also affect the flow of a market transaction. June’s SpaceX post provides an example in the form of indexes and trackers that bind passive investors to decisions made upstream of them. Benchmarks like Urner Barry’s are another example. Coordination devices in the form of benchmarks are so common that Bloomberg Finance writer Matt Levine often writes about similar market scandals by comparing them all to LIBOR (London Interbank Offered Rate).[2]2

LIBOR was an interest rate benchmark that underpinned trillions of dollars in loans and derivatives. Its rate was sourced by surveying banks on what they’d charge each other for short-term loans, then averaging the responses after discarding the highest and lowest. However, the same banks being surveyed held enormous books of contracts whose rates were tied to even minute changes in LIBOR. A bank’s trading desk holding interest-rate swaps had a direct stake in where LIBOR landed on any given day; getting the person submitting the bank’s LIBOR number to nudge the submission favorably cost nothing but made positions significantly more profitable.

During 2008, a similar but distinct gaming of LIBOR surfaced, where banks submitted artificially low rates during surveys to avoid looking financially weak. Many global banks like Barclays, UBS, and Deutsche Bank became implicated in this scandal before LIBOR was ultimately phased out between 2021 and 2023. Issues like these effectively made LIBOR less than worthless for coordination or gaining information about the market because it didn’t just provide inaccurate information; it provided inaccurate information that actively benefited private parties. Personally, I think Levine’s LIBOR framing partly undersells the most interesting parts of the Urner Barry case, which is why I’m writing about it.

It is true that like LIBOR, the egg market’s benchmarks provide a deceptively “impartial” way to set prices. The goal of something like Urner Barry’s price quotient is to create a snapshot of the entire market, such that a single person (like an executive saying: “We need to bid like they vote in Chicago…”) cannot have undue influence on daily egg prices. In theory, distributors can rely on such benchmarking to anchor their price expectations and codify those expectations by entering into contracts that execute based on the benchmark.

So, functional benchmarks genuinely enable market formation by reducing some of the uncertainty required to remain in the market. Conversely, though, this expands the trust boundary required for a market to work. Instead of the market operating directly on market inputs, like raw quantities of eggs sold, for example, coordination devices like Urner Barry’s price quotient force the market to operate on representations of market inputs (as codified by whatever assumptions were used to produce the benchmark). If the benchmark makes poor assumptions or gets gamed, then market mechanisms like price are influenced by these factors rather than any underlying market fundamentals.

I call the act of using codified representations in markets “capitalist serialization.” This is named after the computer science term serialization, which refers to using a schema to break a structured object down into standardized pieces to make it more portable. Running computer code often requires dependencies that may not be on a specific machine. To get around this, programmers have created portable data formats (e.g., json, xml, yaml) that can be read by any computer regardless of dependencies, enabling machines that don’t have the same underlying code installed to share data.

Serializing inputs to steer market outcomes

Serialization in markets serves much the same function it does in computer programming, but using law instead of code. Law creates compact objects that are operated on in market transactions. A deed contains the rights and entitlements to a home. That deed itself can be referenced in a mortgage or a home equity line of credit.

The trouble with serialization, though, is that wherever there is an unspecified gap in a serialized abstraction, there’s an exploit. In the lead-up to the Great Financial Crisis, mortgage-backed securities (MBS) sliced pools of mortgages into tranches and repackaged or (re)serialized these pieces of mortgages in such a way that the abstraction—a derivative financial instrument—became untethered from the assets it was supposed to reference.

Serialization, especially when practiced this way, changes the way information surfaces within markets. If you imagine markets as a machine that executes actions based on states in the world, the recursive serializing of a derivative asset effectively maps internal states in the financial system (bids, holdings, etc.) to incorrect states in the broader world. If an AAA tranche actually corresponds to subprime mortgages but has been packaged in a way that removes that context, all trades made on this basis effectively are routing to the “wrong” slices of reality. It would be the equivalent of typing google.com into your browser and it instead immediately resolving to misaligned.markets.

In my Geometry of rules post, I created a pedagogic intuition pump, mainly for myself, to illustrate this idea. This took the form of three circles labeled R, G, and C:

  • R is the real world where all possible actions and states exist.
  • C is where domain-relevant actions and states exist. In a market, this is the world of serialized abstractions that are used for operations like exchange and pricing. C can actually be thought of as an overlay covering a small region of R.
  • G is a “governor” that is responsible for parsing valid states between C and R and preventing resolution of invalid states. In domains like cybersecurity and markets, I’ve referred to G as an interface because it sits at the boundary of the domain and translates inputs between the domain and the broader reality.
A simple illustration of how a governor views a domain where 'X' represents an action or state. The governor has a detection radius that expands slightly outside the activity.

In markets, those who are closest to the mechanisms of market formation get to either shape serializations in C or directly control mappings in G. This functionally allows the market maker to condition or structure an exchange on mappings of their choice. Weaponizing market mechanisms in this way creates what I’ve referred to as an enforceable asymmetry of action. This is when the mechanisms of the market resolve in such a way that a counterparty has no choice but to accept the outcome of a specific transaction or leave the market. As I said in my SpaceX post, this is not unlike the fact that if your browser visits a site, it implicitly must accept the scripts on the page. Likewise, that site’s owner must accept the applications running on the server serving the page.

The gaming of Urner Barry’s price quotient belongs to this class of market failure, for lack of a better term, but functionally all market coordination devices have some distortive power over market mechanisms, as they govern what a market operates on.

As a brief aside, consider digital rights management (DRM), which protects the copyright of digital goods like software and files. The marginal cost to reproduce a digital good is nothing. Left alone, market mechanisms would place downward price pressure on much of the digital economy. Industry groups, however, lobbied for the right to embed access-restricting tokens into software, which eventually was deployed into physical devices as well.

The rules governing DRM are broad; it is a very wide abstraction that went from protecting music record labels’ copyright to preventing consumers’ right to repair physical systems. The result is that hardware has become an active site of rent seeking—either in the form of planned obsolescence or forcing consumers to subscribe to features their hardware is already capable of. For example, drivers are now paying monthly to access to features in cars (while being spied on) and farmers are paying subscriptions for new tractor features.[3]3

From the outside looking in, an economist might view the growth of these subscription verticals as some organic market signal. Consumers must have some revealed preference for buying new over repairing what they own, purchasing seat warmer subscriptions, and liking telemetry since they buy products with these limitations. However, from the inside, it could very well be that DRM is being weaponized to compel specific behaviors from customers. In extreme cases, DRM can even be used to prevent the servicing of bionic components.[4]4 Failing to understand the role abstractions like property rights play in routing market activity would lead to paradoxical conclusions like thinking patients desire inoperable prosthetics, as opposed to simply reading this as a market failure.

This is why, instead of focusing on LIBOR analogies (like Matt Levine) or market concentration (like Matt Stoller and Basel Musharbash), I’m narrowly writing about how codified representations provide weaponizable surfaces for steering transactions. The very tools we use to form markets, such as property rights and pricing benchmarks, are attack surfaces that distort markets. We must trust their creators and beneficiaries to not leverage them against us.

Detailing the vulnerability (CVE for an “eggsploit”)

With that background covered, let’s play the attack forward. Urner Barry creates a benchmark that’s used for years to track the market for eggs. By itself, the benchmark is inert; market mechanisms don’t care about it until it’s serialized via a contract that compels enforceable market behavior. During the time frame of the allegations, this price quotient and its underlying assumptions were enforced by producers via contracts.

The six actions that the DOJ alleges the defendants engaged in are each designed to attack specific assumptions used by Urner Barry to create its quotient. Going back to our circles, we can imagine C is the world of the assumptions and resulting representations created by Urner Barry’s efforts to model the market. This is where the defendants staged their attacks via false activity designed to feed Urner Barry the types of market signals that would nudge prices upwards.

We don’t actually know what assumptions were made in creating the price quotient, but we can attempt to reverse-engineer what they might be by inferring the motives of each action the defendants took:

1. & 4. Coordinating on bid volume, including trades unlikely to execute

“[l]et it rip.” — Cal-Maine’s former CEO, the morning of December 4, 2024

The fact that defendants allegedly coordinated repeatedly to make large numbers of bids suggests that as part of its assessment, Urner Barry used ECI activity volume as a proxy for market conditions. Presumably this was a proxy intended to serve as a signifier of total market demand.

As you likely know, and as I’ve discussed repeatedly on this blog, proxies are simplifications of the world that lead systems to optimize for the wrong thing. In this case, Urner Barry’s presumed assumption allowed a near oligopoly of companies that already traded with each other to synthesize a false demand signal.

This tactic resembles a Sybil attack on distributed computer networks, where a single source spoofs resources to gain control of the network. Most commonly, this takes the form of creating large quantities of identities (like user accounts) that the attacker controls. Sybil attacks are thwarted partly by making it costly to engage in the behavior. The fact that the defendants knew each other and already constituted a significant part of the market, however, greatly reduced the costs of simulating fake market activity. The defendants even made trades they knew they weren’t going to execute, suggesting that Urner Barry used intent, instead of actual market activity, to build its price benchmark.

Given that these producers constitute much of the market, reducing their assigned collective weight—along with not processing bids as a demand signal—would have dampened the use of the channel to manipulate the price quotient.

2. & 3. Rotating which defendants submitted bids and timing bids early

“Consider posting strong bids, early and often. The market reporters don’t get in for another hour, so it will be good for them to see diverse bidding upon logging on.” — Hickman’s CEO, the morning of December 20, 2022

Tactic two indicates that in order to strengthen the legitimacy of the market signals the defendants were spoofing, they ensured diversity in who was making bids. It’s possible this means that the price quotient to some extent takes into account sources of bids when inferring market demand. More market participants bidding more frequently look more “real” than one actor alone changing their bidding behavior.

Tactic three was a staple for nearly all planned bids, which were timed early in the morning when Urner Barry analysts were most likely to see them ahead of producing their daily reports. Being first to bid and being the largest actor(s) in the market means guaranteeing you’re the first to influence the price. As the quote from Hickman’s CEO suggests, the defendants understood that both tactics were crucial.

5. Executing premium trades outside ECI

“...more eggs? [The Urner Barry reporter] needs premium trades to hang her hat on” – Cal-Maine executive, August 7, 2023

The defendants were very comfortable taking actions off of ECI as well. Clearly having a good read for how a specific Urner Barry reporter thinks, the defendants effectively targeted this person to feed market signals. While this doesn’t tell us directly how Urner Barry weighs non-ECI trades, the fact is that the defendants felt it was worth it to execute trades among themselves at someone’s expense.

In at least three cases, Cal-Maine and Versova executed private trades. Each time, one of them ate a loss, buying at a premium in order to be rewarded with the payoff of moving Urner Barry in their preferred direction. This isn’t unlike the nudging of LIBOR reporting in order to improve basis points for a bank’s current outstanding trades. Because these trades were between co-conspirators, the cost of “overpayment” was effectively subsidized through collusion. Two days after August 7, Urner Barry raised its quotations across every region except California, and the CEO of Cooperative A forwarded the Urner Barry report with a one-word verdict: “[f]inally!!!!

6. Lobbying Urner Barry directly

Finally, defendants allegedly lobbied Urner Barry directly at times, asking for them to ignore lower bids that weren’t theirs. This resembles a social engineering side-channel supplementing the primary Sybil attack coming from the spoofed signals from defendants’ ECI bids.

A two-way exploit

The complaint explicitly details that the defendants’ alleged activity was used to both increase prices and to hold prices high when the market began correcting. The quote “...bid like they vote in Chicago...” comes from an episode where Hickman’s CEO noted that Urner Barry was planning to lower its egg price quotations and urged other defendants to bid repeatedly to hold up the price.

Didn’t other market actors have influence over the benchmark, too?

In theory, Urner Barry’s benchmark was at least partly responsive to inputs provided by other market actors. Why didn’t they coordinate to push prices down? Well, there’s genuinely just the possibility that they didn’t know what was happening. The defendants chose to do this activity while bird flu and other exogenous events gave cover for price increases. We unfortunately have no way of knowing how much price volatility we can solely attribute to the gaming of Urner Barry. This is, of course, by design. The largest participants of a tiny spot market frantically bidding up eggs look like they’re just honestly trying to meet changes in demand for the day. But that’s what makes it the perfect crime. The companies all knew each other given how small the market was; they knew they could use their existing relationships and their size to change the volume of their activity without drawing attention.

Beyond this, however, even if other market actors were aware of what was happening, because the defendants constitute a larger portion of the market, collectively they have greater influence on the benchmark. They have the capacity to make more trades, to sell eggs to one another at a temporary loss, to continuously lobby the benchmarking entity to discard activity from competitors.

It’s extremely important to note that while market structure alone does not describe what happened, this scale of coordinated collusion—mediated through third parties like ECI and Urner Barry—would not have been possible without market concentration.

In my SpaceX post, I commented that there were no easy solutions to fixing the exploits detailed in that post. With Urner Barry, we actually have an entire stack we can patch. Here are the five layers relevant to the defendants’ behavior and how to address each:

1. Fix the benchmark

Here, Levine’s LIBOR reference pays off. LIBOR was phased out in favor of alternatives like SOFR (the Secured Overnight Financing Rate), which is built from observable, executed transactions rather than self-reported estimates. This is an architectural fix that moves a benchmark’s input from something participants assert to something they can only do. The egg spot market might be too thin for this to work, however, as it’s very small with a handful of actors. This possibility, even if not completely true, suggests that something besides a benchmark might be needed to accurately observe and coordinate the market.

2. Use better signals for the representations feeding the benchmark

Assuming the benchmark is salvageable, building it with better assumptions could make its constitutive representations and market signals more resistant to tampering. In my framework, I refer to this as reducing the gap between an abstraction in C and its relevant states in R. You’re basically changing how you build and read the signals that inform the benchmark.

In this case, perhaps bids alone (especially reversible bids) might not be useful for observing the market. At the very least, bids should be weighed against trades that are actually executed. Furthermore, bids coming from a single set of sources should also be given less weight. I suspect, though, moving away from using a thin spot market as an index for a broader market is just a better idea.

All that said, just as in security, there’s no perfectly foolproof system. The cryptocurrency community is rife with examples that prove this. Building benchmarks with clear assumptions and removing human judgment does not prevent these types of failures. It just changes the way in which they occur.

3. Address the market structure

On a less abstract, more material level, the collusion was mediated through two private entities—ECI and Urner Barry—one of which supplied the benchmark that laundered the manipulation into a “neutral” price. If that sounds familiar, it should: it’s not unlike the ratings agencies of the 2000s stamping AAA on instruments full of junk. Essentially, these are both markets relying on a private firm whose discernment and codified representations are a core lever of market formation. In markets like these, you’re trusting private actors to not collude regarding an abstraction no one else can observe. That’s a recipe for a guaranteed enforceable asymmetry of action, where the benchmark exploiters have the advantage!

There’s genuinely a case that if there needs to be a market representation or benchmark governing transactions, then maybe it should be transparent or publicly managed. Beyond that, if the market genuinely is too thin, there’s the option of breaking up producers large enough to hide their collusion through volume.

4. Eliminate the benchmark as a binding representation altogether

The question that set me down the path of my serialization idea was: In a given transaction, whose representation of reality governs a specific exchange? Basically, whose abstractions (property rights, benchmarks, whatever) must a transaction go through and thus are “binding” for economic outcomes?

With the DRM examples above, we find that transactions are conditioned on the token that controls how a consumer accesses a product. With Urner Barry, we clearly have a proprietary benchmark governed by people who may be on a first-person basis with the largest producers in the market. Something no one seems to have asked is why on earth should the price of a staple food revolve around a private actor’s benchmark, especially if it can be gamed?

5. Deter the actors 

Corporations aren’t literally people (yet), but people execute the actions of a corporation. You can target individual actors who carry out plans like this. In this particular case, the DOJ’s remedies focus on limiting the ability of officers at the defendant companies from communicating about bidding or the intent to game the benchmark. This is good enough to prevent a verbatim replay of this attack, complete with the same CEO writing “finally!!!!” in response to correspondence about their corrupt plans. But there are other means of collusion, many of which may not involve a paper trail or even require any form of communication at all. In modern markets, there are many types of tacit collusion so well known they have names: follow-the-leader pricing, algorithmic collusion, etc. When Amazon compells sellers to raise their prices on other websites, it does not require CEO Andy Jassy to pick up a phone and scream at Amazon sellers.

As far as the DOJ’s actor deterrence strategy goes, all relevant defendant officers face no personal liability and the remedy sunsets in five years. Hopefully everyone involved learned a very valuable lesson.

Are any of these “patches” actually available?

Even if they can feasibly be stacked together, most of my suggestions require a perfect world. At each layer, you’d have to nudge a powerful, private actor into doing the right thing, which is probably partly why the DOJ’s remedies focus on direct officer communications between the defendants and nothing else. This ultimately means whether we patch something like this is a political decision subject to all the difficulties that implies.

In future posts, I’m likely going to cover major cryptocurrency failures using this lens, as the domain is extremely instructive, given that it is the literal fusion of markets and computers. I’ll also cover their attempts to address such failures and where these solutions are incomplete.


If you liked this blog post support my tea habit by tipping me!

  1. There is a difference between excuseflation and greedflation, however small. Excuseflation specifically refers to raising prices under the cover of another market occurrence. Greedflation is simply raising prices as high as possible. These aren't mutually exclusive, but I find excuseflation easier to "prove" because it has a mechanism. See here and here for more detailed descriptions.
  2. See Libor Was Made Up Anyway, Was Chicken Libor Manipulated Too?, and Egg Libor Was Also Manipulated.
  3. I'm aware the status of some of these attempts at enclosure has stalled. Texas' current AG has taken automobile manufactuers like GM to court over data collection. There has been resistance to some of John Deer's anti right-to-repair policies. Despite the pushback, though, similar beahviors persist.
  4. Cases like Second Sight, which I've talked about before, are best case scenarios. But there are active pushes to make prosthetics harder to service.