Allocation rules: price-time and pro-rata
Your resting order was at the best price and a trade happened at that price, and you got nothing. Or you got a fraction of your size for no reason you could see.
Price decides which level trades first. Within a level, a separate rule decides who among the resting orders actually gets the quantity — and there is more than one such rule in use. The one your venue applies changes what a resting order is worth.
The problem the rule solves
Suppose 10.0 units rest at a single price, spread across four orders, and an incoming order wants 3.0 units at that price. Three of the ten must trade and seven must not. Some rule has to pick.
Price cannot break the tie, because all four are at the same price. So every venue running a limit order book needs an allocation rule — sometimes called a matching algorithm — for distributing a fill among equally priced resting orders.
The choice is not cosmetic. It determines whether posting early matters, whether posting large matters, and therefore what kind of behaviour the venue’s liquidity is made of.
Price-time priority
The most common rule, and the one most crypto venues use: better prices first, and within a price, earlier orders first.
Allocation is sequential. The incoming quantity fills the oldest order at the level completely, then the next, until it runs out. The last order reached may be partially filled; everything behind it gets nothing.
The property this creates is a strict queue. Being early is worth exactly as much as being one increment better in price, in the sense that both put you ahead of specific other orders. It is also fragile: as covered in what amending does, most changes to a resting order send it to the back.
The behaviour price-time rewards is speed — arriving before others at a price. That has a mechanical consequence for the book. It encourages posting early and cancelling often, because the cost of holding a place in the queue is low and the value of holding it is real.
Pro-rata
The main alternative: the fill is divided among resting orders in proportion to their size, with time either ignored or used only to break remaining ties.
Under a pure pro-rata rule, an order for 5.0 units at a level holding 10.0 receives half of any incoming quantity at that level. It does not matter whether it arrived first or last.
The property this creates is quite different. Nobody is shut out — everyone at the price participates in every trade at that price — but nobody gets a full fill either, and everyone receives a fraction of what they asked for. Fills are small and frequent rather than binary.
What pro-rata rewards is size. The way to get more of a fill is to post more quantity, and the quantity you post is exposed to being filled. It tends to produce thicker-looking levels, some of which is genuine willingness and some of which is the arithmetic of trying to get a meaningful allocation.
Pro-rata is more common in some traditional derivatives markets than in crypto spot venues, but hybrid forms appear in places, so it is not safe to assume price-time everywhere.
Hybrids and small-order handling
Real rules are frequently combinations, because both pure forms have a weakness worth patching.
Time-priority-then-pro-rata. A portion of the incoming quantity is allocated to the oldest order at the level, and the remainder is distributed pro-rata. This preserves some reward for arriving first while ensuring later orders are not permanently starved.
Top-order allocation. The single earliest order at the level gets a defined share before anything else is distributed. A weaker version of the same idea.
Minimum allocation and rounding. Pure pro-rata produces fractional allocations that may be smaller than the venue’s minimum tradeable size. Rules therefore include a floor — a smallest allocation — and a rounding convention, and those details decide whether very small resting orders receive anything at all.
The relevant point is not to catalogue the variants. It is that the level of the book you are resting in has a policy, that policy is published by the venue, and it changes what your resting order can expect.
The mechanism
THE MECHANISM — dividing a fill at one price
· Price-time, you are early at the level
→ filled first, possibly in full,
before anyone behind you.
· Price-time, you are late at the level
→ NO FILL unless the incoming
quantity reaches you. Trades can
happen at your price without
involving you.
· Pro-rata, any position at the level
→ a share proportional to your
size. Frequent partial fills,
rarely a complete one.
· Pro-rata, a small order
→ allocation can round below the
venue's minimum and be zero.
· Larger posted size under pro-rata
→ larger share, and larger
exposure to being filled. NO
FREE SIDE.
· Which rule applies, hybrid splits,
rounding and minimum allocation
→ VENUE-SPECIFIC. Published by the
venue and not inferable from the
book display.
Worked example
Illustrative figures, synthetic throughout. Suppose four orders rest at a bid of 40,000, in arrival order: A for 1.0, B for 2.0, C for 5.0, D for 2.0. Total 10.0 units. An incoming sell crosses 3.0 units at that price.
Under price-time. A fills 1.0 in full. B fills 2.0 in full. C, D get nothing. Two participants are done, two are untouched, and the level now holds 7.0.
Under pure pro-rata. Each order receives 30% of its size, because 3.0 of the 10.0 resting is being filled: A gets 0.3, B gets 0.6, C gets 1.5, D gets 0.6. All four participate, none completes, and the level now holds 7.0 spread across four smaller orders.
Same book, same incoming order, same total traded — and four completely different individual outcomes. C went from nothing to the largest fill purely because the venue’s rule changed.
Under a hybrid where the oldest order receives up to 40% of the incoming quantity first: A takes 1.0 (it is smaller than the 1.2 cap, so it fills in full), and the remaining 2.0 is distributed pro-rata across B, C and D by their sizes.
The failure mode
The allocation rule is invisible in the depth display. You see quantity at a price; you do not see where in the queue you sit, and on most venues you cannot see it at all. Estimating it means tracking what was resting when you arrived and what has traded since, which is inference rather than observation.
So the failure mode is quiet: under price-time you can rest at the best price for a long time, watch substantial volume trade at exactly your price, and receive none of it — because volume at your price is not the same thing as volume reaching you. There is no error, no bad venue behaviour, and no order type that fixes it. A resting order buys a claim on a queue, and a queue is a thing you can be at the wrong end of.