All methods in this section are private endpoints — every call requires a valid API key and secret configured on 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.
SpotClient instance. These methods give you complete visibility into your account state: balances, open and closed orders, margin positions, ledger history, trade records, and data export management.
API key permissions: Each method requires specific API key permissions. Grant only the minimum scopes needed — for read-only account inspection, enable Query permissions under Funds and Orders & Trades. Never enable withdrawal permissions unless required.
getAccountBalance(params?)
Retrieve all cash balances, net of pending withdrawals.
Signature
Controls how multi-collateral balances are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Balance |
| Auth required | Yes |
Record<string, string>
Keys are asset identifiers (e.g. "ZUSD", "XXBT"), values are string-encoded decimal balances.
Staking and Earn asset suffixes:
.B — balances in new yield-bearing products, .F — balances earning automatically via Kraken Rewards, .T — tokenized assets.getExtendedBalance(params?)
Retrieve all extended account balances, including credits and held amounts. Available balance is calculated as:
Controls how multi-collateral balances are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/BalanceEx |
| Auth required | Yes |
Record<string, SpotExtendedBalanceAsset>
| Field | Type | Description |
|---|---|---|
balance | string | Total balance |
credit | string | Available credit |
credit_used | string | Credit currently in use |
hold_trade | string | Amount held for open orders |
getCreditLines(params?)
Retrieve all credit line details for VIPs with this functionality.
Signature
Controls how multi-collateral balances are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/CreditLines |
| Auth required | Yes |
null if no credit lines are available on the account.
getTradeBalance(params?)
Retrieve a summary of collateral balances, margin position valuations, equity and margin level.
Signature
Controls how multi-collateral balances are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/TradeBalance |
| Auth required | Yes |
SpotTradeBalance
| Field | Description |
|---|---|
eb | Equivalent balance (combined balance of all currencies) |
tb | Trade balance (combined balance of all equity currencies) |
m | Margin amount of open positions |
n | Unrealized net profit/loss of open positions |
c | Cost basis of open positions |
v | Current floating valuation of open positions |
e | Equity: trade_balance + unrealized_net_pnl |
mf | Free margin: equity - initial_margin |
ml | Margin level: (equity / initial_margin) × 100 |
uv | Unexecuted value |
getOpenOrders(params?)
Retrieve information about currently open orders.
Signature
Whether to include trades related to a position in the output. Defaults to
false.Filter by user reference ID.
Filter by client order ID.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/OpenOrders |
| Auth required | Yes |
getClosedOrders(params?)
Retrieve information about orders that have been closed (filled or cancelled). Returns 50 results at a time, most recent first.
Signature
Whether to include related trades in the output.
Filter by user reference ID.
Filter by client order ID.
Unix timestamp or order transaction ID to begin results from (inclusive).
Unix timestamp or order transaction ID to end results at (inclusive).
Result offset for pagination.
Whether to search by open time, close time, or both. Defaults to
both.Whether to consolidate trades by taker.
If
true, omits the count field from the response for a minor performance improvement.Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/ClosedOrders |
| Auth required | Yes |
getOrders(params)
Retrieve information about one or more specific orders by transaction ID.
Signature
Comma-delimited list of transaction IDs to query (up to 50).
Whether to include related trades in output.
Filter by user reference ID.
Whether to consolidate trades by taker.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/QueryOrders |
| Auth required | Yes |
getOrderAmends(params)
Retrieves an audit trail of all amend transactions on a specific order, ordered by ascending amend timestamp.
Signature
The Kraken transaction ID of the order to inspect.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/OrderAmends |
| Auth required | Yes |
SpotOrderAmendsResponse
| Field | Type | Description |
|---|---|---|
count | number | Total number of amends |
amends | SpotOrderAmend[] | List of amend records |
SpotOrderAmend includes: amend_id, amend_type ('original' \| 'user' \| 'restated'), order_qty, limit_price, trigger_price, reason, post_only, timestamp.
getTradesHistory(params?)
Retrieve information about trades/fills. Returns 50 results at a time, most recent first.
Signature
Type of trade to filter by. Defaults to
all.Whether to include trades related to a position.
Unix timestamp or trade transaction ID to begin results from (inclusive).
Unix timestamp or trade transaction ID to end results at (inclusive).
Result offset for pagination.
Whether to consolidate trades by taker.
Whether to include ledger entries associated with trades.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/TradesHistory |
| Auth required | Yes |
getTrades(params)
Retrieve information about one or more specific trades by transaction ID.
Signature
Comma-delimited list of transaction IDs to query (up to 20).
Whether to include trades related to a position.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/QueryTrades |
| Auth required | Yes |
getOpenPositions(params?)
Get information about open margin positions.
Signature
Comma-delimited list of transaction IDs to filter by.
Whether to include profit/loss calculations. Defaults to
false.Consolidate positions by market/pair.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/OpenPositions |
| Auth required | Yes |
getLedgersInfo(params?)
Retrieve information about ledger entries. Returns 50 results at a time, most recent first.
Signature
Comma-delimited list of assets to filter by (e.g.
"XBT,ETH").Asset class to filter by.
Ledger entry type filter. Options:
all, trade, deposit, withdrawal, transfer, margin, adjustment, rollover, credit, settled, staking, dividend, sale, nft_rebate.Unix timestamp to begin results from (inclusive).
Unix timestamp to end results at (inclusive).
Result offset for pagination.
If
true, omits the count field from the response.Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Ledgers |
| Auth required | Yes |
getLedgers(params)
Retrieve information about specific ledger entries by ID.
Signature
Comma-delimited list of ledger entry IDs to query (up to 20).
Whether to include trades related to the ledger entries.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/QueryLedgers |
| Auth required | Yes |
getTradingVolume(params?)
Returns 30-day USD trading volume and resulting fee schedule for any asset pair(s) provided. Also use this endpoint (with a Spot API key) to determine Futures fee rates.
Signature
Comma-delimited list of pairs to return fee info for (e.g.
"XBTUSD,ETHUSD").Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/TradeVolume |
| Auth required | Yes |
SpotTradeVolume
| Field | Type | Description |
|---|---|---|
currency | string | Volume currency (USD) |
volume | string | Current 30-day trading volume |
fees | Record<string, SpotFeeTierInfo>? | Taker fee schedule by pair |
fees_maker | Record<string, SpotFeeTierInfo>? | Maker fee schedule by pair |
requestLedgersExport(params)
Request an export of trades or ledger data as a CSV or TSV file.
Signature
Type of data to export.
Description/label for the export.
Export file format. Defaults to
CSV.Comma-delimited list of fields to include in the export.
Start time for data range (Unix timestamp).
End time for data range (Unix timestamp).
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/AddExport |
| Auth required | Yes |
{ id: string } — the export ID used to check status and retrieve the file.
getLedgersExportStatus(params)
Get the status of previously requested data exports.
Signature
The type of report to check status for.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/ExportStatus |
| Auth required | Yes |
SpotExportReportStatus includes: id, descr, format, report, status ('Queued' \| 'Processing' \| 'Processed'), createdtm, completedtm.
getLedgersExport(params)
Retrieve (download) a processed data export as a binary zip archive.
Signature
The export ID returned by
requestLedgersExport().| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/RetrieveExport |
| Auth required | Yes |
Only call this after
getLedgersExportStatus() confirms the export status is "Processed".deleteLedgersExport(params)
Delete or cancel an exported trades/ledgers report.
Signature
The export ID to act on.
Use
cancel for queued/processing exports; use delete for completed exports.| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/RemoveExport |
| Auth required | Yes |
getWebSocketsToken()
Request a WebSocket authentication token. Required for subscribing to private WebSocket channels. The token must be used within 15 minutes of creation.
Signature
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/GetWebSocketsToken |
| Auth required | Yes |
SpotWebSocketsTokenResponse
| Field | Type | Description |
|---|---|---|
token | string | The WebSocket auth token |
expires | number | Token lifetime in seconds (900) |
OAuth Methods
The following OAuth methods allow programmatic management of OAuth2 access tokens and Fast API keys. These are used in OAuth2-based integrations where users authorize access via Kraken’s OAuth flow. Seereference/spot/funding.mdx for full parameter details and usage examples.
getOAuthAccessToken(params)
Retrieve an OAuth2 access token using an authorization code or refresh token flow.
Signature
OAuth2 grant type.
Authorization code. Required when
grant_type is authorization_code.Redirect URI. Required when
grant_type is authorization_code.Refresh token. Required when
grant_type is refresh_token.| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | oauth/token |
| Auth required | Basic auth (base64-encoded client credentials) |
getOAuthUserInfo()
Returns the email address and IBAN of the authenticated user. Requires OAuth2 Bearer token with scope account.info:basic.
Signature
| Property | Value |
|---|---|
| HTTP method | GET |
| Endpoint | oauth/userinfo |
| Auth required | Yes (OAuth2 Bearer) |
createOAuthFastApiKey(params)
Creates a Fast API key with specified permissions and IP allowlist. Requires OAuth2 Bearer token with scope account.fast-api-key:write.
Signature
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | oauth/fast-api-key |
| Auth required | Yes (OAuth2 Bearer) |
listOAuthFastApiKeys()
List all Fast API keys associated with the OAuth client. Requires OAuth2 Bearer token with scope account.fast-api-key:read.
Signature
| Property | Value |
|---|---|
| HTTP method | GET |
| Endpoint | oauth/fast-api-keys |
| Auth required | Yes (OAuth2 Bearer) |
updateOAuthFastApiKey(params)
Updates an existing Fast API key. Requires OAuth2 Bearer token with scope account.fast-api-key:write.
Signature
| Property | Value |
|---|---|
| HTTP method | PUT |
| Endpoint | oauth/fast-api-key |
| Auth required | Yes (OAuth2 Bearer) |
deleteOAuthFastApiKey(params)
Deletes a Fast API key. Requires OAuth2 Bearer token with scope account.fast-api-key:write.
Signature
Name of the key to delete (max 32 characters).
| Property | Value |
|---|---|
| HTTP method | DELETE |
| Endpoint | oauth/fast-api-key |
| Auth required | Yes (OAuth2 Bearer) |