Meteora DLMM
This document describes the output structure for the Meteora DLMM (Dynamic Liquidity Market Maker) decoder functions. The decoder handles six main event types: INITIALIZE_LB_PAIR, SWAP, REMOVE_LIQUIDITY, ADD_LIQUIDITY, INCREASE_LIQUIDITY, and DECREASE_LIQUIDITY.
Common Properties
All decoded events include the following base properties from BaseTransactionRecord
:
uuid
bigint
string
Unique identifier for the transaction record
instructionPath
string
string
Path to the instruction within the transaction
parentProgramId
string | null
string | null
ID of the parent program if applicable
txSignature
string
string
Transaction signature
blockTime
number
number
Block timestamp
programId
string
string
Meteora DLMM program ID
eventType
string
string
Type of event (INITIALIZE_LB_PAIR, SWAP, REMOVE_LIQUIDITY, ADD_LIQUIDITY, INCREASE_LIQUIDITY, DECREASE_LIQUIDITY)
decoderType
DecoderType
string
Decoder type identifier
blockHeight
number
number
Block height
slot
number
number
Blockchain slot number
txFee
number
number
Transaction fee in lamports
txFeeUiAmount
PreciseDecimal
string
UI-formatted transaction fee
INITIALIZE_LB_PAIR Event
Liquidity book pair initialization event.
tokenXMint
string
string
Token X mint address
tokenYMint
string
string
Token Y mint address
tokenXDecimals
number
number
Token X decimal places
tokenYDecimals
number
number
Token Y decimal places
binStep
number
number
Bin step size
baseFactor
number
number
Base factor for price bins
filterPeriod
number
number
Filter period
decayPeriod
number
number
Decay period
reductionFactor
number
number
Reduction factor
variableFeeControl
number
number
Variable fee control parameter
maxVolatilityAccumulated
number
number
Maximum volatility accumulated
minBinId
number
number
Minimum bin ID
maxBinId
number
number
Maximum bin ID
protocolShare
number
number
Protocol share percentage
baseFeeRate
number
number
Base fee rate
SWAP Event
Token swap event on Meteora DLMM pool.
lbPair
string
string
Liquidity book pair address
userTokenX
string
string
User's token X account
userTokenY
string
string
User's token Y account
reserveX
string
string
Token X reserve address
reserveY
string
string
Token Y reserve address
amountIn
bigint
string
Input token amount
amountInUiAmount
PreciseDecimal
string
UI-formatted input amount
amountOut
bigint
string
Output token amount
amountOutUiAmount
PreciseDecimal
string
UI-formatted output amount
swapForY
boolean
boolean
True if swapping for token Y
fee
bigint
string
Swap fee amount
feeUiAmount
PreciseDecimal
string
UI-formatted swap fee
protocolFee
bigint
string
Protocol fee amount
protocolFeeUiAmount
PreciseDecimal
string
UI-formatted protocol fee
feeBps
number
number
Fee in basis points
hostFee
bigint
string
Host fee amount
hostFeeUiAmount
PreciseDecimal
string
UI-formatted host fee
startBinId
number
number
Starting bin ID for swap
endBinId
number
number
Ending bin ID for swap
reserveXPostBalance
bigint
string
Token X reserve balance after swap
reserveXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve post-balance
reserveYPostBalance
bigint
string
Token Y reserve balance after swap
reserveYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve post-balance
userTokenXPostBalance
bigint
string
User token X balance after swap
userTokenXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X post-balance
userTokenYPostBalance
bigint
string
User token Y balance after swap
userTokenYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y post-balance
reserveXPreBalance
bigint
string
Token X reserve balance before swap
reserveXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve pre-balance
reserveYPreBalance
bigint
string
Token Y reserve balance before swap
reserveYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve pre-balance
userTokenXPreBalance
bigint
string
User token X balance before swap
userTokenXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X pre-balance
userTokenYPreBalance
bigint
string
User token Y balance before swap
userTokenYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y pre-balance
REMOVE_LIQUIDITY Event
Liquidity removal event for Meteora DLMM pool.
position
string
string
Position account address
lbPair
string
string
Liquidity book pair address
userTokenX
string
string
User's token X account
userTokenY
string
string
User's token Y account
reserveX
string
string
Token X reserve address
reserveY
string
string
Token Y reserve address
binId
number
number
Bin ID for liquidity removal
bpsToRemove
number
number
Basis points to remove
amountXOut
bigint
string
Token X amount withdrawn
amountXOutUiAmount
PreciseDecimal
string
UI-formatted token X withdrawal amount
amountYOut
bigint
string
Token Y amount withdrawn
amountYOutUiAmount
PreciseDecimal
string
UI-formatted token Y withdrawal amount
reserveXPostBalance
bigint
string
Token X reserve balance after removal
reserveXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve post-balance
reserveYPostBalance
bigint
string
Token Y reserve balance after removal
reserveYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve post-balance
userTokenXPostBalance
bigint
string
User token X balance after removal
userTokenXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X post-balance
userTokenYPostBalance
bigint
string
User token Y balance after removal
userTokenYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y post-balance
reserveXPreBalance
bigint
string
Token X reserve balance before removal
reserveXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve pre-balance
reserveYPreBalance
bigint
string
Token Y reserve balance before removal
reserveYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve pre-balance
userTokenXPreBalance
bigint
string
User token X balance before removal
userTokenXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X pre-balance
userTokenYPreBalance
bigint
string
User token Y balance before removal
userTokenYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y pre-balance
ADD_LIQUIDITY Event
Liquidity addition event for Meteora DLMM pool.
position
string
string
Position account address
lbPair
string
string
Liquidity book pair address
userTokenX
string
string
User's token X account
userTokenY
string
string
User's token Y account
reserveX
string
string
Token X reserve address
reserveY
string
string
Token Y reserve address
binId
number
number
Bin ID for liquidity addition
amount
bigint
string
Liquidity amount added
amountUiAmount
PreciseDecimal
string
UI-formatted liquidity amount
amountXIn
bigint
string
Token X amount deposited
amountXInUiAmount
PreciseDecimal
string
UI-formatted token X deposit amount
amountYIn
bigint
string
Token Y amount deposited
amountYInUiAmount
PreciseDecimal
string
UI-formatted token Y deposit amount
reserveXPostBalance
bigint
string
Token X reserve balance after addition
reserveXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve post-balance
reserveYPostBalance
bigint
string
Token Y reserve balance after addition
reserveYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve post-balance
userTokenXPostBalance
bigint
string
User token X balance after addition
userTokenXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X post-balance
userTokenYPostBalance
bigint
string
User token Y balance after addition
userTokenYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y post-balance
reserveXPreBalance
bigint
string
Token X reserve balance before addition
reserveXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve pre-balance
reserveYPreBalance
bigint
string
Token Y reserve balance before addition
reserveYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve pre-balance
userTokenXPreBalance
bigint
string
User token X balance before addition
userTokenXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X pre-balance
userTokenYPreBalance
bigint
string
User token Y balance before addition
userTokenYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y pre-balance
INCREASE_LIQUIDITY Event
Liquidity increase event for existing positions.
position
string
string
Position account address
lbPair
string
string
Liquidity book pair address
userTokenX
string
string
User's token X account
userTokenY
string
string
User's token Y account
reserveX
string
string
Token X reserve address
reserveY
string
string
Token Y reserve address
liquidityAmount
bigint
string
Liquidity amount increased
liquidityAmountUiAmount
PreciseDecimal
string
UI-formatted liquidity increase amount
amountXIn
bigint
string
Token X amount deposited
amountXInUiAmount
PreciseDecimal
string
UI-formatted token X deposit amount
amountYIn
bigint
string
Token Y amount deposited
amountYInUiAmount
PreciseDecimal
string
UI-formatted token Y deposit amount
activeBinId
number
number
Active bin ID
reserveXPostBalance
bigint
string
Token X reserve balance after increase
reserveXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve post-balance
reserveYPostBalance
bigint
string
Token Y reserve balance after increase
reserveYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve post-balance
userTokenXPostBalance
bigint
string
User token X balance after increase
userTokenXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X post-balance
userTokenYPostBalance
bigint
string
User token Y balance after increase
userTokenYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y post-balance
reserveXPreBalance
bigint
string
Token X reserve balance before increase
reserveXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve pre-balance
reserveYPreBalance
bigint
string
Token Y reserve balance before increase
reserveYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve pre-balance
userTokenXPreBalance
bigint
string
User token X balance before increase
userTokenXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X pre-balance
userTokenYPreBalance
bigint
string
User token Y balance before increase
userTokenYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y pre-balance
DECREASE_LIQUIDITY Event
Liquidity decrease event for existing positions.
position
string
string
Position account address
lbPair
string
string
Liquidity book pair address
userTokenX
string
string
User's token X account
userTokenY
string
string
User's token Y account
reserveX
string
string
Token X reserve address
reserveY
string
string
Token Y reserve address
liquidityAmount
bigint
string
Liquidity amount decreased
liquidityAmountUiAmount
PreciseDecimal
string
UI-formatted liquidity decrease amount
amountXOut
bigint
string
Token X amount withdrawn
amountXOutUiAmount
PreciseDecimal
string
UI-formatted token X withdrawal amount
amountYOut
bigint
string
Token Y amount withdrawn
amountYOutUiAmount
PreciseDecimal
string
UI-formatted token Y withdrawal amount
binId
number
number
Bin ID for liquidity decrease
reserveXPostBalance
bigint
string
Token X reserve balance after decrease
reserveXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve post-balance
reserveYPostBalance
bigint
string
Token Y reserve balance after decrease
reserveYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve post-balance
userTokenXPostBalance
bigint
string
User token X balance after decrease
userTokenXPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X post-balance
userTokenYPostBalance
bigint
string
User token Y balance after decrease
userTokenYPostBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y post-balance
reserveXPreBalance
bigint
string
Token X reserve balance before decrease
reserveXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token X reserve pre-balance
reserveYPreBalance
bigint
string
Token Y reserve balance before decrease
reserveYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted token Y reserve pre-balance
userTokenXPreBalance
bigint
string
User token X balance before decrease
userTokenXPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token X pre-balance
userTokenYPreBalance
bigint
string
User token Y balance before decrease
userTokenYPreBalanceUiAmount
PreciseDecimal
string
UI-formatted user token Y pre-balance
Data Types
bigint
: Large integer values for token amounts, fees, and liquiditystring
: Text values for addresses and identifiersnumber
: Numeric values for bin IDs, basis points, and other integer valuesboolean
: True/false values for swap directionPreciseDecimal
: High-precision decimal representation for UI displayDecoderType
: Enum indicating the decoder type (METEORA_DLMM)
Usage
The decoder automatically determines the event type and returns the appropriate structure. All monetary values are provided in both raw (bigint
) and UI-formatted (PreciseDecimal
) versions for flexibility in different use cases. The DLMM decoder handles dynamic liquidity market maker mechanics with bin-based liquidity management, variable fees, and concentrated liquidity features.
Last updated