Market Data
Public market-data endpoints for API trading: historical price klines and mark-price klines over REST, and live price/mark-price/ticker streaming over WebSocket.
Public & read-only. These endpoints require no authentication
Base URLs
| Surface | Base |
|---|---|
| REST | https://trade.mudrex.com/fapi/v1/price |
| WebSocket | wss://trade.mudrex.com/fapi/v1/price/ws/linear |
Conventions
- Timestamps are epoch seconds in UTC
- Price and volume values are JSON numbers (floating)
- Symbol formats differ by surface:
- REST uses
<base>/<quote>, e.g.BTC/USDT. A literal/is accepted. Response keys are lowercase, e.g.btc/usdt. - WebSocket uses both upper & lowercase, e.g.
btcusdtorBTCUSDT.
- REST uses
- REST endpoints are
GETwith case-sensitive URL query parameters and returnContent-Type: application/json.
Pages
- Historical Kline -
GET /price/kline - Mark Price Kline -
GET /price/mark-kline - WebSocket Streams - live kline / mark-kline / ticker
Rate limits & quotas
Rate limiting is per-minute call limiting for REST. The REST and WebSocket limits are tracked independently.
REST
| Limit | Value | Scope |
|---|---|---|
| Requests per minute | 300 | Per IP |
Exceeding the limit returns HTTP 429 Too Many Requests.
WebSocket
| Limit | Value | Scope |
|---|---|---|
| Max active subscriptions per connection | 15 | Per connection |
| New WebSocket connections per minute | 10 | Per IP |
A ticker stream (ticker@5s / ticker@1s) counts as 1 subscription regardless of how many assets it tracks; the ticker asset count is unlimited. Exceeding the subscription cap returns application error 429 subscription limit reached. Exceeding the connection-creation limit returns HTTP 429 Too Many Requests.
Errors
REST - error responses mirror the success envelope with success: false. Errors are returned as an errors array; each entry has a code and a text
{ "success": false, "errors": [{ "code": 400, "text": "assets are required" }] }| HTTP status | Code | Text |
|---|---|---|
| 400 | 400 | assets are required · allowed assets size is 25 · aggregation not supported · start and end time should be greater than 0 · end time should be greater than start time · invalid assets |
| 404 | 404 | asset not found |
| 429 | 429 | Rate limit exceeded |
| 5xx | 500 | something went wrong |
WebSocket - errors are returned in the response error object; codes are application-level
| Code | Message | Cause |
|---|---|---|
| 400 | invalid JSON | Malformed request body |
| 400 | unknown method | method is not one of the three valid values |
| 400 | invalid stream name: <x> | Unrecognised stream or unsupported interval |
| 400 | not subscribed: <x> | Unsubscribing from a stream not currently active |
| 429 | subscription limit reached | Would exceed 15 active subscriptions |
