Enhanced Streams topic

Pumpfun Trades

Pumpfun trade events.

Topic

prod.rpc.solana.pumpfun.trade

Family

Pumpfun

Payload type

TradeEntry

Endpoint

stream-1

Subscribe

Request JSON output first. The response payload holds UTF-8 JSON bytes. Keep the partition and offset with each stored event.

grpcurlbash
grpcurl \  -H "x-api-key: YOUR_API_KEY" \  -d '{"topic":"prod.rpc.solana.pumpfun.trade","format":"JSON"}' \  stream-1.nln.clr3.org:443 \  nln.stream.v1.StreamService/Subscribe
consumer.pypython
import grpcimport jsonimport enhanced_streams_pb2 as pbimport enhanced_streams_pb2_grpc as rpc channel = grpc.secure_channel(    "stream-1.nln.clr3.org:443",    grpc.ssl_channel_credentials(),)client = rpc.StreamServiceStub(channel)request = pb.SubscribeRequest(    topic="prod.rpc.solana.pumpfun.trade",    format=pb.JSON,) for message in client.Subscribe(    request,    metadata=[("x-api-key", "YOUR_API_KEY")],):    event = json.loads(message.payload)    print(message.partition, message.offset, event)

Response envelope

{  "topic": "prod.rpc.solana.pumpfun.trade",  "partition": "0",  "offset": "184231",  "timestampMs": "1785206400000",  "payload": "UTF-8 JSON bytes"}

Treat every offset as partition-scoped. Do not compare offsets across two partitions. Store the raw payload before any business logic runs.