Stream real-time Solana blockchain data with LaserStream gRPC. Highly configurable low-latency streams with historical replay and multi-region support.
@yellowstone-grpc
or use the higher-level Helius LaserStream SDK for added benefits (auto-reconnect, subscription management, error handling, etc.).
Region | Location | Endpoint |
---|---|---|
ewr | Newark, NJ (near New York) | https://laserstream-mainnet-ewr.helius-rpc.com |
pitt | Pittsburgh, US (Central) | https://laserstream-mainnet-pitt.helius-rpc.com |
slc | Salt Lake City, US (West Coast) | https://laserstream-mainnet-slc.helius-rpc.com |
ams | Amsterdam, Europe | https://laserstream-mainnet-ams.helius-rpc.com |
fra | Frankfurt, Europe | https://laserstream-mainnet-fra.helius-rpc.com |
tyo | Tokyo, Asia | https://laserstream-mainnet-tyo.helius-rpc.com |
sgp | Singapore, Asia | https://laserstream-mainnet-sgp.helius-rpc.com |
Network | Location | Endpoint |
---|---|---|
Devnet | Newark, NJ (near New York) | https://laserstream-devnet-ewr.helius-rpc.com |
ams
) or Frankfurt (fra
) endpoint.https://laserstream-devnet-ewr.helius-rpc.com
.Create a New Project
Install Dependencies
Obtain Your API Key
Create a Subscription Script
index.ts
with the following:Replace Your API Key and Choose Your Region
index.ts
, update the config
object with:fra
(Frankfurt) or ams
(Amsterdam)ewr
(New York)slc
(Salt Lake City)tyo
(Tokyo) or sgp
(Singapore)https://laserstream-devnet-ewr.helius-rpc.com
Run and View Results
confirmed
token transaction involves TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
, you’ll see the data in your console.fromSlot: string
field in the main SubscribeRequest
object to replay data from a specific slot onwards. Currently, replay is supported for up to 3000 slots in the past.Slots
mySlotLabel
) is a user-defined label for this specific filter configuration, allowing you to potentially define multiple named configurations if needed (though typically one is sufficient).Accounts
tokenAccounts
) is a user-defined label for this specific filter configuration.If all fields are empty, all accounts are broadcasted. Otherwise:filters
, which operate as a logical AND).Transaction
myTxSubscription
) is a user-defined label for this specific filter configuration.If all fields are left empty, all transactions are broadcasted. Otherwise:accountRequired
, where all must match).Block
myBlockLabel
) is a user-defined label for this specific filter configuration.Blocks Meta
blockmetadata
) is a user-defined label for this subscription. Currently, no filters are available for block metadata—all messages are broadcasted by default.Entries
entrySubscribe
) is a user-defined label for this subscription. Currently, there are no filters available for entries; all entries are broadcasted.Q: I'm experiencing lag or slow performance with my LaserStream connection. What could be causing this?
Q: I'm getting connection errors. What should I check?
Q: Why aren't my filters working as expected?
Q: Can I subscribe to multiple types of data (e.g., accounts and transactions) in one request?
accounts
, transactions
) within the same SubscribeRequest
object.