wscat --connect wss://api.solanastreaming.com --header X-API-KEY:923aeea0ac3549a80dcd9f881986eaf7 --execute '{"id":1,"method":"newPairSubscribe"}' -w 600 # For bash: # 1. Install wscat with npm install -g wscat # 2. Get your api key # 3. Copy and paste the command above into your terminal with your api key.
// go get github.com/gorilla/websocket // Connect c, _, err := websocket.DefaultDialer.Dial("wss://api.solanastreaming.com/", http.Header{"X-Api-Key": []string{"923aeea0ac3549a80dcd9f881986eaf7"}}) if err != nil { log.Fatal("dial:", err) } defer c.Close() // Start the pair / price stream err = c.WriteMessage(websocket.TextMessage, []byte(`{"id":1,"method":"newPairSubscribe"}`)) if err != nil { log.Fatal("write:", err) } for { // Continuously read pairs / prices _, message, err := c.ReadMessage() if err != nil { log.Fatal("read:", err) } log.Printf("recv: %s\n", message) }
// npm install ws const WebSocket = require('ws'); (async function () { // Connect const ws = new WebSocket('wss://api.solanastreaming.com/', undefined, { headers: { 'X-API-KEY': '923aeea0ac3549a80dcd9f881986eaf7' } } ); ws.on('error', console.error); ws.on('open', () => { // Start the pair / price stream ws.send('{"id":1,"method":"newPairSubscribe"}'); }); ws.on('message', (data) => { // Continuously read pairs / prices console.log('received: %s', data); }); })();
// composer require textalk/websocket $client = new \WebSocket\Client("wss://api.solanastreaming.com/", ['headers' => ['X-Api-Key'=>'923aeea0ac3549a80dcd9f881986eaf7'], 'timeout' => -1]); $client->text('{"id":1,"method":"newPairSubscribe"}'); while(true){ $message = $client->receive(); echo "Received: ", $message, "\n"; }
{ "slot": 301578636, "signature": "UWnvRXCHpmDxb9tQAYYEEoY8r2JVZ3CcbDLpsFp8EGBdv5njjyEkGXhYxcFCc7Y68X15SWrfve4rycvM4vGRJh7", "blockTime": 1731688226, "pair": { "sourceExchange": "raydium", "ammAccount": "CDnqCfvxQvncrWpoTT36xBCcthzQyh8RumuvoFsFZNVC", "baseToken": { "account": "G9GZaVRPiYRfNQF7oqNoeXKwB5jFbLSHe5fxLcCpump", "info": { "decimals": 9, "supply": "206900000000000000", "metadata": { "name": "randomcoin", "symbol": "randomcoin", "logo": "https://arweave.net/xDf9sPlSY4SMmFQzyCK-xakNl-m7a17lKPO6BttSO3M" }, "mintAuthority": null, "freezeAuthority": null } }, "quoteToken": { "account": "So11111111111111111111111111111111111111112", "info": null }, "baseTokenLiquidityAdded": "206900000000000000", "quoteTokenLiquidityAdded": "630000000000" } }
This event is triggered whenever a new token trading pair is created on raydium.
{ "slot": 295071253, "signature": "2fGYXbZHeP1K2PDpLSNaQRdRZPfQ9nbRq2PzWfVrUR5S5GX7xKYVDuuRPCeGbbku2cP8FYc8wUT52YaVQx4EPJ6i", "blockTime": 1728681131, "ammAccount": "GPwuECrv8YiCLDbmyCACJL8KqasKvAfiSj9PAhntMNdX", "baseAccount": "LoLLZBUGyTPNWyFF48KbcmkZGc1ajwaFdWoLhF2nBfQ", "quotePrice": 0.0000002748, "quoteSwapAmount": 10015822 }
This event is triggered whenever the price on a trading pair changes.
Average 2 seconds behind the chain time for new pairs. This is faster than DexScreener!
Get going in seconds with multiple language examples
For the data we send you, we are significantly cheaper than our closest competitor
As we bill monthly, you can cancel your subscription any time.
All data is transferred over an encrypted websocket
Try out the feed to see if it fits your needs.
Best for evaluating the platform.
Unrestricted access to newPair events.
Unrestricted access to endpoints.