Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

DAMM v1 events are emitted as Anchor log events through emit!. Use this page when building indexers, trading terminals, analytics pipelines, or dashboards that need to classify DAMM v1 transactions.
DAMM v1 does not use the event-CPI pattern used by newer Meteora programs. Parse Anchor logs from the DAMM v1 program ID instead of expecting an __event_authority account.

Event Delivery

ItemValue
Program IDEo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB
DeliveryAnchor emit! log events
Source filesprograms/amm/src/event.rs and instruction handlers that call emit!
SDK compatibilityThe bundled SDK IDL also includes events used by older client snapshots, including MoveLockedLp.

Pool Events

EventEmitted byPayload
PoolCreatedinitialize_permissioned_pool, initialize_permissionless_pool, initialize_permissionless_pool_with_fee_tier, config/customizable initialization paths through the shared initializerLP mint, token A mint, token B mint, pool type, and pool address.
PoolEnabledenable_or_disable_poolPool address and enabled flag.
PoolInfoget_pool_infoToken A amount, token B amount, virtual price, and current timestamp.
BootstrapLiquiditybootstrap_liquidityLP amount minted, token A amount, token B amount, and pool address.
PoolCreated is the main pool-discovery event. Indexers should still read the current pool account and Dynamic Vault accounts because pool fees, activation state, lock totals, partner fees, and vault balances can change after creation.

Liquidity Events

EventEmitted byPayload
AddLiquidityadd_balance_liquidity, add_imbalance_liquidityLP amount minted, token A amount deposited, and token B amount deposited.
RemoveLiquidityremove_balance_liquidity, remove_liquidity_single_sideLP amount burned, token A amount withdrawn, and token B amount withdrawn.
For single-sided stable withdrawals, one output side can be zero. For balanced withdrawals, both output sides are populated.

Swap Events

EventEmitted byPayload
SwapswapInput amount, output amount, LP trade fee, protocol fee, and host fee.
Swap does not include token mint fields. To determine direction, indexers must inspect the transaction accounts or reconcile against pool state and token transfers.
FieldMeaning
in_amountSource token amount sent into the swap path.
out_amountDestination token amount sent to the user.
trade_feeLP fee component after protocol fee is separated.
protocol_feeProtocol fee component.
host_feeReferral host fee component when a host account is supplied.

Config And Fee Events

EventEmitted byPayload
CreateConfigcreate_configTrade fee numerator, protocol trade fee numerator, and config address.
CloseConfigclose_configConfig address.
SetPoolFeesset_pool_feesNew trade fee numerator/denominator, new protocol fee numerator/denominator, and pool address.
OverrideCurveParamoverride_curve_paramNew stable amp value, update timestamp, and pool address.
WithdrawProtocolFeeswithdraw_protocol_feesPool address, protocol token A/B amounts withdrawn, and protocol fee token account owners.
PartnerClaimFeespartner_claim_feePool address, token A/B fee amounts, and partner authority.
Fee numerators use FEE_DENOMINATOR = 100_000. Do not interpret event fee numerators directly as basis points without conversion.

Lock Events

EventEmitted byPayload
CreateLockEscrowcreate_lock_escrowPool address and escrow owner.
LocklockPool address, escrow owner, and LP amount locked.
ClaimFeeclaim_feePool address, escrow owner, LP amount claimed as fee, token A fee amount, and token B fee amount.
MoveLockedLpmove_locked_lp in the SDK IDL/program cratePool address, source lock escrow, destination lock escrow, and moved LP amount.
The current meteora-dynamic-amm/programs/amm source snapshot emits the first three lock events. The public SDK IDL includes MoveLockedLp for SDK compatibility.

Legacy Event Types

EventNotes
TransferAdminPresent in the event type definitions for older permissioned-pool admin flows. It is not emitted by the current source paths inspected for this guide.
MigrateFeeAccountPresent in the event type definitions for older fee-account migration flows. It is not emitted by the current source paths inspected for this guide.

Indexing Notes

TaskRecommendation
Pool discoveryUse PoolCreated, then fetch the pool, config if present, LP mint, and Dynamic Vault state.
Swap analyticsCombine Swap logs with account ordering and SPL token transfers to infer token direction and mint identity.
LP accountingUse AddLiquidity and RemoveLiquidity events for activity, but compute current LP value from pool and vault state.
Lock dashboardsUse lock events for activity and read LockEscrow for current claimable fee state.
Fee dashboardsTrack SetPoolFees, CreateConfig, PartnerClaimFees, and WithdrawProtocolFees, then reconcile against protocol fee token accounts.
Source compatibilityTreat event type presence and actual emission separately. Some IDL events exist for older flows that are not emitted by the current source handlers.