curl --request GET \
--url https://streaming.dexpaprika.com/sse/reservesimport requests
url = "https://streaming.dexpaprika.com/sse/reserves"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://streaming.dexpaprika.com/sse/reserves', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://streaming.dexpaprika.com/sse/reserves",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://streaming.dexpaprika.com/sse/reserves"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://streaming.dexpaprika.com/sse/reserves")
.asString();require 'uri'
require 'net/http'
url = URI("https://streaming.dexpaprika.com/sse/reserves")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"chain": "ethereum",
"pool_id": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"block": "19000000",
"previous_block": "18999999",
"tokens": [
{
"token_id": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"reserve": "1000000000000",
"delta": "-500000",
"price_usd": 1.0005,
"reserve_usd": 1000000.5,
"delta_usd": -500.25
}
],
"total_reserve_usd": 2000000.75,
"total_delta_usd": -1000.5,
"timestamp": 1715162400,
"block_timestamp": 1715162388
}{
"message": "asset not found"
}Stream real-time reserve updates for a single pool or token
Establishes an SSE stream for reserve updates on a specific pool or token using query string parameters.
Supported Channel Events: - pool_reserves: Per-block reserve update for a pool. Schema matches PoolReservesResponse. - token_reserves: Aggregated reserve update across all pools for a token. Schema matches TokenReservesResponse. - ping: Infrastructure keep-alive payload (PingEvent). - warning: System warning notifications (WarningEvent). - error: Stream-level operational exceptions (ErrorEvent).
curl --request GET \
--url https://streaming.dexpaprika.com/sse/reservesimport requests
url = "https://streaming.dexpaprika.com/sse/reserves"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://streaming.dexpaprika.com/sse/reserves', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://streaming.dexpaprika.com/sse/reserves",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://streaming.dexpaprika.com/sse/reserves"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://streaming.dexpaprika.com/sse/reserves")
.asString();require 'uri'
require 'net/http'
url = URI("https://streaming.dexpaprika.com/sse/reserves")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"chain": "ethereum",
"pool_id": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
"block": "19000000",
"previous_block": "18999999",
"tokens": [
{
"token_id": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"reserve": "1000000000000",
"delta": "-500000",
"price_usd": 1.0005,
"reserve_usd": 1000000.5,
"delta_usd": -500.25
}
],
"total_reserve_usd": 2000000.75,
"total_delta_usd": -1000.5,
"timestamp": 1715162400,
"block_timestamp": 1715162388
}{
"message": "asset not found"
}Query Parameters
Subscription target type — pool_reserves for pool-level data, token_reserves for token-level aggregated data.
pool_reserves, token_reserves Target pool or token smart contract address.
Target blockchain network identifier (e.g., ethereum, solana).
Optional identifier for tracking the request in the SSE stream.
0 <= x <= 4294967295Maximum event count before server-initiated connection teardown.
x >= 1Response
SSE stream successfully established.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Per-block reserve update for a pool. Emitted on the pool_reserves event channel.
Blockchain network identifier.
"ethereum"
Pool smart contract address.
"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
Block number in which the reserve update was confirmed (string-encoded integer).
"19000000"
Previous block number for this pool (string-encoded integer). Omitted if unavailable.
"18999999"
Per-token reserve statistics for this pool.
Show child attributes
Show child attributes
Total USD value of all reserves in the pool.
2000000.75
Total USD change across all reserves. Negative values indicate a net decrease.
-1000.5
Server ingestion timestamp (Unix epoch seconds).
1715162400
On-chain block timestamp (Unix epoch seconds).
1715162388
Was this page helpful?