Skip to Content
DevelopersMarket MakersMarket Makers

Market Makers

Market making on Drift involves providing liquidity through resting orders, JIT auctions, or both. This section covers strategies, architecture, and trading mechanisms.

Getting Started

Quickstart Guide

Get a market maker running in 10 minutes

Learn how to place two-sided quotes that automatically update with oracle prices. Perfect for understanding the basics before diving into advanced strategies.

Understand quickstart guide ↗

Choosing a Strategy

Drift supports three distinct market making approaches. The right choice depends on your latency infrastructure, capital efficiency goals, and operational complexity tolerance.

Normal MMJIT-onlySWIFT
How it worksResting limit orders on the DLOBReact to taker auctions in real-timeReceive signed taker orders offchain before auction
Latency requirementLow (seconds)Medium (sub-second)High (100-500ms edge)
InfrastructureSimple , place orders, update periodicallyModerate , auction subscriber + fill logicAdvanced , WebSocket feed + fast tx submission
Capital efficiencyOrders locked on-chainCapital deployed only when fillingCapital deployed only when filling
Adverse selectionHigher , resting orders can be picked offLower , choose which auctions to fillLowest , earliest look at order flow
Maker rebates✅ Yes✅ Yes✅ Yes
Txs/day (oracle offset)~30Varies with flowVaries with flow
Best forPassive MM, low-touch strategiesActive MM, inventory-aware fillsCompetitive latency-sensitive MM

Recommendation: Start with Normal MM using oracle offset orders (orders float with the oracle automatically, requiring very few transactions). Add JIT participation when you want to capture auction flow. Add SWIFT when you need the latency edge over other JIT makers.

Market Making Strategies

Normal Market Making

Resting orders on the DLOB

Place limit orders that rest on the orderbook until filled. Use oracle offset orders to automatically track the oracle price with minimal transactions. Earn maker rebates while providing committed liquidity.

Best for:

  • Passive market making
  • Earning maker rebates
  • Lower infrastructure requirements
  • Traditional orderbook strategies
Understand normal market making ↗

JIT-Only Market Making

Active market making through auctions

React to incoming taker orders during JIT auctions without maintaining resting orders. Compete for fills at better prices. Capital is only deployed when you choose to fill.

Best for:

  • Active market making
  • Dynamic pricing strategies
  • Avoiding adverse selection
  • Selective flow participation
Understand JIT-only market making ↗

Bot Architecture

Production patterns and best practices for building reliable market making bots. Covers priority fees, health monitoring, graceful shutdown, error handling, and operational considerations.

Understand bot architecture ↗

Understanding Drift’s Trading Mechanisms

Orderbook & Matching

How orders are matched and filled

Learn about the DLOB architecture, liquidity priority (JIT → DLOB → AMM), and how to access orderbook data via HTTP, WebSocket, or SDK.

Essential reading for understanding execution flow

Understand orderbook & matching ↗

JIT Auctions

Just-In-Time auction mechanics

Deep dive into how JIT auctions work, auction pricing, maker participation, and place-and-make patterns.

Critical for competitive market making

Understand JIT auctions ↗

Advanced Features

SWIFT API

Ultra-low-latency order feed

Receive signed taker orders offchain via WebSocket before they hit the auction. Enable sub-second reaction times with SWIFT place-and-make.

Latency advantage: 100-500ms faster than onchain feeds

Understand SWIFT API ↗

Indicative Quotes

Offchain liquidity signaling

Signal intent to provide liquidity at certain prices without committing onchain orders. Helps with price discovery for takers and aggregator routing.

Use case: Show liquidity for UI/aggregators

Understand indicative quotes ↗

Reference Implementations

Drift maintains open-source reference bots in keeper-bots-v2 :

BotSourceStrategy
FloatingPerpMakersrc/bots/floatingMaker.tsOracle offset resting orders on DLOB
JitMakersrc/bots/jitMaker.tsJIT auction fills using JitterSniper/JitterShotgun

Tip: The FloatingPerpMaker is the best starting point for understanding oracle offset orders in production. The JitMaker shows how to use the @drift-labs/jit-proxy library for auction participation.

Last updated on