curl --request GET \
--url https://api.hypedexer.com/hip4/providers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/hip4/providers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hypedexer.com/hip4/providers', 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://api.hypedexer.com/hip4/providers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.hypedexer.com/hip4/providers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hypedexer.com/hip4/providers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/hip4/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"provider": "oracle",
"deployer": "",
"markets_traded": 2174,
"fills": 7612843,
"volume_usdc": 481250317.6,
"unique_users": 18942,
"fees": 12873.42,
"last_trade": "2026-08-29 11:42:17"
},
{
"provider": "hypurr-markets",
"deployer": "0x59900d101574c04a6b8a647feb3db1ab48eb320a",
"markets_traded": 12,
"fills": 3841,
"volume_usdc": 214508.9,
"unique_users": 305,
"fees": 96.71,
"last_trade": "2026-08-29 10:58:03"
}
]Per-provider trading stats
Returns per-provider trading statistics, aggregated from fills. One row per provider, sorted by volume_usdc descending.
A new permissionless venue appears automatically after its first fill. Markets with no on-chain venue are reported under the reserved provider name oracle so aggregates are complete — see Permissionless providers and the oracle convention.
Note: settlement rows are excluded from all aggregates. Numbers in the example below are illustrative.
curl --request GET \
--url https://api.hypedexer.com/hip4/providers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/hip4/providers"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hypedexer.com/hip4/providers', 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://api.hypedexer.com/hip4/providers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.hypedexer.com/hip4/providers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hypedexer.com/hip4/providers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/hip4/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"provider": "oracle",
"deployer": "",
"markets_traded": 2174,
"fills": 7612843,
"volume_usdc": 481250317.6,
"unique_users": 18942,
"fees": 12873.42,
"last_trade": "2026-08-29 11:42:17"
},
{
"provider": "hypurr-markets",
"deployer": "0x59900d101574c04a6b8a647feb3db1ab48eb320a",
"markets_traded": 12,
"fills": 3841,
"volume_usdc": 214508.9,
"unique_users": 305,
"fees": 96.71,
"last_trade": "2026-08-29 10:58:03"
}
]Authorizations
Include in every request header as X-API-Key: <your_key>.
Query Parameters
Filter to one provider — a venue name, or oracle for legacy markets
Inclusive lower bound on fill time (ISO datetime)
Inclusive upper bound on fill time (ISO datetime)
x <= 1000Response
OK
Venue name, or oracle for legacy markets
Deployer address. Empty string for oracle.
Distinct outcomes with at least one fill in range
Number of fills
Total traded volume (sum of px * sz, USDC quote)
Number of unique traders
Total fees
Time of the most recent fill (YYYY-MM-DD hh:mm:ss, UTC)