Streaming API Endpoints
Connection Details
- WebSocket:
wss://gr-staging-v2.streaming.covalenthq.com/graphql - Protocol:
graphql-transport-ws - Auth:
GOLDRUSH_API_KEYinconnection_initpayload
Token Search Query
Operation Identity:- Operation ID:
searchToken - GraphQL
graphql-query→ field:searchToken
BASE_MAINNET
ETH_MAINNETBSC_MAINNETSOLANA_MAINNETMONAD_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Free-form search string that matches token names or ticker symbols (case-insensitive) or token or pair contract address |
chain_name | enum | No | Filter results to a specific chain. |
Query
You can query thesearchToken endpoint with:
- Free text (e.g.
"skitten") - Token contract address (e.g.
0x4B6104755AfB5Da4581B81C552DA3A25608c73B8) - Token pair address (e.g.
0xa46d5090499eFB9c5dD7d95F7ca69F996b9Fb761)
Basic Query
Complete Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
pair_address | string | Liquidity pool contract that backs the result token/quote pair |
chain_name | enum | The blockchain network where the token was created |
quote_rate | float | Exchange rate between base and quote tokens |
quote_rate_usd | float | USD value of the quote rate |
volume | float | 24h trading volume for the pair in quote token units |
volume_usd | float | 24h trading volume in USD. |
market_cap | float | Estimated market capitalization in USD for the base token |
base_token | object | Metadata for the searched token, including address, decimals, name, and ticker symbol |
quote_token | object | Metadata for the paired quote asset |
Top Trader Wallets for Token Query
Operation Identity:- Operation ID:
upnlForToken - GraphQL
graphql-query→ field:upnlForToken
BASE_MAINNET
ETH_MAINNETBSC_MAINNETPOLYGON_MAINNETGNOSIS_MAINNETOPTIMISM_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g., BASE_MAINNET, ETH_MAINNET, BSC_MAINNET) |
token_address | string | Yes | The deployed token contract address to query |
Query
You can query theupnlForToken endpoint to retrieve top wallet trading data.
Basic Query
Complete Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
token_address | string | Token contract address (lowercase, 0x-prefixed) |
wallet_address | string | Wallet address of the trader (lowercase, 0x-prefixed) |
volume | string | Total token volume transferred in the past 30 days |
transactions_count | integer | Transaction count for this wallet and token (past 30 days) |
pnl_realized_usd | float | Realized PnL in USD from completed trades |
balance | string | Current token balance in raw format |
balance_pretty | string | Human-readable balance (4 decimal places) |
pnl_unrealized_usd | float | Unrealized PnL in USD at the current token price |
contract_metadata | object | Token contract metadata |
Wallet PnL by Token Query
Operation Identity:- Operation ID:
upnlForWallet - GraphQL
graphql-query→ field:upnlForWallet
BASE_MAINNET
ETH_MAINNETBSC_MAINNETPOLYGON_MAINNETGNOSIS_MAINNETOPTIMISM_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g., BASE_MAINNET, ETH_MAINNET, BSC_MAINNET) |
wallet_address | string | Yes | The wallet address to query |
Query
You can query theupnlForWallet endpoint to retrieve detailed PnL metrics for a wallet.
Basic Query
Complete Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
token_address | string | Token contract address (lowercase, 0x-prefixed) |
cost_basis | float | Average cost basis per token in USD |
current_price | float | Current market price per token in USD |
pnl_realized_usd | float | Realized PnL in USD from completed trades |
pnl_unrealized_usd | float | Unrealized PnL in USD at the latest price |
net_balance_change | string | Net token movement (inflow minus outflow, past 7 days) |
marketcap_usd | string | Estimated market capitalization in USD |
contract_metadata | object | Token contract metadata |
New DEX Pairs Stream
Operation Identity:- Operation ID:
newPairs - GraphQL
graphql-subscription→ field:newPairs - SDK:
StreamingService.subscribeToNewPairs()
BASE_MAINNET
ETH_MAINNETBSC_MAINNETSONIC_MAINNETSOLANA_MAINNETMONAD_MAINNETHYPEREVM_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g., BASE_MAINNET, ETH_MAINNET, BSC_MAINNET, SOLANA_MAINNET) |
protocols | array | Yes | List of protocol name enums to filter events (e.g.,[UNISWAP_V2, RAYDIUM_AMM]); see supported DEXes for the full list. |
Subscription
You can subscribe to thenewPairs endpoint to receive events.
Basic Subscription Query
Complete Subscription Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
chain_name | string | The blockchain network where the pair was created |
protocol | string | DEX protocol name (e.g., “uniswap”, “pancakeswap”) |
protocol_version | string | Version of the DEX protocol |
pair_address | string | Address of the new pair contract |
deployer_address | string | Address that deployed the pair contract |
tx_hash | string | Transaction hash of the pair creation |
block_signed_at | string | ISO timestamp of when the block was signed |
liquidity | float | Initial liquidity amount (in USD) |
supply | integer | Total supply of the pair token |
market_cap | float | Market capitalization in USD |
event_name | string | Name of the contract event (e.g., “PoolCreated”) |
quote_rate | float | Exchange rate between base and quote tokens |
quote_rate_usd | float | USD value of the quote rate |
base_token | object | Metadata for the base token including contract address, decimals, name, and symbol |
quote_token | object | Metadata for the quote token including contract address, decimals, name, and symbol |
pair | object | Metadata for the pair including contract address, decimals, name, and symbol |
OHLCV Pairs Stream
Operation Identity:- Operation ID:
ohlcvCandlesForPair - GraphQL
graphql-subscription→ field:ohlcvCandlesForPair - SDK:
StreamingService.subscribeToOHLCVPairs()
SONIC_MAINNET
BASE_MAINNETBSC_MAINNETETH_MAINNETSOLANA_MAINNETMONAD_MAINNETHYPEREVM_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g. BASE_MAINNET, ETH_MAINNET, BSC_MAINNET, SOLANA_MAINNET) |
pair_addresses | array | Yes | Array of pair addresses on supported DEXes and chains to track |
interval | enum | Yes | Frequency of OHLCV data updates, ranging from sub-second to one day |
timeframe | enum | Yes | Historical lookback period for OHLCV data, ranging from one minute to one month |
limit | int | No | Maximum number of items returned per stream message to control payload size |
Subscription
You can subscribe to theohlcvCandlesForPair endpoint to receive the pricing events.
Basic Subscription Query
Complete Subscription Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
chain_name | string | The blockchain network where the pair exists |
pair_address | string | The address of the DEX pair |
interval | enum | The candle interval |
timeframe | enum | The requested timeframe |
timestamp | string | ISO timestamp for the candle |
open | float | Opening price for the interval |
high | float | Highest price during the interval |
low | float | Lowest price during the interval |
close | float | Closing price for the interval |
volume | float | Trading volume during the interval |
volume_usd | float | Trading volume in USD |
quote_rate | float | Exchange rate between base and quote tokens |
quote_rate_usd | float | USD value of the quote rate |
base_token | object | Information about the base token in the pair |
quote_token | object | Information about the quote token in the pair |
OHLCV Tokens Stream
Operation Identity:- Operation ID:
ohlcvCandlesForToken - GraphQL
graphql-subscription→ field:ohlcvCandlesForToken - SDK:
StreamingService.subscribeToOHLCVTokens()
SONIC_MAINNET
BASE_MAINNETBSC_MAINNETETH_MAINNETSOLANA_MAINNETMONAD_MAINNETHYPERCORE_MAINNETHYPEREVM_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Supported Token Price Feeds
In addition to DEX-sourced prices, this stream supports institutional-grade price feeds from the following providers:| Provider | Description |
|---|---|
| Redstone Bolt | Ultra-low-latency CEX price feeds updated every 2.4 ms (~400 updates/sec). Bolt nodes are co-located with chain sequencer infrastructure and aggregate prices from Binance, Coinbase, OKX, Bitget, and Kraken. |
token_addresses array with chain_name set to the feed’s chain name.
| Feed Name | Asset | Chain Name |
|---|---|---|
REDSTONE-BTC | Bitcoin | MEGAETH_MAINNET |
REDSTONE-ETH | Ethereum | MEGAETH_MAINNET |
REDSTONE-SOL | Solana | MEGAETH_MAINNET |
REDSTONE-BNB | BNB | MEGAETH_MAINNET |
REDSTONE-XRP | XRP | MEGAETH_MAINNET |
REDSTONE-ADA | Cardano | MEGAETH_MAINNET |
REDSTONE-DOGE | Dogecoin | MEGAETH_MAINNET |
REDSTONE-USDT | Tether | MEGAETH_MAINNET |
REDSTONE-USDC | USD Coin | MEGAETH_MAINNET |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g. BASE_MAINNET, ETH_MAINNET, BSC_MAINNET, SOLANA_MAINNET) |
token_addresses | array | Yes | Array of token addresses on supported DEXes and chains to track |
interval | enum | Yes | Frequency of OHLCV data updates, ranging from sub-second to one day |
timeframe | enum | Yes | Historical lookback period for OHLCV data, ranging from one minute to one month |
limit | int | No | Maximum number of items returned per stream message to control payload size |
Subscription
You can subscribe to theohlcvCandlesForToken endpoint to receive the pricing events.
Basic Subscription Query
Complete Subscription Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
chain_name | string | The blockchain network where the token exists |
pair_address | string | The address of the primary DEX pool with the most liquidity for the token |
interval | enum | The candle interval |
timeframe | enum | The requested timeframe |
timestamp | string | ISO timestamp for the candle |
open | float | Opening price for the interval |
high | float | Highest price during the interval |
low | float | Lowest price during the interval |
close | float | Closing price for the interval |
volume | float | Trading volume during the interval |
volume_usd | float | Trading volume in USD |
quote_rate | float | Exchange rate between base and quote tokens |
quote_rate_usd | float | USD value of the quote rate |
base_token | object | Information about the queried token |
quote_token | object | Information about the paired token of the primary DEX pool |
Update Pairs Stream
Operation Identity:- Operation ID:
updatePairs - GraphQL
graphql-subscription→ field:updatePairs - SDK:
StreamingService.subscribeToUpdatePairs()
BASE_MAINNET
ETH_MAINNETBSC_MAINNETSONIC_MAINNETSOLANA_MAINNETMONAD_MAINNETHYPEREVM_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g. BASE_MAINNET, ETH_MAINNET, BSC_MAINNET, SOLANA_MAINNET) |
pair_addresses | array | Yes | Array of pair addresses on supported DEXes and chains to track |
Subscription
You can subscribe to theupdatePairs endpoint to receive the events.
Basic Subscription Query
Complete Subscription Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
chain_name | string | The blockchain network where the pair exists |
pair_address | string | The address of the DEX pair |
quote_rate | float | Exchange rate between base and quote tokens |
quote_rate_usd | float | Exchange rate between base and quote tokens in USD |
volume | float | Trading volume during the interval |
volume_usd | float | Trading volume in USD |
base_token | object | Information about the base token in the pair |
quote_token | object | Information about the quote token in the pair |
swap_counts | object | Swap counts for last 5m, 1hr, 6hr, 24hr |
price_deltas | object | Price deltas for last 5m, 1hr, 6hr, 24hr |
Wallet Activity Stream
Operation Identity:- Operation ID:
walletTxs - GraphQL
graphql-subscription→ field:walletTxs - SDK:
StreamingService.subscribeToWalletActivity()
BASE_MAINNET
ETH_MAINNETBSC_MAINNETSONIC_MAINNETMONAD_MAINNETHYPERCORE_MAINNETHYPEREVM_MAINNETPOLYGON_MAINNETMEGAETH_MAINNET
Supported Actions
All transactions are returned as raw data, but the following transaction types are decoded:- Transfer
- Swap
- Bridge
- Deposit
- Withdraw
- Approve
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
chain_name | enum | Yes | Chain name to filter events (e.g. BASE_MAINNET, ETH_MAINNET, BSC_MAINNET) |
wallet_addresses | array | Yes | Addresses to track |
Subscription
You can subscribe to thewalletTxs endpoint to receive events.
Basic Subscription Query
Complete Subscription Query
Response Format
Here’s an example of the response data structure:Field Descriptions
| Field | Type | Description |
|---|---|---|
tx_hash | string | The transaction hash |
from_address | string | The sender’s address |
to_address | string | The recipient’s address |
value | integer | The transaction value in native currency |
chain_name | string | The blockchain network where the transaction occurred |
block_signed_at | string | ISO timestamp of when the block was signed |
block_height | integer | The block number where the transaction was included |
block_hash | string | The hash of the block containing the transaction |
miner_address | string | The address of the block miner |
gas_used | integer | The amount of gas used by the transaction |
tx_offset | integer | The position of the transaction in the block |
successful | boolean | Whether the transaction was successful |
decoded_type | string | The type of decoded event (e.g., “SWAP”) |
decoded | object | The decoded event data (varies by event type) |
logs | array | Array of event logs emitted during the transaction |
Decoded Events
Note from the Complete Subscription Query, this stream decodes events which you can fetch with fragment spreads. See the full schema of available decoded events.Decoded Events
The following events are decoded in the GoldRush Streaming API:Transfer Event
| Field | Type | Description |
|---|---|---|
from | string | The source address |
to | string | The destination address |
amount | string | Unscaled token amount (scale by metadata.contract_decimals) |
quote_rate_usd | string | Exchange rate of the token in USD |
quote_usd | string | The quote amount of the token in USD |
contract_metadata | object | Contract details including contract_name, contract_address, contract_decimals, and contract_ticker_symbol |
Swap Event
| Field | Type | Description |
|---|---|---|
token_in | object | The input token details including contract_address, contract_decimals, and contract_ticker_symbol |
token_out | object | The output token details including contract_address, contract_decimals, and contract_ticker_symbol |
amount_in | string | The amount of input tokens |
amount_out | string | The amount of output tokens |
Bridge Event
| Field | Type | Description |
|---|---|---|
type | string | The bridge transaction type |
typeString | string | Human-readable bridge transaction type |
from | string | The source address |
to | string | The destination address |
amount | string | Unscaled token amount (scale by metadata.contract_decimals) |
quote_rate_usd | string | Exchange rate of the token in USD |
quote_usd | string | The quote amount of the token in USD |
contract_metadata | object | Contract details including contract_name, contract_address, contract_decimals, and contract_ticker_symbol |
Deposit Event
| Field | Type | Description |
|---|---|---|
from | string | The source address |
to | string | The destination address |
amount | string | Unscaled token amount (scale by metadata.contract_decimals) |
quote_rate_usd | string | Exchange rate of the token in USD |
quote_usd | string | The quote amount of the token in USD |
contract_metadata | object | Contract details including contract_name, contract_address, contract_decimals, and contract_ticker_symbol |
Withdraw Event
| Field | Type | Description |
|---|---|---|
from | string | The source address |
to | string | The destination address |
amount | string | Unscaled token amount (scale by metadata.contract_decimals) |
quote_rate_usd | string | Exchange rate of the token in USD |
quote_usd | string | The quote amount of the token in USD |
contract_metadata | object | Contract details including contract_name, contract_address, contract_decimals, and contract_ticker_symbol |
Approve Event
| Field | Type | Description |
|---|---|---|
spender | string | The address approved to spend tokens |
amount | string | Unscaled token amount (scale by metadata.contract_decimals) |
quote_rate_usd | string | Exchange rate of the token in USD |
quote_usd | string | The quote amount of the token in USD |
contract_metadata | object | Contract details including contract_name, contract_address, contract_decimals, and contract_ticker_symbol |
Transaction Logs
| Field | Type | Description |
|---|---|---|
emitter_address | string | The address that emitted the log |
log_offset | integer | The offset of the log in the transaction |
data | string | The raw log data |
topics | array | Array of log topics |
Error Details
| Field | Type | Description |
|---|---|---|
message | string | Error message describing what went wrong |