Para desarrolladores: esquemas completos
gradtrades
Filas de ejemplo (de la muestra)
grad
{"type":"grad","t":1791640841373,"bt":1791640840,"slot":455281028,"sig":"45ZhqvZwD3SC18TUZ8wQjR1uWHQn91cqTJyiftnyFnJkeoyqoiRXopZTxhHo1TpopAi6HFSwEzsSEUMPcpTfuJWQ","mint":"9pAbYE6q9t5F8tDdrJWrVyMKEYhZnPLwB6hNEHPSnkkt","pool":"2uNzE8XXwRksCymmGtyPfg7oYBYn5E2Kg1hrgP3GteK4","coinCreator":"CfZELPLk52fdxb5DTwfEnZqepPv8vjWsfJZMnGRXLgJP","poolBase":198060505.73945,"poolQuote":88.783503748,"virtualQuote":17.584505653,"price":5.37048e-7,"capSol":537.05,"curveSol":88.783503748}
trade
{"type":"trade","t":1791640800002,"bt":1791640787,"slot":455280784,"sig":"5QxGRXZWhMUGwHbYMf4rzZYBRKZ3735w5QhfYVX56kTzJPTsXGeGuwYQqLveKdzMmnQZjuUWbQNd9Xy7gLtW4tGG","i":0,"mint":"95ccfn4UAUu3mQSvi7NJSJkHEnoLdW58qcRwwzmepump","side":"buy","user":"Doofp8oxQrc3BL5xCtiSADYM5BdTvgRqRTPX9EunRAPE","baseAmount":3475.693603,"quoteAmount":0.000977776,"price":2.81318e-7,"poolBase":250399895,"poolQuote":53.41453236,"priceAfter":2.81322e-7,"userTokensBefore":1480831.488923,"lpFee":1.96e-7,"protocolFee":0.000009094,"creatorFee":0.000002934,"ix":"buy_exact_quote_in_v2"}
end
{"type":"end","t":1791640817904,"mint":"R22RNSXj4ambV2wNFJJkLEuvUa54CPTCbqkwkBZpump","why":"window","buys":2799,"sells":3186}
down / up
{"type":"down","t":1791640822088}
{"type":"up","t":1791640823203}
El par down / up es real: a las 14:00:22.088 UTC se cortó la conexión al flujo de datos y volvió 1.1 s después. Pueden faltar operaciones de ese segundo. El hueco se registra como filas; nunca se rellena.
Esquema
Cada fila tiene type y t (ms desde 1970 UTC, cuando nuestro registrador la recibió). Cantidades de SOL en SOL y de tokens en tokens enteros (6 decimales). Fuente: RPC público de Solana (logs del programa PumpSwap).
gradtnumbertiempo de graduación (ms; block time de la cadena si se detectó tarde)
gradbtnumberblock time (s)
gradslot, signumber, stringslot y firma de la transacción de graduación (migración)
gradmintstringmint del token de la moneda
gradpoolstringsu pool de PumpSwap
gradcoinCreatorstringwallet que recibe las comisiones del creador de la moneda
gradpoolBase, poolQuotenumbertokens / SOL iniciales en el pool
gradvirtualQuotenumberSOL virtuales extra de PumpSwap en el cálculo del precio (~17.6 SOL, Oct 2026)
gradpricenumberSOL por token al graduarse
gradcapSolnumberprecio × 1e9 (capitalización en SOL, ~496 para una graduación normal)
gradcurveSolnumberSOL recaudados por la bonding curve
gradlatebooldetectada tarde; faltan las operaciones anteriores a followFrom
gradfollowFromnumberms; las operaciones están completas a partir de aquí
gradfollowboolfalse = moneda no seguida (capitalización fuera de 300–600 SOL o detectada demasiado tarde)
tradebt, slot, sig, inumber, number, string, numberblock time (s), slot, firma e índice de la operación de PumpSwap dentro de la transacción. Un sig de 64 unos (el dígito 1) indica que el RPC no informó la firma (raro: unas pocas filas por millón)
trademintstringmoneda
tradeside"buy" / "sell"sentido (compra o venta)
tradeuserstringwallet que operó
tradebaseAmountnumbertokens comprados o vendidos
tradequoteAmountnumberSOL pagados (compra, con comisiones) o recibidos (venta, después de comisiones)
tradepricenumberquoteAmount / baseAmount (precio efectivo, con comisiones)
tradepoolBase, poolQuotenumbertokens / SOL reales del pool después de la operación
tradepriceAfternumberprecio del pool después de la operación: (poolQuote + virtualQuote) / poolBase
tradevirtualQuotenumbersolo cuando cambian los SOL virtuales del pool (raro)
tradeuserTokensBeforenumbersaldo de esta moneda en la wallet justo antes de la operación
tradelpFee, protocolFee, creatorFeenumbercomisiones en SOL
tradecreatorbooltrue cuando el trader es el creador de la moneda
tradeixstringvariante de la instrucción, por ejemplo, buy_exact_quote_in; ausente en una compra normal
traderecoveredboolel log se truncó; operación leída de la transacción completa
endmint, why, buys, sellsstring, string, number, numbermoneda que se dejó de seguir: window (30 min cumplidos), evicted (límite de 30 monedas), budget (presupuesto de datos); conteos registrados
down, uptnumberse cortó / volvió una conexión al flujo de datos: pueden faltar operaciones entre ambos momentos
resumemintstringmoneda retomada después de un reinicio; faltan los datos del intervalo anterior a t
pregrad
Filas de ejemplo (de la muestra)
create
{"type":"create","t":1791640827094,"mint":"EYrWRPj4umi4AyUgiG2S6YjKhpu3oz6hc4wFNKPypump","creator":"7mHmNh6BFNWpFp5qh2VXRNzsK63zZ5ZQGQY77khANBQW","sig":"f6etp6K3nBnA6P5fhrupy8CZafaMQ9NQ7UQN1ZZbUwEvwEdi2uMndc3d1aYTz3mBYC5hqXTqg8KFJqynwqEgTx5","name":"beer","sym":"beer","devTokens":2442400.964047,"devSol":0.068442865,"capSol":28.087,"curve":"BwWK17cbHxwWBKZkUYvzxLcNQ1YVyaFezduWbtm2de6s","mayhem":true}
curvex
{"type":"curvex","t":1791640818055,"slot":455280896,"curve":"9UfpfsVkwAi9ynZHq6Wi7WjZEzL2Kp8jEbDdfWfjs5gV","mint":"9pAbYE6q9t5F8tDdrJWrVyMKEYhZnPLwB6hNEHPSnkkt","cap":304.08,"cross":300,"sol":68.935,"sinceFirstS":196.7}
ctrade
{"type":"ctrade","t":1791640836449,"bt":1791640836,"slot":455281007,"sig":"eMR2wKhSwrcTvpdLLxRkTpAJ91PYf8EHNvhJJGVuBQaJtVSqeQQsad4QWQxNHp6VQurGi4KRUToU6tzV7F7FcQJ","i":0,"mint":"9LcWKxyvcWTbzwumh7cHaUakgy4eKW4B7pWo4ZLcVM64","side":"buy","user":"E2ridaSSvdWMDJ2YfiH1X6TYSurf2gTZpDFLJ9qMmQLk","sol":0.048888888,"tokens":244185.00765,"capAfter":200.334,"curveSol":50.304208}
migrate
{"type":"migrate","t":1791640841042,"mint":"9pAbYE6q9t5F8tDdrJWrVyMKEYhZnPLwB6hNEHPSnkkt","sig":"45ZhqvZwD3SC18TUZ8wQjR1uWHQn91cqTJyiftnyFnJkeoyqoiRXopZTxhHo1TpopAi6HFSwEzsSEUMPcpTfuJWQ","pool":"pump-amm"}
grad
{"type":"grad","t":1791640841373,"mint":"9pAbYE6q9t5F8tDdrJWrVyMKEYhZnPLwB6hNEHPSnkkt","slot":455281028,"capSol":537.05,"creator":"CfZELPLk52fdxb5DTwfEnZqepPv8vjWsfJZMnGRXLgJP"}
record
{"type":"record","t":1791640859732,"mint":"4DpjsfKA8uSzscqWsyZqqZJ83wvopfBmmmAsqJpnH7Kd","sym":"Ed","name":"Ed","pool":"22FiEsj8GfHYp7vDC88gFy833mXzqDpKuvPZ574hgLv4","slot0":455281034,"sig0":"3HikNGkRwodBdHgDgsvpcGnTpJqYBTVqNKRpRry3dsxQFk86Mt5EMscKCsT2goZLQFqX48R9nu3B8NACCeqqiJiy","t0":1791640842431,"bt0":1791640842000,"src":{"first":"pumpportal","gradRow":true,"migrate":1791640842431,"curveCompleteS":0.68},"creator":"DPZpMGnuq44KE77yCjS1oq6UdqhNNSAURcB1AzQeQQTf","create":{"t":1791640165488,"sig":"3b4RzKnmb1MsYXJB1AAeFQevWMcioQMm5DSCy15kznu47kD8735q9fVT2vLvoyAuKeHdtKc93E5vhpQ7deTY3EeE","src":"pumpportal","mayhem":false,"capSol":33.957},"ageS":676.9,"instant":false,"cap0":511.65,"curveSol":86.467621472,"devBuyTokens":99366691.529599,"devBuyPct":9.937,"devBuySol":3.061728394,"creatorPctAtGrad":9.937,"creatorInfo":{"txs50":14,"capped":false,"oldestS":331,"nBefore10m":0,"funder":null,"fundSol":0,"fundedBeforeS":331,"fundMemo":false,"priorCoins24h":0,"priorCoins72h":0},"gradSlot":{"pct":0,"sol":0.002,"nWallets":1,"nTx":1,"buys":[{"w":"27HFmP7ccLadGswvQfvea4o3juLw75cPF4V6jWpHM3MX","tokens":46.135,"pct":0,"sol":0.0015,"sig":"tzo2Mdn6uvEN6MMf2pk9bfEFNEnwLMzVBdSKFbxXmXqqfLuZ2DnsJVVb6pUisqDhoUfPdT7JXMWL3CepUkQ8Fo4","bundleSize":1,"payer":"27HFmP7ccLadGswvQfvea4o3juLw75cPF4V6jWpHM3MX","signers":1,"slotOffset":1}],"whale":{"w":"27HFmP7ccLadGswvQfvea4o3juLw75cPF4V6jWpHM3MX","pct":0,"sol":0.0015,"bundleSize":1,"creatorInTx":false,"gainers":[],"txs25":25,"oldestS":399,"lastTxKind":"pamm","funder":null,"fundSol":null,"fundedBeforeS":null,"fundSig":null,"fundMemo":null}},"curve":{"coverage":"partial","holders":[{"w":"9AkbDBmPKNt8SvZRMF7wYDz33WYMnRFfsBnVE18naFpD","pct":0.045,"sol":0.0978,"creator":false},{"w":"Ej6eGdvP1VYJg45FyxpjtXLag1AEG4r2JLNxaq8F3ws7","pct":0.004,"sol":0.0094,"creator":false}],"creationSlot":null,"bundleEst":null,"estimated":false,"top1NcPct":0.045,"top5NcPct":0.049,"nOver3Pct":0,"bundleWallets":0,"bundlePct":0,"creatorPct":9.937,"path":{"firstCap":57.8,"firstS":674.2,"maxCap":410.9,"updates":948,"completeS":0.68,"t100S":668.7,"t200S":316.2,"t300S":65.7,"t400S":3.7},"trades":{"fromCap":216.2,"fromT":1791640569831,"n":5,"buys":2,"sells":3,"wallets":5,"maxCap":216.7,"lastCap":215.9,"completeT":1791640842431,"topBuyers":[{"w":"9AkbDBmPKNt8SvZRMF7wYDz33WYMnRFfsBnVE18naFpD","tokens":451685.64,"pct":0.045,"sol":0.0978},{"w":"Ej6eGdvP1VYJg45FyxpjtXLag1AEG4r2JLNxaq8F3ws7","tokens":43399.248,"pct":0.004,"sol":0.0094}]}}}
outcome
{"type":"outcome","t":1791641308603,"mint":"HXFYuYYfJ7TKMLp8KZ2vcw5jq6DaxWL8Tq7QdhDqCXbX","sym":"Aramco","t0":1791640703550,"recT":1791640712803,"capAt":{"10":3177.45,"45":3218.37,"60":3249.5,"120":3341.85,"180":3442.58,"300":3771.26,"600":5507.02},"maxGain":74,"minDrop":-78.3,"crashed":true,"trades":8684,"dump":{"tS":601.9,"w":"5NpcZzQoiARZjuPPZGRo33YwyWzhAq7R8vx1jXsKbTzo","frac":1.833138,"rule":"big-sell","sol":199.72990449,"capAfter":689.757,"tokensFrom":{"kind":"transfer","tokens":66050028.897,"pct":6.605,"from":"4imgFChpdw6YyjPw6cRxrtJpBHZS8LNrQZgbyVTfirP4","for":"5NpcZzQoiARZjuPPZGRo33YwyWzhAq7R8vx1jXsKbTzo","sig":"Atfch84VwkJckSuXqjRqBqDKuHoibeWzEMPn7nAJKkRZ7ehmM534Byp5hriqaV13JERN9M2S1mphnp87GcvdjCC","bt":1791640717,"account":"Hnzdxe8VcjXvoBmoEPRWf6EMpqsa29RVMivt3g75RpBx","accountTxs":11,"beforeDumpS":588,"afterGradS":13}},"firstBigSell":{"tS":601.9,"w":"5NpcZzQoiARZjuPPZGRo33YwyWzhAq7R8vx1jXsKbTzo","frac":0.3928,"sol":199.72990449,"capAfter":689.757,"tokensFrom":{"kind":"transfer","tokens":66050028.897,"pct":6.605,"from":"4imgFChpdw6YyjPw6cRxrtJpBHZS8LNrQZgbyVTfirP4","for":"5NpcZzQoiARZjuPPZGRo33YwyWzhAq7R8vx1jXsKbTzo","sig":"Atfch84VwkJckSuXqjRqBqDKuHoibeWzEMPn7nAJKkRZ7ehmM534Byp5hriqaV13JERN9M2S1mphnp87GcvdjCC","bt":1791640717,"account":"Hnzdxe8VcjXvoBmoEPRWf6EMpqsa29RVMivt3g75RpBx","accountTxs":11,"beforeDumpS":588,"afterGradS":13}},"bigSells":[{"tS":601.9,"w":"5NpcZzQoiARZjuPPZGRo33YwyWzhAq7R8vx1jXsKbTzo","frac":0.3928,"sol":199.72990449}],"src":"gradtrades"}
La fila record es una por moneda graduada, escrita 10–40 s después de la graduación. La fila outcome llega 10 minutos después; esta muestra una moneda cuya capitalización pasó de 3,177 SOL a los +10 s a 5,507 SOL a los +10 min, y luego una venta de 200 SOL (tokens recibidos por transferencia 13 s después de graduarse) la llevó a 690 SOL.
Esquema
Fuentes: registros de la cadena de Solana vía RPC público (creaciones, migraciones; desde el 14 de octubre de 2026, antes el websocket gratuito de PumpPortal), RPC público de Solana (curvas de vinculación, transacciones). Cantidades en SOL; pct = % de la oferta de 1,000,000,000; tiempos en ms salvo que el nombre termine en S (segundos).
createt, mint, signumber, string, stringcreación de la moneda
createcreatorstringwallet del creador
createname, symstringnombre / símbolo de la moneda
createdevTokens, devSolnumbercompra del propio creador al crearla
createcapSolnumbercapitalización de la curva justo después de la creación
createcurvestringcuenta de la bonding curve
createmayhemboollanzamiento en “mayhem mode” de pump.fun
curvexslot, curve, mintnumber, string, string/nullcruce de un umbral de capitalización en la bonding curve (mint null si todavía no está mapeado)
curvexcap, cross, sol, sinceFirstSnumbercapitalización actual (SOL), umbral cruzado (100/200/300/400 SOL), SOL en la curva, segundos desde la primera detección
ctradebt, slot, sig, i, mint, side, userigual que en gradtradesoperación en la bonding curve de una moneda próxima a graduarse (leída desde cap 200 SOL hacia arriba); i cuenta las operaciones de esta moneda dentro de la transacción, así que (sig, mint, i) es la clave única
ctradesol, tokens, capAfter, curveSolnumberSOL y tokens de la operación, capitalización y SOL de la curva después de ella
migratemint, sig, poolstringmigración detectada por PumpPortal (pool = AMM de destino)
gradmint, slot, capSol, creatorstring, number, number, stringgraduación observada en la blockchain
recordmint, sym, name, pool, slot0, sig0, t0, bt0mixeduna por moneda graduada, escrita 10–40 s después de graduarse (t0 = graduación)
recordsrcobjectqué flujo de datos la detectó primero; curveCompleteS = cuánto tiempo antes de t0 se completó la curva
recordcreator, createstring, objectwallet del creador; transacción de creación (t, sig, mayhem, capSol)
recordageSnumberde la creación a la graduación, en segundos
recordinstantboolse graduó dentro de los 5 s de su creación
recordcap0, curveSolnumbercapitalización en PumpSwap al graduarse; SOL recaudados
recorddevBuyTokens, devBuyPct, devBuySolnumbercompra del creador al crearla
recordcreatorPctAtGradnumber/nulltenencia del creador al graduarse
recordcreatorInfoobjecttxs50 (conteo de transacciones, limitado a 50), capped, oldestS, nBefore10m, funder, fundSol, fundedBeforeS, fundMemo, priorCoins24h, priorCoins72h
recordgradSlotobject/nullcompras en PumpSwap en el slot de graduación: pct, sol, nWallets, nTx, buys[] (w, tokens, pct, sol, sig, bundleSize, payer, signers, slotOffset, creatorInTx), whale = la mayor de esas compras, con los datos de su wallet (txs25, oldestS, lastTxKind, funder, fundSol, fundedBeforeS, fundSig, fundMemo, gainers[])
recordcurveobjectcoverage (full/partial/none), holders[] (los 10 mayores: w, pct, sol, creator), creationSlot, bundleEst, estimated, top1NcPct, top5NcPct, nOver3Pct, bundleWallets, bundlePct, creatorPct, path (t100S..t400S, maxCap, updates, completeS), trades
outcomemint, sym, t0, recTmixed+10 min después de graduarse
outcomecapAtobjectcapitalización en PumpSwap (SOL) a los +10/45/60/120/180/300/600 s
outcomemaxGain, minDropnumber/nullmejor / peor variación en %, primeros 10 min, respecto al precio 10 s después de graduarse; tocó -80% = minDrop <= -80, tocó 2x = maxGain >= 100; null si no se observaron operaciones. Desde 2026-10-14 03:40 UTC, las operaciones del bloque de graduación recuperadas de los bloques (a precios anteriores a la gran compra de graduación) pueden dejar minDrop demasiado bajo en algunas monedas (14 de oct.: 349 de 569 aparecen como -80%, solo 195 lo tocaron); use low_10m_pct / high_10m_pct del CSV graduates, calculados en orden de la cadena
outcomecrashedbooluna operación al 60% del máximo alcanzado hasta ese momento o menos dentro de los primeros 10 min, es decir, una caída de 40%+ desde el máximo (no una caída del 80%: para eso usa minDrop <= -80)
outcometradesnumberoperaciones de PumpSwap contadas
outcomedump, firstBigSell, bigSells[]objectla primera venta que rompe una regla fija de tamaño y las ventas grandes: tS, w, frac (proporción del pool vendida), sol, capAfter, rule, tokensFrom
outcomesrcstringde dónde se leyeron las operaciones
padfeed
Filas de ejemplo (de la muestra)
grad
{"type":"grad","t":1791642704526,"pad":"ray","platform":"Fo1dp1JYQQWgYgAdiZWfmJpA7KRreCdCEyEEVcE1Q2TN","mint":"BwVPtfz4g8TcmmuVyQWnQEx8X3Zhr3W24McKEvztfEe1","quote":"So11111111111111111111111111111111111111112","pool":"27XKWhuX5rKrJJxr5ebQc3ZKDXSCgZVMR329aGZDXrC9","curveAuth":"6s1xP3hpbAfFoNtUNF8mfHsjr2Bd97JxFJRWLbL6aHuX","baseVault":"B7xSvh15d1aXre2bFKcRpqRG9zdbEECFR6981tiRyn5w","quoteVault":"38VBuRZUGNTGkH8WxkmnsLH7YBiC2n5FseTmBuGZq5Us","b":206900000,"q":85.000000062,"px":4.108264865248912e-7,"supply":1000000000,"decimals":6,"tokenProgram":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb","feeBps":null,"freeze":null,"mintAuth":null,"sig":"2QN2S5rGhVv8sAZcYXT7MGVDvzAEvUYZrewBYSypMcDfksxTS2u413czrYXPiXoYwJEtRjsgoamt32kELbuVNm6p","blockTime":1791642704000,"lagMs":526}
px
{"type":"px","t":1791640800132,"mint":"7E9FWUo2mJK1LT53LPceXK8VHrDM4WhMFpBZYtyHaSC1","b":13932037.454196,"q":17.430408874,"pad":"dbc"}
holders (el top20 está recortado a 2 filas; el archivo trae las 20)
{"type":"holders","t":1791640987253,"mint":"FJH9L1G1ezgVKymcKnVUARN9YH6oPFAJ19qTQ6mL7EXd","top10":0.7,"top20":[{"acct":"GCegNfWBkzpERkQVwZkBSJBdXxqMFMMdoLuvKgNr7PEF","owner":"FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM","amt":950264550.634002},{"acct":"FukAMJAHBU1rvWSYAB4MTiHzR2QnUwNNZGxm3ZxKyQc3","owner":"HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC","amt":18537186.696369}],"pad":"dbc"}
qpx
{"type":"qpx","t":1791640829727,"usd":{"98sMhvDwXj1RQi5c5Mndm3vPe9cBqPrbLaufMXFNMh5g":84.3142186577373,"So11111111111111111111111111111111111111112":109.78435044998537}}
La fila px anterior: precio = q / b = 17.43 / 13,932,037 = 1.25e-6 SOL por token; al precio de SOL de la fila qpx más cercana (US$109.78), equivale a US$0.000137.
Esquema
dbc = Meteora Dynamic Bonding Curve (Bags, Jupiter Studio, ...) a un pool DAMM v2; ray = Raydium LaunchLab (bonk.fun, etc.) a un pool Raydium CPMM. Cada moneda se sigue durante 20 min (dbc) / 30 min (ray). Fuente: RPC de Solana; precios de cotización en US$ de la API gratuita de precios de Jupiter.
alltnumberms al registrarse
gradpad"dbc" / "ray"plataforma de lanzamiento
gradplatformstringconfiguración / nombre de la plataforma
gradmint, quotestringmint de la moneda; mint de cotización (SOL o un token como USD1 / una acción tokenizada)
gradpool, curveAuth, baseVault, quoteVaultstring/nullcuentas del pool y sus vaults; pool es null en todas las filas dbc (el pool DAMM v2 no se conoce cuando se detecta la migración; los vaults lo identifican) y tiene valor en las filas ray
gradb, qnumbersaldos de los vaults (tokens, unidades de cotización) al migrar
gradpxnumberprecio en cotización = q / b
gradsupply, decimals, tokenProgramnumber, number, stringdatos del mint (Token o Token-2022)
gradfeeBps, freeze, mintAuthmixedcomisión de transferencia Token-2022, autoridades de freeze / mint (null = ninguna)
gradsig, blockTime, lagMsstring, number, numberfirma de migración, block time (ms, no en segundos como bt en otros lugares) y cuánto tardamos en detectarla después del bloque (ms)
pxpad, mint, b, qstring, string, number, numbersaldos de los vaults cuando cambiaron (cada ~6 s, ~2 s para monedas que se mueven rápido); precio = q / b
holderspad, mint, top10, top20[]string, string, number, array+60 s y +5 min: las 20 cuentas de tokens más grandes (acct, owner, amt); top10 = proporción en manos de los 10 mayores, sin los vaults del pool ni la curva
qpxusdobjectcada 30 s: precio en US$ de SOL y de cada mint de cotización distinto de SOL observado en las últimas 2 h, con el mint como clave
meteora-pools
Filas de ejemplo (de la muestra)
pool
{"type":"pool","t":1791640862793,"pool":"3BCeknAQpHELGfKhUb9mnKuLC3Eg3qjJrZ5B7fqC1xSW","price":0.000006613131,"tvlUsd":59712.37,"vol24hUsd":621060.47,"fees24hUsd":17376.4,"vol24hDeltaUsd":94.68,"feesMinUsd":65.4599}
{"type":"pool","t":1791640862793,"pool":"5EStPSuAZB4TqBSWLpbGwiKFEuspdYjcc3EoRMgeMHGh","price":0.000026998604,"tvlUsd":54300.74,"vol24hUsd":268438.69,"fees24hUsd":14080.84,"vol24hDeltaUsd":-1688.1,"feesMinUsd":0}
Mismo minuto, dos pools: el primero ganó US$65.46 en comisiones ese minuto con US$59.7k de TVL; el segundo no ganó nada y su volumen móvil de 24 h cayó US$1,688 (salió más volumen de la ventana de 24 h del que entró).
Esquema
Una fila por pool por minuto, pools DLMM de Meteora con TVL de US$50k o más, los 200 primeros por comisiones/TVL de 24 h. Fuente: API pública DLMM de Meteora. Sin RPC ni wallets.
curvetape
Filas de ejemplo (de la muestra)
create
{"type":"create","t":1791900004668,"slot":456467223,"sig":"2f23Xpkm97zfNW33TkLj8JPbD6xPapa4UApK59Up5Bou17HJZQWWiuSzNDveStHJNJ7KM77Vj6x2aQyQdDjFRYbT","bt":1791900004,"mint":"6HFExtnceGjHTkURczNMrBXvW9mW9R8H3tTjPUdQRyjY","curve":"BzYvZ5e3PZLeRi1a6Qios3Vx2JG2fUWZsszMuFKRbe5T","user":"bwamJzztZsepfkteWRChggmXuiiCQvpLqPietdNfSXa","creator":"bwamJzztZsepfkteWRChggmXuiiCQvpLqPietdNfSXa","name":"Save The Orangutans","sym":"ORANGUTANS","uri":"https://md.sdfgsdfsdf.uk/metadata/yQ1HKDod","tokenProgram":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb","mayhem":false,"quote":null,"vt":1073000000000000,"vs":30000000000,"rt":793100000000000,"supply":1000000000000000,"vq":30000000000}
trade
{"type":"trade","t":1791900000073,"slot":456467204,"off":5277,"bt":1791899999,"sig":"3oHhesiuEZy6AEGibP29sLPwz4EE4jqb7ucAETkz4DijVrwyT9TdHdJF6rwcDYEjHUJZz4Lbpa8FLxQY2jYrAiLT","i":0,"mint":"13C3X9CJQd98H6nic3mTGE5a5wvKRQec4VaceMy9pump","side":"buy","wallet":"D4orPtC6p1VveJuVJXZCqDFDvLX5689bg3sPyT6L9L3U","tokens":2328278.127981,"sol":0.272278445,"capAfter":117.4642,"curveSol":31.491252689,"fee":0.002586646,"cfee":0.000816836,"vs":61491252689,"vt":523489102303982,"ix":"buy"}
migrate
{"type":"migrate","t":1791900007570,"slot":456467236,"sig":"2eA524jow1WmjWZtZL9oajTtsab7sLPMAiQh49A3N6jjNKjwbVkdK1oQkx5dbgMdd5vENVgdvBKu8pyvXL1ESrRu","bt":1791900007,"mint":"7HB5bziuo7maGzy24SS2KmEUnHfFkcgQPT8zt9NZpump","pool":"2HVdHvhk78x8yuhFiiLhy5MdH6dZ6wet3C32Euzyzu2N","quote":null,"solAmount":84.990359428,"mintAmount":206900000,"poolMigrationFee":0.015000001,"user":"7LCvF6K1Sp88qt9HJ6FRw4DJfXahJ72gZqqM3X9tDycU"}
end
{"type":"end","t":1791900007568,"mint":"7HB5bziuo7maGzy24SS2KmEUnHfFkcgQPT8zt9NZpump","why":"graduated","src":"create","trades":1074,"buys":903,"sells":171,"vol":172.633076653,"volQ":null,"lastCap":410.8802,"maxCap":410.8802,"firstT":1791899520492,"lastTradeT":1791900007568}
gap
{"type":"gap","t":1791902270272,"from":1791902148965,"to":1791902270272,"why":"boxcap","ms":121307}
La operación trade anterior: el comprador aportó 0.272278 SOL a la curva y pagó 0.002587 + 0.000817 SOL en comisiones, 0.275682 SOL en total; la capitalización posterior fue de 117.46 SOL. El hueco gap es real: de 14:35:48 a 14:37:50 UTC el flujo en vivo estuvo desconectado (121 s, backoff para no pasarse de la cuota compartida del RPC público), por lo que las operaciones de ese intervalo no están en este archivo.
Esquema
Un objeto JSON por línea, filas ordenadas por t . Cantidades de SOL en SOL y de tokens en tokens enteros; vs, vt, rt, vq, supply y los campos Q son enteros sin procesar. Fuente: blockchain de Solana (logs del programa pump.fun).
createslot, sig, btnumber, string, numberla transacción de creación
createmint, curvestringla moneda y la cuenta de su bonding curve
createuser, creatorstringwallet que envió la creación / creador de la moneda (recibe las comisiones del creador)
createname, sym, uristringnombre, símbolo y enlace de metadatos, tal como están escritos en la blockchain
createtokenProgramstringToken-2022 o programa de tokens clásico
createmayhemboolmoneda en “mayhem mode” de pump.fun
createquotestring/nullnull = cotizada en SOL; si no, el mint en el que cotiza la curva
createvt, vs, rt, supply, vqnumbertokens virtuales iniciales, SOL virtuales, tokens reales, oferta, reservas virtuales de cotización (sin procesar)
tradeslot, sig, i, btnumber, string, number, numberla transacción; i = índice de esta operación entre las operaciones de pump.fun de la transacción, así que (sig, i) es único
tradeoffnumber/nullslots desde el slot de creación de la moneda (null si no se observó la creación)
trademint, side, wallet, tokensstring, "buy"/"sell", string, numberquién operó y cuántos tokens
tradesolnumbercurvas en SOL: SOL que entran (compra) / salen (venta) de la curva, SIN comisiones (el comprador pagó sol + fee + cfee, el vendedor recibió sol - fee - cfee)
tradefee, cfeenumbercurvas en SOL: comisión del protocolo pump.fun / del creador, SOL (0.95 % / 0.30 % en Oct 2026; las monedas mayhem difieren)
tradecapAfter, curveSolnumbercurvas en SOL: capitalización en SOL después de la operación (precio x oferta de 1e9); SOL reales en la curva después de ella
tradevs, vtnumberreservas de SOL virtuales (solo curvas en SOL) / tokens virtuales después de la operación (sin procesar)
tradequote, qAmt, vq, rq, feeQ, cfeeQstring, numbercurvas cotizadas en otro token: su mint; la cantidad, reservas virtuales / reales de cotización y ambas comisiones en sus unidades sin procesar. Estas filas NO tienen sol / capAfter / curveSol / fee (nunca un 0 ficticio). quote "?" = cantidades ilegibles
tradeixstringinstrucción: buy, sell, buy_exact_sol_in, buy_exact_quote_in, multi_hop_swap (un swap que pasa por el token de cotización de la curva en una sola instrucción; casi todos en curvas cotizadas en otro token)
tradebyCreatorboolpresente (true) cuando el trader es el creador de la moneda
trademayhemboolpresente (true) en monedas mayhem-mode
tradetrunc, recboollos logs de la transacción se cortaron (las operaciones posteriores llegan como filas rec leídas de la transacción completa, o faltan)
migratesolAmount, quoteAmount, mintAmount, poolMigrationFee, usernumber, stringSOL (o el quote en bruto) y tokens trasladados al pool, comisión de migración (SOL), remitente
endmint, why, srcstringmoneda que se dejó de seguir: graduated, idle (60 min sin operaciones), evicted (más de 20,000 seguidas); src create / adopt
endtrades, buys, sells, vol, volQ, lastCap, maxCap, firstT, lastTradeTnumbertotales observados durante el seguimiento (vol en SOL para curvas en SOL, volQ sin procesar en las demás; capitalizaciones en SOL)
txtxFee, prioFee, jitoTipnumbercomisión de red pagada, parte de prioridad (comisión menos 5,000 lamports por firma), SOL enviados a cuentas de propinas Jito; SOL
txcuPrice, cuLimit, cuUsed, prioCfgnumberprecio de unidad de cómputo (micro-lamports, transacciones v0), límite, usadas; prioCfg = valor priorityFee propio de una transacción v1
txfailedboolla transacción falló
gapfrom, to, why, msnumber, number, string, numberel flujo en vivo estuvo desconectado entre from y to. why: socket, yield413 / boxcap / selfcap (backoff para no pasarse de la cuota compartida del RPC público), refused, start, stop. Desde 2026-10-14 sigue una fila backfill : cuando indica complete: true no falta nada del intervalo
create, trade, complete, migratesrc"backfill"desde 2026-10-14: presente solo en filas reparadas después de un hueco, leídas de bloques completos; los mismos campos y valores que las filas en vivo. Las filas en vivo no tienen src
backfillfrom, to, whynumber, number, stringdesde 2026-10-14: un hueco reparado desde la blockchain (bloques completos mediante un RPC de pago): su intervalo (ms) y motivo (restart = el registrador se reinició)
backfillslotFrom, slotTo, blocks, skipped, failed, txs, rowsnumber, objectslots leídos, bloques leídos, slots sin bloque, slots que no se pudieron leer, transacciones con eventos de pump.fun, filas escritas por tipo
backfillcomplete, stopbool, stringcomplete: true = se leyeron todos los slots del intervalo; false: stop indica por qué (nocredit, maxblocks, noslot, nohelius) y siguen faltando los slots posteriores a slotTo
launchmeta
Filas de ejemplo (de la muestra)
meta (fase create)
{"type":"meta","t":1791900032794,"phase":"create","src":"chain","mint":"3SrkocGC2RJRznw2HEyJBrRzoMcRDoJs5L52EWAfpump","tCreate":1791900032355,"createSig":"2vx9i7n4EpodmVcEgvX1VReULVPX3gXuKeZxzJPqr8RsHDexEqnrPz8cx6yrPSjASVskuQFV84XxmBD9NjJ2XUgA","creator":"7FVfSdnR9VPGjMtmBP1Hz9C2DFTpoNX8gVVRmnimnGt9","name":"up","sym":"up","uri":"https://ipfs.io/ipfs/QmZMeuCM42FErtBCZQd57DLcs1mpRNQLSqMVL21MRzQ8VE","uriKind":"ipfs","json":{"name":"up","symbol":"up","description":"grow up","image":"https://ipfs.io/ipfs/bafkreihb7ybjzblgsfzqzc4lv5v5kii5letvrah5xozqwziuqxnnsayl7q","showName":true,"createdOn":"https://pump.fun"},"metaSha":"8ab84aca67c8bbf27fe573ecbec4f0e94a2ec9b8f60ccf47d3493588b372aaa2","metaBytes":189,"imgUrl":"https://ipfs.io/ipfs/bafkreihb7ybjzblgsfzqzc4lv5v5kii5letvrah5xozqwziuqxnnsayl7q","imgSha":"e1fe029c856691730c8b8baf6bd5211d59275880fdbbb30b651485dad9030bfc","imgBytes":13381,"imgType":"image/gif","gwMeta":"ipfs.filebase.io","ms":165,"cachedImg":true}
meta (una descarga que falló)
{"type":"meta","t":1791900007185,"phase":"create","src":"chain","mint":"6aFPW6pS1AtxgKWc4yMf6ozePzrSdBBGHmUqEdPUtz5R","tCreate":1791899997001,"createSig":"5tCy8ZwcbzsWWPaEgtMcBpUDmNoBS23A1iiCyyrg5fNwTas2gwVZSSqDWuvhrYegowF132sqgBnxAmwteDdbQciU","creator":"5vurJzLBn6dryVxztHTc5TiRo7idbRQUznCp6S4qPQFL","name":"Pocket Node","sym":"PNOD","uri":"https://paste.rs/0Wpec?meta=json","uriKind":"http","ms":10088,"err":"meta: paste.rs URLError: <urlopen error timed out>"}
La misma imagen siempre da el mismo imgSha, sin importar en qué enlace esté; cachedImg: true indica que ya se había calculado la huella de ese enlace de imagen. La segunda fila corresponde a un servidor de metadatos que no respondió a tiempo: el motivo está en erry los campos que habría completado simplemente no aparecen.
Esquema
Un objeto JSON por línea, filas ordenadas por t . Fuentes: creación / migración observada en la blockchain (nuestro flujo curvetape) o por nuestro registrador pregrad, lo que llegara primero; metadatos e imagen a través de gateways públicos de IPFS.
metaphase"create" / "grad"obtenido al crearse o al graduarse
metasrc"chain" / "pumpportal" / "chainlogs"el flujo de datos que informó primero la creación / graduación: chain = nuestro registrador curvetape (eventos create / migrate de la blockchain); pumpportal = flujo gratuito de PumpPortal (a través de nuestro registrador pregrad); chainlogs = detección propia de pregrad a partir de los logs de la blockchain, que reemplaza a PumpPortal allí desde 2026-10-14. Algunas filas desde 2026-10-14 (alrededor de 1 de cada 400) no tienen src: no se registró el flujo de origen
metamint, createSig, creator, name, symstringla moneda, su transacción de creación, wallet del creador, nombre y símbolo en la blockchain
metatCreate, tGradnumbercuándo se observó la creación / graduación (ms)
metauri, uriKind, uriFromstringel enlace de metadatos; ipfs / http / data / none / other (otro esquema); filas grad: de dónde salió el enlace (create, chain = leído del mint, none)
metajsonobjectlos campos del JSON de metadatos, cada uno solo si está presente: name, symbol, description (recortado a 2,000 caracteres), image, website, showName, createdOn, y hasTwitter / hasTelegram (true cuando el JSON tiene ese tipo de enlace; los enlaces en sí se omiten: sin handles de redes)
metajsonKeysarraylas demás claves de primer nivel del JSON (hasta 20)
metametaSha, metaBytesstring, numbersha256 y tamaño de los bytes del JSON de metadatos
metaimgUrlstringel enlace de imagen del JSON
metaimgSha, imgBytes, imgTypestring, number, stringsha256 de los bytes de la imagen, su tamaño y Content-Type (misma imagen = mismo imgSha)
metagwMeta, gwImgstringel servidor que respondió
metamsnumbertiempo dedicado a obtener los datos
metacachedImgboolya se había calculado la huella del mismo enlace de imagen (mismo imgSha)
metacached, changedboolfilas grad: se reutilizó el resultado de la creación (el contenido IPFS no puede cambiar) / el JSON difiere del de la creación (enlaces http)
metaerrstringpor qué falló la obtención de datos (meta: <host> <reason>, image: <reason>, noUri); ausente si todo salió bien
skipmint, phase, whystringno se obtuvo: backlog (cola llena durante una hora de mucha actividad)
gradholders
Filas de ejemplo (de la muestra)
holders (el top está recortado a 3; el archivo trae hasta 20)
{"type":"holders","t":1791950508411,"mint":"GUFGC9E1mtY5PB4qrr5GeyCcBJGBzMqs9bQvNon1pump","mark":10,"src":"chain","tGrad":1791949905766,"lagS":2.6,"slot":456698335,"supply":995031028.780416,"decimals":6,"pool":"AEM5qEJSYyEvqWnaajgxey5yBPXfLj5L1mLnu5Vsn2C9","n":20,"top":[{"acct":"HUVzPYCqGDz7qe46bKa6P5fuEahRaeFhTtEZGPipm6Ve","owner":"9qZvANPkPE6NHoj5W5BzJ4gb4byaVqvg1V4JCJBfiK2m","amt":129437610.107396,"pct":13.0084},{"acct":"49CVwy8EkACVqT9ASKwebaCykK4cLmzYZPbNgENPuZmu","owner":"AEM5qEJSYyEvqWnaajgxey5yBPXfLj5L1mLnu5Vsn2C9","amt":63052232.378713,"pct":6.3367,"role":"pool","pda":true},{"acct":"E3gjGe8o8mhj3hr6UScErijYrnvKS1ijwWcD5c9u41RY","owner":"BTmCme13XXrD3VLxXFChL9VnmicJ5PjkVUpAsjrooEYh","amt":2373829.971933,"pct":0.2386}],"top10Pct":13.6241,"top10PctAll":19.9136,"top20Pct":14.0483,"poolPct":6.3367,"curvePct":0,"tries":1}
Diez minutos después de graduarse, el mayor tenedor tenía el 13.0% de la oferta y el pool el 6.3%; top10Pct (13.6) excluye el pool y la curva, top10PctAll (19.9) los incluye.
Esquema
Un objeto JSON por línea, filas ordenadas por t . Cantidades de tokens en tokens enteros; pct = % de la oferta. Fuente: RPC de Solana (getTokenLargestAccounts + getMultipleAccounts).
holdersmint, markstring, numberla moneda; minutos después de graduarse (1, 10, 60)
holderssrc, tGradstring, numberel flujo que informó primero la graduación: chain (nuestro registrador curvetape), pumpportal (flujo gratuito de PumpPortal a través de pregrad) o, desde 2026-10-14, chainlogs (detección propia de pregrad desde los logs de la blockchain); cuándo se observó (ms)
holderslagSnumbersegundos después de tGrad + mark en que realmente se leyó la captura
holdersslotnumberslot de la blockchain de la lectura
holderssupply, decimalsnumberoferta de tokens (tokens enteros) y decimales, leídos del mint
holderspoolstringel pool canónico de PumpSwap de la moneda (graduadas cotizadas en SOL)
holdersnnumbercuentas devueltas (hasta 20)
holderstoparrayde mayor a menor: acct (cuenta de tokens), owner (el tenedor), amt, pct, role (presente solo en pool = el pool de PumpSwap de la moneda, o curve = su antigua bonding curve), pda (presente solo cuando es true: el propietario es una dirección de programa, no una wallet común)
holderstop10Pct, top20Pctnumber% de la oferta en las 10 / 20 cuentas más grandes, sin el pool ni la curva
holderstop10PctAllnumber% en las 10 más grandes, todas incluidas
holderspoolPct, curvePctnumber% en el pool / la curva
holderstriesnumberintentos de lectura (0 = se abandonó antes del primer intento)
holderserrstringfalló la captura (429 = el RPC público rechazó la lectura, late = no hubo respuesta lo bastante cerca del momento previsto); en ese caso no hay campos de tenedores