TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sieblyio/kraken-api/llms.txt
Use this file to discover all available pages before exploring further.
DerivativesClient exposes a full suite of public market data methods for the Kraken Futures (Derivatives) API. None of the methods on this page require API key authentication — you can instantiate the client without credentials and call them freely. They cover instrument specifications, real-time ticker snapshots, full order-book depth, OHLCV candles, historical funding rates, fee schedules, and streaming-style market event history.
Trade History
getTradeHistory(params)
Returns the most recent 100 trades prior to the specified lastTime value, up to the past 7 days or the most recent trading engine restart — whichever is sooner. If no lastTime is provided, the 100 most recent trades are returned.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/history - Auth required: No
The futures contract symbol to query, e.g.
PF_BTCUSD.ISO 8601 timestamp. Returns the 100 most recent trades before this time. Omit to get the 100 most recent trades overall.
Promise<DerivativesAPISuccessResponse<{ history: FuturesTradeHistoryItem[] }>>
Each FuturesTradeHistoryItem includes:
uid— unique trade identifierprice— the fill price as a stringsize— the fill size as a numberside—buyorselltime— ISO 8601 timestamp of the tradetype— trade type, e.g.fill
Symbol conventions
Kraken Futures symbols follow a structured prefix scheme that encodes the contract type:| Prefix | Description | Example |
|---|---|---|
PF_ | Perpetual Futures — no expiry, continuously funded | PF_BTCUSD, PF_ETHUSD |
PI_ | Perpetual Inverse Futures — inverse-settled, no expiry | PI_XBTUSD |
FI_ | Fixed-term Inverse Futures — inverse-settled with expiry | FI_XBTUSD_250926 |
FF_ | Fixed-term Vanilla Futures — USD-settled with expiry | FF_BTCUSD_250926 |
Instruments
getInstruments()
Returns specifications for all currently listed markets and indices — contract type, tick size, contract size, margin schedules, and more.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/instruments - Auth required: No
Promise<DerivativesAPISuccessResponse<{ instruments: FuturesInstrument[] }>>
getInstrumentStatus(params)
Returns price dislocation and volatility details for a single market — whether it is currently experiencing dislocation or extreme volatility and in which direction.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/instruments/{symbol}/status - Auth required: No
The futures symbol to query, e.g.
PF_BTCUSD.Promise<DerivativesAPISuccessResponse<FuturesInstrumentStatus>>
getInstrumentStatusList()
Returns price dislocation and volatility details for all listed markets in a single call.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/instruments/status - Auth required: No
Promise<DerivativesAPISuccessResponse<{ instrumentStatus: FuturesInstrumentStatus[] }>>
Tickers
getTickers()
Returns current market data for all currently listed futures contracts and indices — prices, volumes, open interest, funding rates, and more.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/tickers - Auth required: No
Promise<DerivativesAPISuccessResponse<{ tickers: FuturesTicker[] }>>
FuturesTicker:
| Field | Type | Description |
|---|---|---|
symbol | string | Contract symbol |
last | number? | Last fill price |
markPrice | number | Current mark price used for margining |
bid / ask | number? | Best bid and ask prices |
vol24h | number | 24-hour volume |
openInterest | number | Current open interest |
fundingRate | number? | Current funding rate (perpetuals only) |
fundingRatePrediction | number? | Predicted next funding rate (perpetuals only) |
tag | string | perpetual, month, quarter, or semiannual |
suspended | boolean | Whether the market is currently suspended |
getTicker(params)
Returns market data for a single futures contract or index by symbol.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/tickers/{symbol} - Auth required: No
The futures symbol to query, e.g.
PF_ETHUSD.Promise<DerivativesAPISuccessResponse<{ ticker: FuturesTicker }>>
Order Book
getOrderbook(params)
Returns the complete non-cumulative order book for a futures contract — all price levels on both sides.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/orderbook - Auth required: No
The futures contract symbol, e.g.
PF_ETHUSD.Promise<DerivativesAPISuccessResponse<{ orderBook: FuturesOrderBook }>>
The FuturesOrderBook contains:
bids:[number, number][]—[price, size]pairs, sorted descending by priceasks:[number, number][]—[price, size]pairs, sorted ascending by price
Historical Funding Rates
getHistoricalFundingRates(params)
Returns a list of historical funding rates for a given perpetual futures market.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/historical-funding-rates - Auth required: No
The perpetual futures symbol to query, e.g.
PF_BTCUSD.Promise<DerivativesAPISuccessResponse<{ rates: FuturesHistoricalFundingRate[] }>>
Each FuturesHistoricalFundingRate includes:
fundingRate— the absolute funding raterelativeFundingRate— the funding rate relative to the mark pricetimestamp— ISO 8601 timestamp of the funding event
Candles
getTickTypes()
Returns all available tick types that can be used with candle and chart endpoints.
- HTTP method:
GET - Endpoint:
api/charts/v1/ - Auth required: No
Promise<FuturesTickType[]>
The three tick types are:
trade— candles built from actual trade pricesmark— candles built from the mark price (used for margining)spot— candles built from the underlying spot index price
getMarketsForTickType(params)
Returns the list of markets (symbols) available for a specific tick type.
- HTTP method:
GET - Endpoint:
api/charts/v1/{tickType} - Auth required: No
The tick type to query. Use
getTickTypes() to enumerate available values.Promise<string[]>
getResolutions(params)
Returns the candle resolutions available for a specific tick type and market.
- HTTP method:
GET - Endpoint:
api/charts/v1/{tickType}/{symbol} - Auth required: No
The tick type.
The market symbol, e.g.
PF_ETHUSD.Promise<FuturesResolution[]>
Available resolutions: 1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 1w
getCandles(params)
Returns OHLCV candle data for a specific tick type, market, and resolution.
- HTTP method:
GET - Endpoint:
api/charts/v1/{tickType}/{symbol}/{resolution} - Auth required: No
The price series to base candles on.
The market symbol, e.g.
PF_ETHUSD.The candle interval.
Start of range as epoch timestamp in seconds.
End of range as epoch timestamp in seconds. Defaults to now.
Maximum number of candles to return.
Promise<FuturesCandles>
The FuturesCandles response contains:
candles: array ofFuturesCandle— each hastime(epoch ms),open,high,low,close(as strings), andvolume(number)more_candles:boolean—trueif additional candles are available beyond the returned set
- Recent candles
- Time range
- Mark price candles
Fee Schedules
Both fee schedule endpoints are deprecated effective 2026-06-22. Use
SpotClient.getTradingVolume() with a Spot API key instead.getFeeSchedules()
Lists all fee schedules with their maker/taker fee tiers by USD volume.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/feeschedules - Auth required: No
Promise<DerivativesAPISuccessResponse<{ feeSchedules: FuturesFeeSchedule[] }>>
getFeeScheduleVolumes()
Returns your personal fee schedule volumes for each fee schedule, determining which fee tier you qualify for.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/feeschedules/volumes - Auth required: Yes
Promise<DerivativesAPISuccessResponse<{ volumesByFeeSchedule: Record<string, number> }>>
Market Event History
These endpoints provide paginated access to public market event streams. All three share the sameFuturesMarketHistoryBaseParams shape and support continuation-token pagination.
Symbol of the contract to query, e.g.
PF_ETHUSD.Filter events after this timestamp in milliseconds.
Filter events before this timestamp in milliseconds.
Sort order. Defaults to
desc (newest first).Maximum number of events to return per page.
Base64 token from a previous response to fetch the next page.
getPublicExecutionEvents(params)
Lists public trade execution events for a market — every fill that occurred with its price, quantity, and timestamp.
- HTTP method:
GET - Endpoint:
api/history/v3/market/{tradeable}/executions - Auth required: No
Promise<FuturesMarketHistoryResponse<FuturesPublicExecutionEvent>>
getPublicOrderEvents(params)
Lists public order-book events for a market — order placements, cancellations, and edits.
- HTTP method:
GET - Endpoint:
api/history/v3/market/{tradeable}/orders - Auth required: No
Promise<FuturesMarketHistoryResponse<FuturesPublicOrderEvent>>
getPublicMarkPriceEvents(params)
Lists mark price change events for a market — useful for reconstructing the mark price timeline.
- HTTP method:
GET - Endpoint:
api/history/v3/market/{tradeable}/price - Auth required: No
Promise<FuturesMarketHistoryResponse<FuturesPublicMarkPriceEvent>>
Each FuturesPublicMarkPriceEvent contains a uid, timestamp, and an event.price string.
Analytics
getLiquidityPoolStatistic(params)
Returns liquidity pool statistics including USD value for a given pool and time range.
- HTTP method:
GET - Endpoint:
api/charts/v1/analytics/liquidity-pool - Auth required: No
The pool code / symbol to query.
The analytics type (e.g.
liquidity).Start of time range as epoch timestamp in seconds.
Resolution in seconds. One of:
60, 300, 900, 1800, 3600, 14400, 43200, 86400, 604800.End of time range in epoch seconds. Defaults to now.
Promise<FuturesAnalyticsResponse>
getMarketAnalytics(params)
Returns analytics data for a market divided into time buckets. Supports a wide range of analytics types including open interest, trade volume, long/short ratios, liquidation volume, and more.
- HTTP method:
GET - Endpoint:
api/charts/v1/analytics/{symbol}/{analyticsType} - Auth required: No
The market symbol, e.g.
PF_ETHUSD.One of:
open-interest, aggressor-differential, trade-volume, trade-count, liquidation-volume, rolling-volatility, long-short-ratio, long-short-info, cvd, top-traders, orderbook, spreads, liquidity, slippage, future-basis.Start of time range as epoch timestamp in seconds.
Bucket size in seconds:
60, 300, 900, 1800, 3600, 14400, 43200, 86400, or 604800.End of time range in epoch seconds. Defaults to now.
Promise<FuturesAnalyticsResponse>
Portfolio Margin (DEMO only)
The following two methods are currently available exclusively in the Kraken Futures DEMO environment and are not available in production.
getPortfolioMarginParameters()
Retrieves the current portfolio margin calculation parameters, including user-specific limits related to options trading.
- HTTP method:
GET - Endpoint:
derivatives/api/v3/portfolio-margining/parameters - Auth required: Yes
Promise<DerivativesAPISuccessResponse<FuturesPortfolioMarginParameters>>
simulateMarginRequirements(params)
For a given portfolio of balances and positions (futures and options), calculates the margin requirements, PnL, and option greeks.
- HTTP method:
POST - Endpoint:
derivatives/api/v3/portfolio-margining/simulate - Auth required: Yes
Complex portfolio simulation payload. Refer to the Kraken Futures API documentation for the full schema.
Promise<DerivativesAPISuccessResponse<FuturesPortfolioSimulation>>