Implementation rule
Lifecycle logs are only the trigger. The final migration event is derived from the current parsed transaction, without historical cache enrichment.
Migration is not a logs-only path. The public implementation uses lifecycle detection from logs and resolves the final event from the parsed transaction of that same migration transaction.
| Source family | Target family |
|---|---|
| pump-fun | pump-swap |
| letsbonk-fun | raydium-cpmm |
| meteora-dbc | meteora-damm-v1 |
| meteora-dbc | meteora-damm-v2 |
{
"schemaVersion": "migration_event_v1",
"signature": "pump-migration-test",
"mint": "VHVDqxxo2RBM8doAVVfEd626xeEdBShMQ8fXJLgpump",
"txType": "migrate",
"pool": "pump-swap",
"poolCreatedBy": "pump-fun",
"poolId": "AnxGoVU9CYL6VcBSVYEEasS7pMyp1ye8Jfe5G5bNoBRC",
"source": "parsed_tx",
"slot": 407993895,
"block": 407993895,
"poolProgramId": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
"instructionName": "Migrate",
"hasError": false,
"timestamp": 1774138040000,
"txSigner": "dshAybqFXYVVTd4mzy9Uk6KD7km8wE9iZgPMYZdzEXc",
"initialBuy": 1156205.882352,
"solAmount": 0.477710675,
"tokensInPool": 205743794.117648,
"solInPool": 85.468069851,
"price": 4.154101960525128e-7,
"tokenProgram": "spl-token-2022",
"tokenExtensions": {},
"tradersInvolved": {
"dshAybqFXYVVTd4mzy9Uk6KD7km8wE9iZgPMYZdzEXc": {}
}
}
marketCapSolpoolFeeRatesupplyburnedLiquiditycreatorFeeAddressmintAuthority and freezeAuthorityLifecycle logs are only the trigger. The final migration event is derived from the current parsed transaction, without historical cache enrichment.
Read pool and poolCreatedBy together, and do not assume every migration family exposes the same extra economics or token metadata.