Skip to content

Default

HashKey
API integration

Ship Default features without building the integration. Full HashKey API access via Proxy and 100+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
HashKey

Use Cases

Why integrate with HashKey

Common scenarios for SaaS companies building HashKey integrations for their customers.

01

Offer regulated crypto trading to your users

Give your users access to HashKey's SFC-licensed liquidity for spot, futures, and OTC/RFQ execution directly inside your product. Ideal for brokerage platforms and trading terminals that need a compliant venue for institutional clients.

02

Automate treasury and yield management

Let corporate treasurers and Web3 foundations deploy idle capital into HashKey Earn, monitor balances, and route fiat off-ramps without leaving your dashboard. Truto handles the auth and API quirks so you can focus on the treasury workflow.

03

Power crypto accounting and tax reconciliation

Sync EOD balances, fund statements, trade history, and fiat movements from your users' HashKey accounts to generate audit-ready ledgers and tax reports. A drop-in data source for accounting and portfolio tools.

04

Build compliance-aware payout workflows

Automate HashKey's wallet whitelisting requirements (signature-based and micro-deposit verification) so your operations users can approve and execute withdrawals to pre-vetted addresses at scale.

05

Run algorithmic execution and smart order routing

Send batch spot and futures orders, adjust leverage and margin, and stream real-time updates via listen keys — all through a single normalized connection. For execution SaaS and quant tooling targeting institutional desks.

What You Can Build

Ship these features with Truto + HashKey

Concrete product features your team can ship faster by leveraging Truto’s HashKey integration instead of building from scratch.

01

End-of-day balance reconciliation

Pull daily balance snapshots via the EOD balance endpoint to auto-generate reconciliation reports and PnL statements for each user.

02

One-click Earn deployment

Surface available HashKey Earn offers in your UI and let users purchase, redeem, or cancel positions and view Earn balances without touching HashKey directly.

03

OTC block trade desk

Let users request quotes, view active quotes, accept fills, and review RFQ history to execute large trades with zero slippage against HashKey's market place.

04

Automated withdrawal whitelisting

Trigger wallet signing or micro-deposit verification flows, list pending whitelist verifies, and execute crypto or fiat withdrawals once addresses are approved.

05

Futures position and risk console

Display open positions, funding rates, leverage, and risk limits, and let users set leverage, change margin type, modify position margin, and configure trading stops.

06

Real-time deposit and withdrawal alerts

Subscribe to HashKey webhooks to notify ops teams the moment assets move in or out, and chain those events into downstream trading or accounting workflows.

SuperAI

HashKey AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_hash_key_whitelist_verifies

Get a micro-payment depositing address for whitelist verification in HashKey. Returns: site, topic, params, data. Required: coin, chainType, quantity. For the same coin, chainType, and walletId, specifying the same quantity always produces the same deposit random amount (micropayment). The signAddress parameter is only needed for signature verification, not for micropayment verification.

create_a_hash_key_account_withdraw

Submit a digital asset withdrawal request on Hashkey. Returns: success, id, orderId, site, topic, params, data. Required: coin, quantity, address, chainType, clientOrderId. The withdrawal address must be whitelisted in advance via the Hashkey website or app.

create_a_hash_key_fiat_withdraw

Create a fiat withdrawal in HashKey. Returns the withdrawal order including orderId, asset, grossAmount, netAmount, fee, status, channel, and clientOrderId. A 2FA token is required when two-factor authentication is enabled for the account; each token is valid for 30 seconds and single-use.

create_a_hash_key_whitelist_wallet_signing

Verify a wallet address for whitelisting in HashKey via signature challenge. Returns: site, topic, params, data. Required: coin, chainType, fromAddress, signPhrase, signResult, walletId, timestamp.

hash_key_market_data_get_exchange_info

Get current exchange trading rules and symbol information from HashKey. Returns: data, topic. Each item in data includes symbol, productType, buyMakerFeeCurrency, buyTakerFeeCurrency, sellMakerFeeCurrency, sellTakerFeeCurrency, actualMakerRate, and actualTakerRate.

hash_key_market_data_get_depth

Get the current order book depth for a trading pair on HashKey. Returns: topic, data. Required: symbol. Supports up to 200 depth levels.

hash_key_market_data_get_trades

Get the recent trade list for a currency pair in HashKey. Returns an array of trade objects with t (traded timestamp), p (traded price), q (volume), and ibm (buyer's maker order flag). Required: symbol.

hash_key_market_data_get_klines

Get Kline (candlestick) data for a trading pair on HashKey. Returns an array of kline entries with kline_open_time, open_price, high_price, low_price, close_price, volume, kline_close_time, quote_asset_volume, number_of_trades, taker_buy_base_asset_volume, and taker_buy_quote_asset_volume. Required: symbol, interval. Max 1000 bars per request.

hash_key_market_data_get_ticker_24_hr

Get 24-hour rolling price change statistics for all HashKey trading symbols. Returns an array of ticker records with s (symbol), c (latest price), h (high), l (low), o (open), b (bid), a (ask), v (base volume), qv (quote volume), t (timestamp), and it (instrument type).

hash_key_market_data_get_ticker_price

Retrieve the latest price ticker for a trading symbol in HashKey. Returns: symbol, price.

hash_key_market_data_get_book_ticker

Get the current top-of-book ticker for a trading symbol on HashKey. Returns the best bid and ask price and quantity levels from the order book for the requested symbol.

hash_key_market_data_get_merged_depth

Get aggregated (merged) order book depth for a trading pair in HashKey. Returns the depth with symbol (s), bids (b), asks (a), timestamp (t), and version (v). Required: symbol.

hash_key_market_data_get_mark_price

Get the current mark price for trading symbols on Hashkey. Returns: price, topic, data.

hash_key_market_data_get_index_price

Get index prices from HashKey. Returns: index (object mapping each symbol to its current index price) and edp (object mapping each symbol to its 10-minute average index price). Returns results for all symbols if the optional symbol parameter is omitted.

hash_key_market_data_get_coin_info

Get the supported list of coin information from HashKey, including withdrawal fees, min/max deposit and withdrawal quantities, precision, and per-chain deposit/withdrawal rules. Returns: status, topic, data.

hash_key_futures_get_funding_rate

Get the current funding rate for HashKey futures contracts. Returns: symbol, rate, nextSettleTime, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Results for all symbols are returned when the symbol parameter is omitted.

hash_key_futures_get_history_funding_rate

Get the history of futures funding rates in HashKey. Returns an array of funding rate records, each with id, symbol, settleTime, and settleRate. The symbol parameter is optional; omitting it returns results for all symbols.

hash_key_futures_get_leverage

Query the current futures leverage setting for a contract in HashKey. Returns: code, symbolId, leverage, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Optional: symbol (e.g. BTCUSDT-PERPETUAL) to target a specific contract.

hash_key_futures_get_positions

List futures positions in HashKey, optionally filtered by contract symbol and position side. Returns: symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Results for all symbols and both sides are returned when no filters are supplied.

hash_key_futures_get_balance

Query the HashKey futures account balance. Returns: balances, userId, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp.

hash_key_futures_get_liquidation_assign_status

Get the liquidation assign status for futures in HashKey. Returns: status, minAccountBalance, maintAccountBalance, liqOrderLimitRatio, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp.

hash_key_futures_get_risk_limit

Query futures risk limit levels in HashKey. Returns a list of risk limit tiers with riskLimitAmount, maintainMargin, initialMargin, and side for each tier.

hash_key_futures_get_commission_rate

Query futures commission rates in HashKey. Returns: symbol, openMakerFee, openTakerFee, closeMakerFee, closeTakerFee, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp.

hash_key_futures_get_best_order

Get the best (top-of-book) buy and sell orders for a futures contract in HashKey. Returns: bid, ask, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. The symbol parameter is optional; results for all symbols are returned when omitted.

hash_key_futures_set_leverage

Set the leverage for a HashKey futures contract. Returns: code, symbolId, leverage, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: symbol, leverage.

hash_key_futures_change_margin_type

Change the margin mode (cross or isolated) for a HashKey futures contract symbol. Returns: code, symbol, marginType, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: symbol, marginType.

hash_key_futures_modify_position_margin

Modify the isolated position margin for a HashKey futures contract position, increasing or decreasing the margin amount. Returns: code, symbol, margin, timestamp, side, quantity, price, priceType, timeInForce, clientOrderId. Required: symbol, side, amount. Use a positive amount to increase margin and a negative amount to decrease it.

hash_key_futures_set_trading_stop

Set the take-profit and stop-loss trading stop for a HashKey futures position. Returns: symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: symbol, side, and at least one of stopProfit or stopLoss.

hash_key_misc_test_connectivity

Test connectivity to the HashKey API to verify the connection is valid. Returns an empty 200 response on success.

hash_key_misc_get_server_time

Get the current HashKey server time as a UNIX timestamp in milliseconds. Returns: serverTime. Useful for testing connectivity and synchronizing timestamps for signed requests.

hash_key_misc_create_listen_key

Create a listen key in HashKey to start a user data stream for websocket subscriptions. Returns: listenKey, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. The key is valid for 60 minutes; send a reset request before expiry to keep the stream alive.

hash_key_misc_reset_listen_key

Reset the validity period of a HashKey listen key to 60 minutes. Returns: listenKey. Required: listenKey.

hash_key_misc_delete_listen_key

Delete a HashKey listen key. Returns an empty 204 response on success. Required: listenKey.

list_all_hash_key_spot_orders

Query a single Hashkey spot order by origClientOrderId. Returns the full order record including orderId, symbol, price, executedQty, status, side, type, feeCoin, feeAmount, and sumFeeAmount. Required: origClientOrderId.

hash_key_spot_orders_get_open_orders

Get all currently active (open) spot orders in Hashkey. Optionally filter by symbol, side, or start from a specific order ID. Returns: accountId, exchangeId, symbol, symbolName, clientOrderId, orderId, price, origQty, executedQty, cummulativeQuoteQty, cumulativeQuoteQty, avgPrice, status, timeInForce, type, side, stopPrice, icebergQty, time, updateTime, isWorking, reqAmount.

hash_key_spot_orders_get_all_traded_orders

Retrieve all historically traded spot orders from Hashkey. Optionally filter by symbol, side, or a time range using startTime and endTime. Returns: accountId, exchangeId, symbol, symbolName, clientOrderId, orderId, price, origQty, executedQty, cummulativeQuoteQty, cumulativeQuoteQty, avgPrice, status, timeInForce, type, side, stopPrice, icebergQty, time, updateTime, isWorking, reqAmount.

hash_key_spot_orders_test_order

Validate a new spot order request against the Hashkey test endpoint without sending it to the matching engine. Returns an empty 200 response if the parameters are valid. Required: symbol, side, type, quantity, price.

create_a_hash_key_spot_order

Create a single spot order for Spot Trading on Hashkey Exchange. Required funds are ringfenced for the duration of the order. Returns the new order including orderId, clientOrderId, symbol, status, side, type, price, origQty, executedQty, transactTime, timeInForce, reqAmount, and concentration. Required: symbol, side, type, quantity.

hash_key_spot_orders_create_v_1_1

Create a new spot order in Hashkey (v1.1). Returns code, result (array of per-order entries each containing the created order object with orderId, symbol, status, price, side, and type), and concentration. Required: symbol, side, type, quantity.

hash_key_spot_orders_create_batch

Create multiple spot orders in a single batch request in Hashkey. Supports up to 20 orders at a time; currently only orders for the same symbol are supported. Returns code, result (per-order entries each containing the created order object with orderId, symbol, status, price, side, and type), and concentration. Each order in the batch requires symbol, side, type, and quantity.

hash_key_spot_orders_cancel

Cancel an existing spot order in Hashkey. Returns an empty 204 response on success. Either orderId or clientOrderId must be sent.

hash_key_spot_orders_cancel_all_open_by_symbol

Cancel all open spot orders for a given symbol in Hashkey (max 200 orders per request). Returns: code, message, timestamp, lastOrderId. Required: symbol.

hash_key_spot_orders_cancel_multiple_by_ids

Cancel multiple open spot orders by order IDs in Hashkey (maximum 100 orders per batch). Returns: code, result. Required: ids.

hash_key_spot_orders_cancel_all_open

Cancel all open spot orders in Hashkey (up to 200 orders per request). Returns: code, message, timestamp, lastOrderId. Optionally filter by symbol, side, or fromOrderId. Orders from the main trading account only are cancelled when using a main account API key.

list_all_hash_key_futures_orders

List futures orders in HashKey. Returns each order with accountId, symbol, symbolName, orderId, clientOrderId, price, origQty, executedQty, status, side, type, timeInForce, transactTime, and reqAmount.

hash_key_futures_orders_get_open_orders

List all open futures orders in HashKey. Returns each order's orderId, symbol, side, status, type, price, origQty, executedQty, timeInForce, clientOrderId, transactTime, and accountId.

hash_key_futures_orders_get_history_orders

List futures historical orders in HashKey. Returns: code, result, concentration, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. History limited to the last 180 days.

create_a_hash_key_futures_order

Create a new futures order in HashKey. Supports LIMIT and STOP order types with configurable price types and time-in-force settings. Returns: code, result, concentration, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: symbol, side, type, quantity, timestamp. Price is required for LIMIT orders with INPUT price type; stopPrice is required for STOP orders.

hash_key_futures_orders_create_batch

Create up to 20 HashKey futures orders in a single batch request for the same symbol. Returns: code, result (array of per-order results each with code and an order object including orderId, clientOrderId, symbol, status, price, origQty, executedQty), and concentration. Required: a JSON array of order objects each with symbol, side, type, and quantity.

hash_key_futures_orders_cancel

Cancel an existing HashKey futures order by orderId or clientOrderId. Returns the cancelled order object including accountId, symbol, orderId, clientOrderId, status, price, origQty, executedQty, and side. Required: symbol and either orderId or clientOrderId.

hash_key_futures_orders_cancel_by_ids

Batch cancel HashKey Global futures orders by order IDs (maximum 100 per batch). Returns: code, result, concentration, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: orderIds.

hash_key_futures_orders_cancel_all_open

Cancel all open futures orders in HashKey (max 200 orders per request). If using a main trading account API key, only orders from the main account are cancelled — sub-account orders are not affected. Returns: code, result, concentration, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp.

hash_key_account_get_vip_info

Get VIP information in HashKey, including VIP level and per-symbol trading fee rates. Returns: code, msg, vipLevel, tradeVol30Day, totalAssetBal, data, updateTimestamp, accountId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert.

hash_key_account_get_account_info

Get account information in HashKey, including balances for all assets. Returns: balances, userId, accountId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert.

hash_key_account_get_trades

Get the account trade list in HashKey, querying account history and transaction records. Returns: id, clientOrderId, ticketId, symbol, symbolName, orderId, matchOrderId, price, qty, commission, commissionAsset, time, isBuyer, isMaker, fee, feeCoinId, feeAmount, feeSupplementaryAmount, makerRebate, accountId, hskDeduct, hskDeductPrice, transactTime, origQty, executedQty, status, timeInForce, side,…

hash_key_account_get_account_type

Query the account type in HashKey. Returns: accountType, accountId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert.

hash_key_account_get_api_key_type

Get the API key type in HashKey, indicating whether the current API key has read-only or read-write permissions. Returns: type, accountId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert.

hash_key_account_get_fund_statement

Get fund statement (balance flow) records for a HashKey account. Returns: id, accountId, coin, coinId, coinName, flowTypeValue, flowType, flowName, change, total, created, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert. Required: startTime, endTime. Trade history supports 7 days per request; other…

hash_key_account_internal_transfer

Transfer assets internally between HashKey accounts. Returns: success, timestamp, clientOrderId, orderId, accountId, symbol, symbolName, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert. Required: fromAccountId, toAccountId, coin, quantity. Should be called no more than once per second.

hash_key_account_get_fiat_history

List fiat deposit and withdrawal history in HashKey. Returns: id, accountId, type, netFiatAmount, fiatCcy, fiatBalance, fee, feeCcy, orderId, remark, transactTime, symbol, symbolName, clientOrderId, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert. Supported for the past 30 days.

hash_key_account_get_eod_balance

Get the end-of-day balance for a HashKey account on a specified reporting date. Returns: balances, userId, accountId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, status, timeInForce, side, reqAmount, concentration, alert. Required: reportDate. The reportDate must be in yyyy-mm-dd format and can only query up to 7 days in the past.

hash_key_account_get_trades_by_client_order_id

Get a HashKey account trade list by clientOrderId. Returns: accountId, exchangeId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, cummulativeQuoteQty, cumulativeQuoteQty, avgPrice, status, timeInForce, type, side, stopPrice, icebergQty, time, updateTime, isWorking, reqAmount, concentration, alert, feeCoin, feeAmount, feeSupplementaryAmount, sumFeeAmount,…

hash_key_account_get_opt_order_history

Get HashKey options (OPT) order history for the account. Returns: accountId, exchangeId, symbol, symbolName, clientOrderId, orderId, transactTime, price, origQty, executedQty, cummulativeQuoteQty, cumulativeQuoteQty, avgPrice, status, timeInForce, type, side, reqAmount, concentration, alert, stopPrice, icebergQty, time, updateTime, isWorking, feeCoin, feeAmount, feeSupplementaryAmount,…

hash_key_wallet_get_chain_type

Get the supported list of chain types for a specific coin in Hashkey (e.g. ETH, Optimism, Arbitrum for ETH). Returns a list of per-coin objects including coinId, coinName, and chainTypeList — useful for determining valid chain types when constructing deposit or withdrawal requests.

hash_key_wallet_get_deposit_address

Retrieve the system-generated deposit address for a specific asset and chain in Hashkey. Returns: event, topic, data, id, timestamp. Required: coin, chainType.

hash_key_wallet_get_deposit_history

Retrieve on-chain deposit order history for the Hashkey account. Returns per-deposit records including time, coin, coinName, address, quantity, status, statusCode, and txId. Optionally filter by coin, startTime, or endTime.

hash_key_wallet_get_withdraw_history

Retrieve withdrawal order history for the Hashkey account. Returns per-withdrawal records including id, time, coin, address, quantity, arriveQuantity, status, txId, fee, feeCoinId, and failedReason. Optionally filter by coin, startTime, endTime, memo, or remark.

hash_key_wallet_authenticate_deposit_address

Authenticate a deposit address in Hashkey to verify the sender's identity and address ownership. Returns: event, topic, data, id, timestamp.

hash_key_wallet_withdraw

Submit a digital asset withdrawal request in Hashkey. Returns the outcome of the request including success, id, and orderId. Required: coin, quantity, address, chainType, clientOrderId. The withdrawal address must be whitelisted in advance via the Hashkey website or app.

hash_key_wallet_get_verify_whitelist_address

Get the micro-payment depositing address for whitelist verification in Hashkey. Returns the deposit details including coin, depositAddress, depositAmount, addressExt, and chainType. For the same coin, chainType, and walletId, providing the same quantity value will always return the same micropayment deposit amount.

hash_key_wallet_wallet_signing_verification

Submit a wallet signing verification request in HashKey. Returns the on-chain verification result including txId, walletId, refundOrderId, and chainType.

hash_key_wallet_get_whitelisted_address

Get the whitelisted wallet address registered on a Hashkey account, confirming whether an address has been approved for withdrawals. Returns: whitelistedAddress, sigVerification, code, msg, event, topic, data, id, timestamp.

hash_key_wallet_withdraw_fiat

Submit a fiat currency withdrawal request in HashKey Exchange. Returns: success, id, orderId, site, topic, params, data.

hash_key_wallet_deposit_refund

Initiate a deposit refund request in Hashkey for a specified deposit order, submitting optional third-party proof documents as multipart form data. Returns: quantity, site, topic, params, data. Required: depositOrderId, walletId.

hash_key_wallet_post_deposit_refund

Submit a deposit refund request for PD Omnibus clients in Hashkey. Used when a deposit passes HashKey's KYT checks but is subsequently rejected by the Omnibus provider's KYT process, requiring funds already credited to the user's account to be refunded. Returns: txId, walletId, refundOrderId, chainType, event, topic, data, id, timestamp. Required: depositOrderId, refundCode, timestamp.

hash_key_wallet_get_refund_orders

List deposit refund orders in Hashkey for the authenticated account. Returns a list of refund order records associated with prior deposit refund requests; the upstream source does not enumerate specific response fields for this endpoint.

hash_key_sub_account_get_spot_open_orders

Get currently active spot orders for a Hashkey sub-account. Returns: symbol, type, site, topic, params, data. Required: subAccountId.

hash_key_sub_account_get_spot_trade_orders

Get all traded (historical) spot orders for a Hashkey sub-account. Returns: symbol, type, site, topic, params, data. Required: subAccountId.

hash_key_sub_account_get_trades

Get executed spot trades for a Hashkey sub-account. Returns: id, symbol, site, topic, params, data. Required: subAccountId.

hash_key_sub_account_get_futures_open_orders

Get currently active futures open orders for a Hashkey sub-account, filtered by contract symbol and order type. Returns: symbol, type, site, topic, params, data. Required: subAccountId, symbol, type.

hash_key_sub_account_get_futures_history_orders

Get historical futures orders for a Hashkey sub-account filtered by contract symbol, order type, and optional time range. Returns: symbol, type, site, topic, params, data. Required: subAccountId, symbol, type.

hash_key_sub_account_get_futures_trades

Get futures trade history for a specific Hashkey sub-account. Returns a list of trade records including tradeId, orderId, symbol, price, quantity, commissionAsset, commission, makerRebate, type, side, realizedPnl, and isMarker. Required: symbol, subAccountId.

hash_key_hsk_get_deduction_switch

Get the HSK fee deduction switch status for the master user in HashKey. The switch always applies to the master user regardless of whether the API key is bound to a master or sub account. Returns: deductionSwitch, updateTime.

hash_key_hsk_update_deduction_switch

Update the HSK fee deduction switch for the master user in HashKey. Returns: deductionSwitch, updateTime. Required: deductionSwitch. The switch always applies to the master user regardless of whether the API Key is bound to a master or sub account.

hash_key_market_place_get_quote_pairs

List tradable quote pairs available in the HashKey market place. Returns: productId, productName, productDesc, minApy, maxApy, currency, minAmount, maxAmount, latestUnitValue, purchasePrecision, redeemPrecision, status, productType.

hash_key_market_place_create_rfq

Create a Request for Quote (RFQ) in HashKey's market place, specifying the currency pair, sell amount, and RFQ mode. Returns: rfqCreateTime, rfqId, quoteId, rfqClOrderId, rfqMode, quoteMode, buyCcy, sellCcy, buyAmount, sellAmount, price, status. Required: buyCcy, sellCcy, sellAmount, rfqMode, timestamp. The rfqMode accepts real-time or delayed; expireSec controls the RFQ validity period (10–60…

hash_key_market_place_cancel_rfq

Cancel an active RFQ (Request for Quote) in HashKey. Returns: rfqId, status. Required: rfqId.

hash_key_market_place_accept_quote

Accept or decline a Market Place quote in HashKey. Returns: expiryTime, quoteId, rfqId, status, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: quoteId, rfqId, action, timestamp. The decline action only works for manual orders; after decline the RFQ becomes failed.

hash_key_market_place_get_rfq_history

List HashKey market-place RFQ (Request for Quote) history records. Returns: productId, productName, productDesc, minApy, maxApy, currency, minAmount, maxAmount, latestUnitValue, purchasePrecision, redeemPrecision, status, productType.

hash_key_market_place_get_active_quotes

List all active market place product quotes in HashKey. Returns: productId, productName, productDesc, minApy, maxApy, currency, minAmount, maxAmount, latestUnitValue, purchasePrecision, redeemPrecision, status, productType.

hash_key_convert_get_quote_pairs

Get the supported currency quote pairs for FX conversion in HashKey. Returns: quotePair.

hash_key_convert_get_quote

Get an FX quote for currency conversion in HashKey. A quote must be obtained before placing a currency conversion order. Returns: quoteId, buyCurrency, sellCurrency, rate, quoteCreatedTime, quoteExpiryTime, sellAmount, channel. Required: buyCurrency, sellCurrency, sellAmount.

hash_key_convert_transact

Place an FX currency conversion order in HashKey. A quote must be obtained first via the getQuote endpoint before requesting a conversion. Returns: clientOrderId, symbol, side, quantity, price, priceType, timeInForce, timestamp. Required: quoteId, buyCurrency, sellCurrency, sellAmount.

hash_key_convert_get_transaction_history

List HashKey FX (currency conversion) transaction history. Returns: orderId, accountId, status, buyCurrency, sellCurrency, buyAmount, sellAmount, rate, transactTime, quoteId. Required: startTime, endTime.

hash_key_earn_get_offers

List available earn product offers in HashKey, covering both standard (sto) and staking products. Returns: site, topic, params, data. Optionally filter by productType.

hash_key_earn_purchase

Subscribe to an earn product in HashKey by specifying the product, currency, and amount. Returns: site, topic, params, data. Required: productId, currency, amount, clOrderId.

hash_key_earn_cancel_purchase

Cancel a pending earn product purchase order in HashKey before it is filled. Supply either orderId (system-generated) or clOrderId (client-defined); at least one is required. Returns an empty 204 response on success.

hash_key_earn_redeem

Redeem an earn product in Hashkey via a form-encoded POST request. The upstream documentation does not enumerate specific request or response fields for this endpoint; consult the Hashkey Earn API docs directly for the full field list.

hash_key_earn_cancel_redeem

Cancel a pending earn product redemption in Hashkey. Returns an empty 204 response on success.

hash_key_earn_get_orders

List earn orders for the authenticated account in Hashkey's Earn Channel, covering purchase and redemption activity. Returns a list of earn order records from the /api/v1/earn/orders endpoint.

hash_key_earn_get_balance

Get the current position overview of the user's earn channel holdings in HashKey. Returns: timestamp, balanceData, site, topic, params, data. Supports optional filtering by productId and productType (sto or staking).

hash_key_webhook_subscribe

Subscribe to HashKey deposit and withdrawal webhook notifications. Returns: msg, code, subscriptionSuccess, subscriptionId, createdTime, symbol, side, quantity, price, priceType, timeInForce, clientOrderId, timestamp. Required: webhookBaseUrl, eventType, timestamp.

hash_key_webhook_unsubscribe

Unsubscribe from HashKey deposit and withdrawal webhook notifications. Returns: msg, code, success. Required: subscriptionId, timestamp.

Why Truto

Why use Truto’s MCP server for HashKey

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with HashKey in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s HashKey account

Use Truto’s frontend SDK to connect your customer’s HashKey account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call HashKey

Truto’s Proxy API is a 1-to-1 mapping of the HashKey API. You call us, we call HashKey, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate HashKey’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about HashKey on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for HashKey through Truto?

Your end users connect their HashKey account by providing API credentials (API key/secret) issued from their HashKey account. Truto stores and rotates these credentials securely, so you never touch raw keys or sign requests yourself.

Which HashKey products are covered by the available tools?

The integration covers Spot orders, Futures orders and positions, Market Data, Wallet (deposits/withdrawals, whitelisting, fiat), Account and Sub-Account data, Convert, Market Place (RFQ/OTC), Earn, HSK deduction settings, and Webhook subscriptions.

Can I stream real-time updates instead of polling?

Yes. You can create, reset, and delete listen keys for HashKey's websocket streams, and subscribe to webhook events for asset movements. For everything else, Truto's tools can be polled on your preferred cadence.

Does the integration support sub-accounts?

Yes. Dedicated tools expose sub-account spot open orders, spot trade orders, trades, futures open orders, futures history orders, and futures trades. Internal transfers between accounts are supported via the account internal transfer tool.

How are withdrawals and whitelisting handled?

HashKey requires addresses to be whitelisted before withdrawal. Truto exposes the full flow: list pending whitelist verifies, initiate wallet signing verification, authenticate deposit addresses, fetch whitelisted addresses, and then execute crypto or fiat withdrawals.

What about rate limits and pagination?

HashKey enforces its own per-endpoint rate limits and cursor/time-based pagination on history endpoints. Truto handles pagination normalization and surfaces rate-limit errors with retry-friendly semantics so you don't have to build that logic per endpoint.

HashKey

Get HashKey integrated into your app

Our team understands what it takes to make a HashKey integration successful. A short, crisp 30 minute call with folks who understand the problem.