Get Funding Rate
Retrieve current funding rates for perpetual markets. This is a public endpoint that returns market-wide funding rate information without requiring authentication.
Endpoint
POST https://papi.synthetix.io/v1/infoRequest
Request Format
{
"params": {
"action": "getFundingRate",
"symbol": "BTC-USDT"
}
}Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
params.action | string | Yes | Must be "getFundingRate" |
params.symbol | string | Yes | Trading pair symbol (e.g., "BTC-USDT") |
Example Request
cURL
curl -X POST https://papi.synthetix.io/info \
-H "Content-Type: application/json" \
-d '{
"params": {
"action": "getFundingRate",
"symbol": "BTC-USDT"
}
}'JavaScript
const response = await fetch('https://papi.synthetix.io/info', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
params: {
action: 'getFundingRate',
symbol: 'BTC-USDT'
}
})
});
const data = await response.json();
console.log(data);Python
import requests
response = requests.post('https://papi.synthetix.io/info',
json={
"params": {
"action": "getFundingRate",
"symbol": "BTC-USDT"
}
}
)
data = response.json()
print(data)Response
Success Response
{
"status": "ok",
"response": {
"symbol": "BTC-USDT",
"fundingRate": "0.00001250",
"fundingTimestamp": 1735689600000,
"nextFundingTime": 1735693200000,
"fundingInterval": 3600000
},
"request_id": "5ccf215d37e3ae6d"
}Funding Rate Object
| Field | Type | Description |
|---|---|---|
symbol | string | Trading pair symbol |
fundingRate | string | Current funding rate (1-hour rate, not annualized) |
fundingTimestamp | integer | Unix milliseconds timestamp when funding rate was last updated |
nextFundingTime | integer | Unix milliseconds timestamp of next funding payment |
fundingInterval | integer | Funding interval in milliseconds (typically 3600000 for 1 hour) |
nextFundingRate | string | Predicted next funding rate (WebSocket only) |
Note: Funding rates are expressed as 1-hour rates.
Funding Rate Calculation
The funding rate is calculated using:
- Premium Rate: Difference between perpetual and spot prices
- Interest Rate: Typically 0.01% per 1-hour period
- Dampening Factor: Applied to smooth rate changes
Formula: Funding Rate = Premium Rate + clamp(Interest Rate - Premium Rate, -0.05%, 0.05%)
Understanding Funding Payments
- Positive funding rate: Long positions pay short positions
- Negative funding rate: Short positions pay long positions
- Payment frequency: Every 1 hour (hourly basis)
- Rate basis: 1-hour rate (multiply by 24 for daily, 1095 for annual)
:::info Rate Limits The Synthetix API enforces rate limits to ensure fair usage and system stability:
- Order Placement: 100 orders per second per subaccount
- WebSocket Connections: 100 connections per IP address
- WebSocket Subscriptions: 1000 subscriptions per IP address
See Rate Limits for detailed information and best practices. :::
Error Responses
| Error | Description |
|---|---|
| Invalid signature | EIP-712 signature validation failed |
| Invalid market symbol | Market symbol not recognized |
| Nonce already used | Nonce must be greater than previous value |
| Rate limit exceeded | Too many requests in time window |
| Request expired | expiresAfter timestamp has passed |
Endpoint-Specific Errors
| Error Code | Error Type | Description | Solution |
|---|---|---|---|
| 40002 | INVALID_SYMBOL | Invalid or unsupported trading symbol | Use valid symbol from getMarkets |
| 50003 | FUNDING_DATA_UNAVAILABLE | Funding rate data temporarily unavailable | Retry request or check system status |
Use Cases
Real-Time Funding Monitoring
// Monitor funding rates for risk management
const symbols = ['BTC-USDT', 'ETH-USDT', 'SOL-USDT'];
const fundingRates = await Promise.all(
symbols.map(symbol => getFundingRate(symbol))
);Funding Rate Alerts
// Set up alerts for extreme funding rates
if (Math.abs(parseFloat(fundingRate)) > 0.01) {
console.log(`High funding rate alert: ${symbol} at ${fundingRate}`);
}Related Endpoints
- Get Funding Payments - User's funding payments history
- Get Markets - Available trading pairs
- Get Market Prices - Current market prices