Overview
Stream real-time token USD prices via Server-Sent Events (SSE) with DexPaprika’s public streaming endpoint. Get price updates roughly every 1 second with no API key required. Base URL:https://streaming.dexpaprika.com
Endpoint: GET /stream
Protocol: HTTP/1.1 with text/event-stream (SSE)
Getting Started
Basic Example
Request Parameters
| Parameter | Type | Required | Description | 
|---|---|---|---|
| method | string | Yes | Streaming method. Must be t_p(token price) | 
| chain | string | Yes | Blockchain network slug (e.g., ethereum,solana) | 
| address | string | Yes | Token contract address or canonical address on the chain | 
| limit | integer | No | Optional: close stream after emitting N events | 
Request Examples
Response Format
Status:200 OK on success
Content-Type: text/event-stream
Format: Newline-delimited SSE events
Event Payload
Response Fields
| Field | Type | Description | 
|---|---|---|
| a | string | Token address | 
| c | string | Chain slug | 
| p | string | Price in USD (numeric string for precision) | 
| t | integer | Send timestamp (Unix seconds) | 
Example Response
Event Variants
Each tick can emit up to three price events with the same schema but different computation strategies:Available Variants
| Variant | Event Name | Use Case | Characteristics | 
|---|---|---|---|
| v3 | t_p_v3 | Default choice | Most stable, canonical price | 
| v2 | t_p_v2 | Balanced | Smoother than v1, slightly lagged | 
| v1 | t_p | Real-time needs | Most reactive, can be noisier | 
Recommended Selection Strategy
Usage Examples
Node.js Quick Listener
Browser (EventSource)
Error Handling
HTTP Status Codes
| Status | Reason | Resolution | 
|---|---|---|
| 400 Bad Request | Missing/invalid parameters | Check method,chain,address,limit | 
| 400 Unsupported chain | Chain not supported | Use /networksendpoint to find valid chains | 
| 400 Asset not found | Token address invalid for chain | Verify address belongs to the specified chain | 
| 429 Too Many Requests | Global capacity exceeded | Retry with exponential backoff | 
Common Errors
Validation occurs in sequence. When testing 
limit errors, use a known-valid token address (e.g., WETH on Ethereum) to avoid hitting asset not found before the limit validation.Integration Tips
Supported Networks
Use the Networks endpoint to discover supported chains.
One Asset Per Connection
Open separate connections for multiple assets. This endpoint streams a single token per connection.
Handle Precision
Parse numeric strings as numbers to preserve price precision in your client.
Reconnection Logic
Implement standard SSE reconnection patterns to handle network interruptions gracefully.
Next Steps
Quick API Reference
Explore REST endpoints for historical data and batch operations.
More Tutorials
Learn other ways to integrate DexPaprika into your applications.
Get Support
Join Discord
Connect with our community and get real-time support.
Give Feedback
Share your experience and help us improve.
FAQs
Do I need an API key?
Do I need an API key?
No. The streaming endpoint is public; no API keys or registration required.
How many assets can I stream at once?
How many assets can I stream at once?
This endpoint streams one asset per connection. For multiple assets, open separate connections.
What is the price update frequency?
What is the price update frequency?
Target emission is ~1 second per connection, subject to server load and network conditions.
Which event variant should I use?
Which event variant should I use?
Default to 
t_p_v3 (canonical). Use t_p_v2 for balance between stability and responsiveness, or t_p for maximum immediacy.How do I handle connection drops?
How do I handle connection drops?
Implement standard SSE reconnection logic with exponential backoff on network failures.
Are prices in USD only?
Are prices in USD only?
Yes, this endpoint provides prices in USD. Numeric values are provided as strings to preserve precision.