User funding payments
curl --request GET \
--url https://api.hypedexer.com/funding/userFunding \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/funding/userFunding"
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/funding/userFunding', 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/funding/userFunding",
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/funding/userFunding"
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/funding/userFunding")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/funding/userFunding")
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[
{
"time": 1781481600049,
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coin": "0G",
"usdc": "0.167934",
"szi": "-44405",
"delta": {
"type": "funding",
"coin": "0G",
"usdc": "0.167934",
"szi": "-44405",
"fundingRate": "0.0000125",
"nSamples": null
}
},
{
"time": 1781481600049,
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coin": "2Z",
"usdc": "0.246354",
"szi": "272895",
"delta": {
"type": "funding",
"coin": "2Z",
"usdc": "0.246354",
"szi": "272895",
"fundingRate": "-0.0000126156",
"nSamples": null
}
}
]Funding
User funding payments
Hourly funding payments of a wallet, rebuilt from Hyperliquid’s official node event archive. Same data as userFunding over POST /info (Live Data REST API).
timeis the exact settlement timestamp in milliseconds, the same value Hyperliquid returns;startTimeandendTimeare inclusive bounds on it.- Newest settlement first, then by coin (A to Z). All payments of one settlement share the same
time: when a page comes back full, drop the rows carrying its oldesttimeand request again withendTimeset to thattimeminus 1. usdcis positive when the wallet received funding and negative when it paid;sziis the signed position size at settlement.- Coverage: complete from 2025-09-27 10:00 UTC, the start of the node event archive. An earlier window returns
[]. A new settlement is available about 30 seconds after the hour.
GET
/
funding
/
userFunding
User funding payments
curl --request GET \
--url https://api.hypedexer.com/funding/userFunding \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hypedexer.com/funding/userFunding"
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/funding/userFunding', 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/funding/userFunding",
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/funding/userFunding"
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/funding/userFunding")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hypedexer.com/funding/userFunding")
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[
{
"time": 1781481600049,
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coin": "0G",
"usdc": "0.167934",
"szi": "-44405",
"delta": {
"type": "funding",
"coin": "0G",
"usdc": "0.167934",
"szi": "-44405",
"fundingRate": "0.0000125",
"nSamples": null
}
},
{
"time": 1781481600049,
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coin": "2Z",
"usdc": "0.246354",
"szi": "272895",
"delta": {
"type": "funding",
"coin": "2Z",
"usdc": "0.246354",
"szi": "272895",
"fundingRate": "-0.0000126156",
"nSamples": null
}
}
]Authorizations
Your Hypedexer API key. Create one in the console at https://app.hypedexer.com. Authorization: Bearer <key> and the api_key query parameter are accepted as well.
Headers
Query Parameters
User address (0x…)
Inclusive lower bound on the settlement time (epoch ms)
Inclusive upper bound on the settlement time (epoch ms)
Required range:
1 <= x <= 5000