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 provides comprehensive funding methods covering the full lifecycle of moving assets in and out of Kraken, along with the complete Kraken Earn API for allocating funds to yield strategies. All methods in this section are private endpoints requiring a valid API key and secret. OAuth-based Fast API key management is also documented here.
API key permissions: Funding methods require the Funds permission group — enable Query, Deposit, and/or Withdraw as appropriate for your use case. Grant only the minimum permissions required.
Deposits
getDepositMethods(params)
Retrieve methods available for depositing a particular asset.
Signature
Asset to get deposit methods for (e.g.
"XBT", "ETH").Asset class filter.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/DepositMethods |
| Auth required | Yes |
SpotDepositMethod[]
| Field | Type | Description |
|---|---|---|
method | string | Name of deposit method (e.g. "Bitcoin") |
limit | string | boolean | Maximum deposit amount, or false if no limit |
fee | string | Deposit fee |
address-setup-fee | string | Whether there is an address setup fee |
gen-address | boolean | Whether new addresses can be generated |
minimum | string | Minimum deposit amount |
getDepositAddresses(params)
Retrieve existing deposit addresses or generate a new one for a particular asset and method.
Signature
Asset to get deposit addresses for (e.g.
"XBT").Deposit method name (from
getDepositMethods()). E.g. "Bitcoin".If
true, generates a new deposit address. Defaults to false.Amount you want to deposit (for methods that require pre-registration).
Asset class filter.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/DepositAddresses |
| Auth required | Yes |
SpotDepositAddress[]
| Field | Type | Description |
|---|---|---|
address | string | Deposit address |
expiretm | string | Expiration time ("0" if non-expiring) |
new | boolean | true if the address has never been used |
tag | string? | Memo/tag for XRP, XLM, EOS, STX |
getDepositsStatus(params?)
Retrieve information about recent deposits. Results are sorted by recency.
Signature
Filter by asset (e.g.
"XBT").Filter by deposit method.
Asset class filter.
Unix timestamp to begin results from.
Unix timestamp to end results at.
Set to
true to enable cursor-based pagination. Pass the cursor string from a previous response to get the next page.Number of results per page when using cursor pagination.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/DepositStatus |
| Auth required | Yes |
Withdrawals
getWithdrawalMethods(params?)
Retrieve the list of withdrawal methods available to the user.
Signature
Filter by asset (e.g.
"XBT").Filter by blockchain/network name.
Asset class filter.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WithdrawMethods |
| Auth required | Yes |
SpotWithdrawalMethod[]
| Field | Type | Description |
|---|---|---|
asset | string | Asset name |
method | string | Withdrawal method name |
network | string | Blockchain/network name |
minimum | string | Minimum withdrawal amount |
getWithdrawalAddresses(params?)
Retrieve the list of withdrawal addresses saved in your account.
Signature
Filter by asset.
Filter by withdrawal method.
Filter by withdrawal key name (the label you assigned to the address in your Kraken account).
Filter by address verification status.
Asset class filter.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WithdrawAddresses |
| Auth required | Yes |
SpotWithdrawalAddress[]
| Field | Type | Description |
|---|---|---|
address | string | Withdrawal address |
asset | string | Asset name |
method | string | Withdrawal method |
key | string | Address label/key name |
tag | string? | Memo/tag for XRP, XLM, EOS, STX |
verified | boolean | Whether the address is verified |
getWithdrawalInfo(params)
Retrieve fee and limit information about a potential withdrawal before submitting it.
Signature
Asset to withdraw (e.g.
"XBT").Withdrawal key name (label of the saved address).
Amount to withdraw.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WithdrawInfo |
| Auth required | Yes |
SpotWithdrawalInfo
| Field | Type | Description |
|---|---|---|
method | string | Withdrawal method that will be used |
limit | string | Maximum amount that can be withdrawn |
amount | string | Net amount to be received after fees |
fee | string | Withdrawal fee |
submitWithdrawal(params)
Submit a withdrawal request.
Signature
Asset to withdraw (e.g.
"XBT").Withdrawal key name (label of the saved destination address).
Amount to withdraw (gross amount including fees).
Optional confirmation of the destination address (must match the address saved under
key).If the withdrawal fee exceeds this value, the withdrawal will fail. Useful for capping costs.
Asset class filter.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Withdraw |
| Auth required | Yes |
{ refid: string } — the withdrawal reference ID used to track or cancel the withdrawal.
getWithdrawalsStatus(params?)
Retrieve information about recent withdrawals. Results are sorted by recency.
Signature
Filter by asset.
Filter by withdrawal method.
Asset class filter.
Unix timestamp to begin results from.
Unix timestamp to end results at.
Enable cursor-based pagination or pass a cursor string for the next page.
Number of results per page when using cursor pagination.
Controls how multi-collateral values are reported.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WithdrawStatus |
| Auth required | Yes |
SpotWithdrawalStatus[]
| Field | Type | Description |
|---|---|---|
refid | string | Withdrawal reference ID |
txid | string | On-chain transaction ID |
asset | string | Asset name |
amount | string | Amount withdrawn |
fee | string | Fee paid |
status | 'Initial' | 'Pending' | 'Settled' | 'Success' | 'Failure' | Withdrawal status |
status-prop | string? | cancel-pending, canceled, cancel-denied, return, onhold |
key | string | Withdrawal key name |
cancelWithdrawal(params)
Cancel a recently requested withdrawal, if it has not already been successfully processed.
Signature
Asset of the withdrawal to cancel.
Reference ID of the withdrawal (returned by
submitWithdrawal()).| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WithdrawCancel |
| Auth required | Yes |
true if the cancellation was successful.
Withdrawal cancellation is only possible while the withdrawal is in
Initial or Pending status. Cancellations of already-settled or broadcast transactions will fail.submitTransferToFutures(params)
Transfer funds from a Kraken Spot wallet to a Kraken Futures wallet. Transfers in the opposite direction must be initiated via the Kraken Futures API.
Signature
Asset to transfer (e.g.
"EUR", "XBT").Must be
"Spot Wallet".Must be
"Futures Wallet".Amount to transfer.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/WalletTransfer |
| Auth required | Yes |
Kraken Earn
getEarnStrategies(params?)
List available Earn strategies along with their parameters. Only strategies available to the user based on geographic region are returned.
Signature
Filter strategies by asset.
Filter by lock type(s).
Sort order —
true for ascending, false for descending (default).Pagination cursor from a previous response’s
next_cursor.Number of results per page.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/Strategies |
| Auth required | Yes |
SpotEarnStrategy
| Field | Type | Description |
|---|---|---|
id | string | Strategy ID (used for allocate/deallocate) |
asset | string | Asset this strategy operates on |
lock_type | SpotEarnLockType | Lock parameters (type, bonding period, etc.) |
apr_estimate | SpotEarnAPREstimate? | APR estimate range { low, high } |
allocation_fee | string | number | Fee for allocating |
deallocation_fee | string | number | Fee for deallocating |
can_allocate | boolean | Whether you can currently allocate |
can_deallocate | boolean | Whether you can currently deallocate |
getEarnAllocations(params?)
List all Earn allocations for the user. By default, all allocations are returned including those with zero balance from previously used strategies.
Signature
Asset to convert total values into for reporting (e.g.
"USD").If
true, hides strategies with zero current balance.Sort order.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/Allocations |
| Auth required | Yes |
SpotListEarnAllocationsResponse
| Field | Type | Description |
|---|---|---|
converted_asset | string | Currency used for conversion |
total_allocated | string | Total amount allocated across all strategies |
total_rewarded | string | Total rewards earned |
items | SpotEarnAllocation[] | Per-strategy allocation details |
allocateEarnFunds(params)
Allocate funds to an Earn strategy. This method is asynchronous — use getEarnAllocationStatus() to poll for completion.
Signature
Strategy ID to allocate to (from
getEarnStrategies()).Amount to allocate (in the strategy’s native asset).
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/Allocate |
| Auth required | Yes |
true if the allocation request was successfully submitted.
deallocateEarnFunds(params)
Deallocate funds from an Earn strategy. This method is asynchronous — use getEarnDeallocationStatus() to poll for completion.
Signature
Strategy ID to deallocate from.
Amount to deallocate.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/Deallocate |
| Auth required | Yes |
getEarnAllocationStatus(params)
Get the status of the last allocateEarnFunds() request for a specific strategy.
Signature
Strategy ID to check allocation status for.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/AllocateStatus |
| Auth required | Yes |
{ pending: boolean } — true if the allocation is still processing.
getEarnDeallocationStatus(params)
Get the status of the last deallocateEarnFunds() request for a specific strategy.
Signature
Strategy ID to check deallocation status for.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | 0/private/Earn/DeallocateStatus |
| Auth required | Yes |
OAuth / Fast API Keys
These methods enable programmatic management of OAuth-based authentication and Fast API keys. Fast API keys can be scoped with fine-grained permissions and IP allowlists.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 used in the authorization request. 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) |
OauthGetAccessTokenResponse
| Field | Type | Description |
|---|---|---|
access_token | string | OAuth2 Bearer token |
token_type | 'bearer' | Token type |
expires_in | number | Token lifetime in seconds |
refresh_token | string | Token for obtaining new access tokens |
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
Name for the new key (max 32 characters).
Array of IP addresses or CIDR ranges allowed to use this key.
Object of boolean permission flags:
export_data, funds_add, funds_earn, funds_query, funds_withdraw, ledger_query, trades_close, trades_modify, trades_query_closed, trades_query_open.Nonce tolerance window in milliseconds.
Unix timestamp — key can only query data from this time.
Unix timestamp — key can only query data up to this time.
Unix timestamp after which the key expires.
| Property | Value |
|---|---|
| HTTP method | POST |
| Endpoint | oauth/fast-api-key |
| Auth required | Yes (OAuth2 Bearer) |
The
api_key and secret fields are only returned on creation. Store them securely — they cannot be retrieved again.updateOAuthFastApiKey(params)
Updates an existing Fast API key. Requires OAuth2 Bearer token with scope account.fast-api-key:write.
Signature
Current name of the key to update (max 32 characters).
New name for the key (max 32 characters).
Updated IP allowlist.
Updated permission flags (same shape as
createOAuthFastApiKey).Updated nonce window.
Updated query start timestamp.
Updated query end timestamp.
Updated expiry timestamp.
| 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) |
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) |
OauthFastApiKey[]
| Field | Type | Description |
|---|---|---|
api_key_name | string | Key name |
id | string | Unique key identifier |
created_time | string | Creation timestamp |
modified_time | string | Last modification timestamp |
ip_allowlist | string[] | Allowed IP addresses |
permissions | object | Permission flags |
valid_until | number | Expiry Unix timestamp |
last_used | number | Last usage Unix timestamp |