Available Markets
GET /api/v1/markets?exchanges=hyperliquid,extendedNo authentication required. Public endpoint.
Returns the universe of markets available across the specified exchanges. Useful for discovering what you can trade before creating a spread.
Query parameters
| Param | Type | Required | Description |
|---|---|---|---|
exchanges | string | Yes | Comma-separated list of exchange identifiers |
min_exchanges | int | No | Only include markets supported on at least N of the specified exchanges. Omitted = strict intersection (market must exist on all specified exchanges). Pass min_exchanges=1 explicitly for the union. |
Response
200 OK
{
"markets": [
{
"canonical": "HYPE",
"exchanges": {
"hyperliquid": { "symbol": "HYPE", "tick_size": "0.01", "lot_size": "1", "min_size": "1" },
"extended": { "symbol": "HYPE", "tick_size": "0.01", "lot_size": "0.1", "min_size": "0.1" },
"lighter": { "symbol": "HYPE", "tick_size": "0.001", "lot_size": "0.1", "min_size": "0.1" },
"orderly": { "symbol": "HYPE", "tick_size": "0.001", "lot_size": "0.1", "min_size": "0.1" }
}
},
{
"canonical": "BTC",
"exchanges": {
"hyperliquid": { "symbol": "BTC", "tick_size": "0.1", "lot_size": "0.001", "min_size": "0.001", "min_notional": "10" }
}
}
]
}Each market is keyed by canonical (Spreadr's normalized symbol — what you
pass in the market field of Create Trade).
Per-exchange entries give the venue-specific symbol + lot sizing.
Per-exchange fields
| Field | Description |
|---|---|
symbol | Exchange-specific symbol name (may differ from canonical) |
tick_size | Minimum price increment |
lot_size | Minimum size increment |
min_size | Minimum order size |
min_notional | Minimum order value in USD (optional; some venues only) |
max_leverage | Maximum leverage the venue allows on this market (optional) |
isolated_only | true if the venue only supports isolated margin here (optional) |
funding_interval_hours | Funding settlement interval for this market (optional) |
live_funding_rate / live_funding_annualised | Current funding rate, raw and annualized (optional) |
volume_24h_usd / open_interest_usd | Market activity stats (optional) |
Optional fields are omitted when the venue doesn't supply the data.
Finding spread-eligible markets
To find markets you can spread between two specific venues, pass exactly
those two exchanges — the default (no min_exchanges) already returns only
markets that exist on both:
curl "https://api.spreadr.xyz/api/v1/markets?exchanges=hyperliquid,extended"This endpoint is public (no auth required) — useful for market-discovery pages on third-party sites without exposing user credentials.
Example
# Markets that exist on BOTH Hyperliquid and Lighter (spread candidates)
curl "https://api.spreadr.xyz/api/v1/markets?exchanges=hyperliquid,lighter"
# All markets on EITHER venue (union)
curl "https://api.spreadr.xyz/api/v1/markets?exchanges=hyperliquid,lighter&min_exchanges=1"