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 usUse Cases
Why integrate with HashKey
Common scenarios for SaaS companies building HashKey integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.