Quarry
Documentation
Latency

Latency

Latency

One or two seconds blocktimes are a fundamental limitation of building games and worlds onchain. With Quarry, users receive the result of their transactions (or ERC-4337 User Operations) in as little as 7 milliseconds. These results are not optimistic updates that could be rolled back, but rather they have the same finality guarantees as any L2 block. And unlike optimistic updates, users not only receive the MUD state updates of their own transaction in as little as 7ms, but the MUD state updates of all transactions on the chain.

Wiresaw: An Ultra Low Latency Block Builder

The Wiresaw block builder operates in a first-come, first-serve model, enabling ultra-low latency

Quarry's ultra-low latency is achieved with Wiresaw, a custom block builder. Unlike the default approach to block building, where transactions land in a mempool and the sequencer picks the highest paying transactions at the end of the block interval, Wiresaw inserts incoming transactions to a pending block and commits to their ordering in a first-come, first-serve model. At the end of the block interval, the sequencer finalizes the block built by Wiresaw and inserts it into the chain.

This approach allows Wiresaw to stream MUD state updates of each incoming transactions to all clients immediately. MUD clients receive the state update of anything happening onchain within 7ms (plus two times the speed of light for the network roundtrip).

We designed sequencer-native user operations by leveraging ERC-4337. We eliminated additional overheard by adding a simple eth_sendUserOperation RPC endpoint to Wiresaw, which is optimized for maximum performance. This allowed us to achieve 7ms latency, despite the overhead presented by ERC-4337.

Wiresaw builds on top of Reth's powerful execution layer primitives. It extends the default OP Reth's components with a custom payload builder we designed from the ground up to continuously execute transaction batches while sequencing the canonical payloads.

A quarry roundtrip touching every part of the stack