usdt-m-futures
HTX USDT-M Futures trading using the HTX API. Authentication requires API key and secret key for certain endpoints. Supports mainnet.
How do I install this agent skill?
npx skills add https://github.com/htx-exchange/htx-skills-hub --skill usdt-m-futuresIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a comprehensive interface for trading USDT-M Futures on the HTX exchange. It includes clear documentation for numerous API endpoints, authentication procedures, and safety guidelines for handling user credentials. The skill explicitly instructs the agent to mask sensitive keys and require manual confirmation for mainnet transactions. All external communications target official HTX domains, and no malicious patterns or vulnerabilities were identified.
- Socketpass
No alerts
- Snykfail
Risk: HIGH · 2 issues
- Runlayerwarn
2/3 files flagged
- ZeroLeakspass
1 finding · Score: 82/100
What does this agent skill do?
HTX USDT-M Futures Skill
USDT-M Futures trading on HTX using authenticated and public API endpoints. Return the result in JSON format.
Base URLs
- Mainnet: https://api.hbdm.com
- Mainnet (AWS): https://api.hbdm.vn
Quick Reference
Complete API endpoints for HTX USDT-M Futures. All endpoints use base URL https://api.hbdm.com (or https://api.hbdm.vn for AWS).
Reference Data
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
GET /linear-swap-api/v3/swap_unified_account_type | Account type query | None | None | Yes |
POST /linear-swap-api/v3/swap_switch_account_type | Account Type Change | account_type | None | Yes |
GET /linear-swap-api/v1/swap_funding_rate | Query funding rate | contract_code | None | No |
GET /linear-swap-api/v1/swap_batch_funding_rate | Query a Batch of Funding Rate | contract_code | None | No |
GET /linear-swap-api/v1/swap_historical_funding_rate | Query historical funding rate | contract_code | page_index, page_size | No |
GET /linear-swap-api/v1/swap_liquidation_orders | Query Liquidation Orders | contract_code | trade_type, create_date, page_index, page_size | No |
GET /linear-swap-api/v1/swap_settlement_records | Query historical settlement records | contract_code | page_index, page_size | No |
GET /linear-swap-api/v1/swap_elite_account_ratio | Query Top Trader Sentiment Index (Account) | contract_code | period | No |
GET /linear-swap-api/v1/swap_elite_position_ratio | Query Top Trader Sentiment Index (Position) | contract_code | period | No |
GET /linear-swap-api/v1/swap_system_status | Query information on system status (Isolated) | contract_code | None | No |
POST /linear-swap-api/v1/swap_cross_tiered_margin_info | Query information on Tiered Margin (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_tiered_margin_info | Query information on Tiered Margin (Isolated) | contract_code | None | Yes |
GET /linear-swap-api/v1/swap_estimated_settlement_price | Get the estimated settlement price | contract_code | None | No |
POST /linear-swap-api/v1/swap_adjustment_factor | Query Tiered Adjustment Factor (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_adjustment_factor | Query Tiered Adjustment Factor (Cross) | None | None | Yes |
GET /v1/insurance_fund_info | Query risk reserve balance information | contract_code | None | No |
GET /v1/insurance_fund_history | Query historical risk reserves | contract_code | page_index, page_size | No |
GET /linear-swap-api/v1/swap_price_limit | Query Swap Price Limitation | contract_code | None | No |
GET /linear-swap-api/v1/swap_open_interest | Get Swap Open Interest Information | contract_code | None | No |
GET /linear-swap-api/v1/swap_contract_info | Query Contract Info | contract_code | None | No |
GET /linear-swap-api/v1/swap_index | Query Swap Index Price Information | contract_code | None | No |
GET /linear-swap-api/market/swap_contract_constituents | Get index components | index_code | None | No |
GET /linear-swap-api/v1/swap_query_elements | Contract Elements | contract_code | None | No |
GET /linear-swap-api/v1/swap_timestamp | Get current system timestamp | None | None | No |
GET https://api.hbdm.com/heartbeat/ | Query whether the system is available | None | None | No |
Market Data
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
GET /linear-swap-ex/market/depth | Get Market Depth | contract_code | type | No |
GET /linear-swap-ex/market/bbo | Get Market BBO Data | contract_code | None | No |
GET /linear-swap-ex/market/kline | Get KLine Data | contract_code, period | size, from, to | No |
GET /linear-swap-ex/market/mark_price_kline | Get Kline Data of Mark Price | contract_code, period | size, from, to | No |
GET /linear-swap-ex/market/overview | Get Market Data Overview | contract_code | None | No |
GET /linear-swap-ex/market/batch_overview | Get a Batch of Market Data Overview | contract_code | None | No |
GET /linear-swap-ex/market/trade | Query The Last Trade of a Contract | contract_code | None | No |
GET /linear-swap-ex/market/trades | Query a Batch of Trade Records | contract_code | size | No |
GET /linear-swap-ex/market/open_interest | Query information on open interest | contract_code | None | No |
GET /linear-swap-ex/market/premium_index_kline | Query Premium Index Kline Data | contract_code, period | size, from, to | No |
GET /linear-swap-ex/market/estimated_funding_rate_kline | Query Estimated Funding Rate Kline | contract_code, period | size, from, to | No |
Account Interface
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
POST /linear-swap-api/v1/swap_account_info | Query Asset Valuation | None | valuation_asset | Yes |
POST /linear-swap-api/v1/swap_account_info | Query Account Information (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_account_info | Query Account Information (Cross) | None | valuation_asset | Yes |
POST /linear-swap-api/v1/swap_position_info | Query Position Information (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_position_info | Query Position Information (Cross) | None | contract_code | Yes |
POST /linear-swap-api/v1/swap_account_position_info | Query Assets And Positions (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_account_position_info | Query Assets And Positions (Cross) | None | valuation_asset | Yes |
POST /linear-swap-api/v1/swap_sub_account_list | Set Sub-Account Trading Permissions | sub_uid | trades | Yes |
POST /linear-swap-api/v1/swap_account_info_list | Query all sub-accounts (Isolated) | None | None | Yes |
POST /linear-swap-api/v1/swap_cross_account_info_list | Query all sub-accounts (Cross) | None | valuation_asset | Yes |
POST /linear-swap-api/v1/swap_account_info_sub | Query single sub-account (Isolated) | contract_code, sub_uid | None | Yes |
POST /linear-swap-api/v1/swap_cross_account_info_sub | Query sub-account (Cross) | sub_uid | valuation_asset | Yes |
POST /linear-swap-api/v1/swap_position_info_sub | Query sub-account position (Isolated) | contract_code, sub_uid | None | Yes |
POST /linear-swap-api/v1/swap_cross_position_info_sub | Query sub-account position (Cross) | sub_uid | contract_code | Yes |
POST /linear-swap-api/v3/swap_financial_record | Query account financial records | None | contract_code, type, start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v3/swap_financial_record_exact | Query financial records via fields | None | contract_code, type, start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v1/swap_available_level_rate | Query available leverage (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_available_level_rate | Query available leverage (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_order_limit | Query order limit | None | contract_code, order_price_type | Yes |
POST /linear-swap-api/v1/swap_fee | Query swap trading fee | None | contract_code | Yes |
POST /linear-swap-api/v1/swap_transfer_limit | Query transfer limit (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_transfer_limit | Query transfer limit (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_position_limit | Query position limit (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_position_limit | Query position limit (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_lever_position_limit | Query position limit all leverages (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_lever_position_limit | Query position limit all leverages (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_master_sub_transfer | Transfer between master and sub | sub_uid, asset, amount, type | client_order_id | Yes |
POST /linear-swap-api/v1/swap_master_sub_transfer_record | Query transfer records | None | sub_uid, transfer_type, page_index, page_size, direct, sort_by | Yes |
POST /linear-swap-api/v1/swap_transfer_inner | Transfer between margin accounts | asset, amount, from_margin_account, to_margin_account | client_order_id | Yes |
GET /linear-swap-api/v1/swap_api_trading_status | Query API indicator disable info | None | None | Yes |
POST /linear-swap-api/v1/linear-cancel-after | Automatic Order Cancellation | timeout | contract_code | Yes |
Trade Interface
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
POST /linear-swap-api/v1/swap_cross_query_trade_state | Query Trade State (Cross) | None | None | Yes |
POST /linear-swap-api/v1/swap_switch_position_mode | Switch Position Mode (Isolated) | contract_code, mode | None | Yes |
POST /linear-swap-api/v1/swap_cross_switch_position_mode | Switch Position Mode (Cross) | mode | contract_code | Yes |
POST /linear-swap-api/v1/swap_order | Place an Order (Isolated) | contract_code, client_order_id, price, volume, direction, offset, lever_rate, order_price_type | tp_trigger_price, tp_order_price, tp_order_price_type, sl_trigger_price, sl_order_price, sl_order_price_type, reduce_only, hf_order_type | Yes |
POST /linear-swap-api/v1/swap_cross_order | Place An Order (Cross) | contract_code, client_order_id, price, volume, direction, offset, lever_rate, order_price_type | tp_trigger_price, tp_order_price, tp_order_price_type, sl_trigger_price, sl_order_price, sl_order_price_type, reduce_only, hf_order_type | Yes |
POST /linear-swap-api/v1/swap_cross_batch_orders | Place A Batch Of Orders (Cross) | orders_data | None | Yes |
POST /linear-swap-api/v1/swap_cancel | Cancel an Order (Isolated) | contract_code, order_id | client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_cancel | Cancel An Order (Cross) | order_id | contract_code, client_order_id | Yes |
POST /linear-swap-api/v1/swap_cancelall | Cancel All Orders (Isolated) | contract_code | direction, offset | Yes |
POST /linear-swap-api/v1/swap_cross_cancelall | Cancel All Orders (Cross) | None | contract_code, direction, offset | Yes |
POST /linear-swap-api/v1/swap_switch_lever_rate | Switch Leverage (Isolated) | contract_code, lever_rate | None | Yes |
POST /linear-swap-api/v1/swap_cross_switch_lever_rate | Switch Leverage (Cross) | lever_rate | contract_code | Yes |
POST /linear-swap-api/v1/swap_order_info | Get Information of an Order (Isolated) | contract_code, order_id | client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_order_info | Get Information of order (Cross) | order_id | contract_code, client_order_id | Yes |
POST /linear-swap-api/v1/swap_order_detail | Order details acquisition (Isolated) | contract_code, order_id | created_at, page_index, page_size, client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_order_detail | Get Detail Information (Cross) | order_id | contract_code, created_at, page_index, page_size, client_order_id | Yes |
POST /linear-swap-api/v1/swap_openorders | Current unfilled orders (Isolated) | contract_code | page_index, page_size | Yes |
POST /linear-swap-api/v1/swap_cross_openorders | Current unfilled orders (Cross) | None | contract_code, page_index, page_size | Yes |
POST /linear-swap-api/v3/swap_hisorders | Get History Orders (Isolated) | contract_code, trade_type | type, start_time, end_time, direct, page_index, page_size, sort_by | Yes |
POST /linear-swap-api/v3/swap_cross_hisorders | Get History Orders (Cross) | trade_type | contract_code, type, start_time, end_time, direct, page_index, page_size, sort_by | Yes |
POST /linear-swap-api/v3/swap_hisorders_exact | History Orders via Fields (Isolated) | contract_code, trade_type | type, start_time, end_time, direct, page_index, page_size, sort_by | Yes |
POST /linear-swap-api/v3/swap_cross_hisorders_exact | History Orders via Fields (Cross) | trade_type | contract_code, type, start_time, end_time, direct, page_index, page_size, sort_by | Yes |
POST /linear-swap-api/v3/swap_matchresults | History Match Results (Isolated) | contract_code, trade_type | start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v3/swap_cross_matchresults | History Match Results (Cross) | trade_type | contract_code, start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v3/swap_matchresults_exact | Match Results via Fields (Isolated) | contract_code, trade_type | start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v3/swap_cross_matchresults_exact | Match Results via Fields (Cross) | trade_type | contract_code, start_time, end_time, page_index, page_size, direct | Yes |
POST /linear-swap-api/v1/swap_lightning_close_position | Lightning Close Order (Isolated) | contract_code, volume, direction | client_order_id, order_price_type | Yes |
POST /linear-swap-api/v1/swap_cross_lightning_close_position | Lightning Close Position (Cross) | contract_code, volume, direction | client_order_id, order_price_type | Yes |
GET /linear-swap-api/v1/swap_position_side | Query position mode (Isolated) | contract_code | None | Yes |
GET /linear-swap-api/v1/swap_cross_position_side | Query position mode (Cross) | None | contract_code | Yes |
Strategy Order Interface
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
POST /linear-swap-api/v1/swap_trigger_order | Place Trigger Order (Isolated) | contract_code, trigger_type, trigger_price, order_price, volume, direction, offset, lever_rate, order_price_type | client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_trigger_order | Place Trigger Order (Cross) | contract_code, trigger_type, trigger_price, order_price, volume, direction, offset, lever_rate, order_price_type | client_order_id | Yes |
POST /linear-swap-api/v1/swap_trigger_cancel | Cancel Trigger Order (Isolated) | contract_code, order_id | client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_trigger_cancel | Cancel Trigger Order (Cross) | order_id | contract_code, client_order_id | Yes |
POST /linear-swap-api/v1/swap_trigger_cancelall | Cancel All Trigger Orders (Isolated) | contract_code | direction, offset | Yes |
POST /linear-swap-api/v1/swap_cross_trigger_cancelall | Cancel All Trigger Orders (Cross) | None | contract_code, direction, offset | Yes |
POST /linear-swap-api/v1/swap_trigger_openorders | Query Trigger Order Open Orders (Isolated) | contract_code | page_index, page_size | Yes |
POST /linear-swap-api/v1/swap_cross_trigger_openorders | Query Trigger Order Open Orders (Cross) | None | contract_code, page_index, page_size | Yes |
POST /linear-swap-api/v1/swap_trigger_hisorders | Query Trigger Order History (Isolated) | contract_code | trigger_type, status, page_index, page_size, sort_by, direct | Yes |
POST /linear-swap-api/v1/swap_cross_trigger_hisorders | Query Trigger Order History (Cross) | None | contract_code, trigger_type, status, page_index, page_size, sort_by, direct | Yes |
POST /linear-swap-api/v1/swap_tpsl_order | Set TP/SL Order (Isolated) | contract_code, volume, tp_trigger_price, tp_order_price, sl_trigger_price, sl_order_price, direction | tp_order_price_type, sl_order_price_type, client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_tpsl_order | Set TP/SL Order (Cross) | contract_code, volume, tp_trigger_price, tp_order_price, sl_trigger_price, sl_order_price, direction | tp_order_price_type, sl_order_price_type, client_order_id | Yes |
POST /linear-swap-api/v1/swap_tpsl_cancel | Cancel TP/SL Order (Isolated) | contract_code, order_id | client_order_id | Yes |
POST /linear-swap-api/v1/swap_cross_tpsl_cancel | Cancel TP/SL Order (Cross) | order_id | contract_code, client_order_id | Yes |
POST /linear-swap-api/v1/swap_tpsl_cancelall | Cancel all TP/SL Orders (Isolated) | contract_code | None | Yes |
POST /linear-swap-api/v1/swap_cross_tpsl_cancelall | Cancel all TP/SL Orders (Cross) | None | contract_code | Yes |
POST /linear-swap-api/v1/swap_tpsl_openorders | Query Open TP/SL Orders (Isolated) | contract_code | page_index, page_size | Yes |
POST /linear-swap-api/v1/swap_cross_tpsl_openorders | Query Open TP/SL Orders (Cross) | None | contract_code, page_index, page_size | Yes |
POST /linear-swap-api/v1/swap_tpsl_hisorders | Query TP/SL History Orders (Isolated) | contract_code | status, page_index, page_size, sort_by, direct | Yes |
POST /linear-swap-api/v1/swap_cross_tpsl_hisorders | Query TP/SL History Orders (Cross) | None | contract_code, status, page_index, page_size, sort_by, direct | Yes |
Transferring Interface
| Endpoint | Description | Required | Optional | Authentication |
|---|---|---|---|---|
POST /linear-swap-api/v1/swap_cross_transfer_state | Query Transfer State (Cross) | None | None | Yes |
Parameters
Common Parameters
Contract & Symbol
- contract_code: Contract code (e.g., BTC-USDT, ETH-USDT)
- symbol: Symbol name
- pair: Trading pair (e.g., BTC-USDT)
- contract_type: Contract type (swap, this_week, next_week, quarter, next_quarter)
- business_type: Business type (futures, swap, all)
Account & Margin
- margin_account: Margin account identifier
- margin_mode: Margin mode (cross, isolated)
- margin_asset: Margin asset (e.g., USDT)
- account_type: Account type
Order Parameters
- order_id: Order ID (can be comma-separated for multiple orders)
- client_order_id: Client-defined order ID
- order_source: Order source
- order_type: Order type
- order_price_type: Order price type (limit, optimal_5, optimal_10, optimal_20, post_only, fok, ioc, etc.)
- direction: Transaction direction (buy, sell)
- offset: Offset direction (open, close, both)
- volume: Order volume (quantity in contracts)
- price: Order price
- lever_rate: Leverage rate
- reduce_only: Reduce only flag (0: no, 1: yes)
Trigger Order Parameters
- trigger_type: Trigger type (ge: greater than or equal, le: less than or equal)
- trigger_price: Trigger price
- triggered_price: The price when trigger order was executed
Take-Profit & Stop-Loss Parameters
- tp_trigger_price: Trigger price of take-profit order
- tp_order_price: Order price of take-profit order
- tp_order_price_type: Order type of take-profit order
- sl_trigger_price: Trigger price of stop-loss order
- sl_order_price: Order price of stop-loss order
- sl_order_price_type: Order type of stop-loss order
- price_protect: Price protection (boolean)
Trailing Order Parameters
- callback_rate: Callback rate for trailing orders
- active_price: Active price for trailing orders
- is_active: Whether the active price is activated
Query Parameters
- page_index: Page number (default: 1)
- page_size: Page size (default: 20, max: 50)
- start_time: Start time (Unix timestamp in milliseconds)
- end_time: End time (Unix timestamp in milliseconds)
- create_date: Number of days
- direct: Search direction (NEXT: ascending, PREV: descending)
- from_id: Starting ID for pagination
- sort_by: Sort field (descending order)
Sub-account Parameters
- sub_uid: Sub-account UID
- sub_auth: Sub-account authorization (0: disable, 1: enable)
Transfer Parameters
- from: Source account (e.g., spot, linear-swap)
- to: Destination account (e.g., spot, linear-swap)
- currency: Currency to transfer
- amount: Transfer amount
- from_margin_account: Source margin account
- to_margin_account: Destination margin account
Market Data Parameters
- period: K-line period (1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year)
- type: Depth type (step0-step19)
- size: Number of records to return
Other Parameters
- trade_type: Trade type (0: all, 1: open long, 2: open short, 3: close short, 4: close long)
- status: Order status (multiple statuses can be comma-separated)
- self_match_prevent: Self-match prevention flag
- self_match_prevent_new: Prevent self-trading
Enums
Order Types
- order_price_type: limit, optimal_5, optimal_10, optimal_20, post_only, fok, ioc, opponent, lightning, optimal_5_fok, optimal_5_ioc, optimal_10_fok, optimal_10_ioc, optimal_20_fok, optimal_20_ioc, opponent_ioc, opponent_fok
Order States
- status: submitted (3), partial-filled (4), partial-canceled (5), filled (6), canceled (7), ready to submit (1), accepted (2)
Direction & Offset
- direction: buy, sell
- offset: open, close, both
Margin Mode
- margin_mode: isolated, cross
Contract Type
- contract_type: swap (perpetual), this_week, next_week, quarter (current quarter), next_quarter
Position Mode
- position_mode: dual_side (hedge mode), single_side (one-way mode)
Authentication
For endpoints that require authentication, you will need to provide HTX API credentials.
Required credentials:
- apiKey: Your HTX API key
- secretKey: Your HTX API secret (for signing)
All authenticated endpoints require HMAC SHA256 signature:
-
Create the pre-sign string in the following order:
- HTTP method (GET/POST) + "\n"
- API host (e.g., api.hbdm.com) + "\n"
- API path (e.g., /linear-swap-api/v1/swap_order) + "\n"
- Sorted query string parameters
-
Append required parameters to all authenticated requests:
- AccessKeyId: Your API key
- SignatureMethod: HmacSHA256
- SignatureVersion: 2
- Timestamp: UTC timestamp in format yyyy-MM-ddTHH:mm:ss
-
Sign the pre-sign string with secretKey using HMAC SHA256
-
Append signature to query string as Signature parameter
-
For POST requests, also include signature in the URL query string
Example pre-sign string:
POST\\n
api.hbdm.com\\n
/linear-swap-api/v1/swap_order\\n
AccessKeyId=xxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15:19:30
Security
Share Credentials
Users can provide HTX API credentials by sending a file where the content is in the following format:
fe45419a...xyz
secretabc...key
Never Display Full Secrets
When showing credentials to users:
- API Key: Show first 5 + last 4 characters:
fe45419a...xyz - Secret Key: Always mask, show only last 5:
***...key1
Example response when asked for credentials:
Account: main
API Key: fe45419a...xyz
Secret: ***...key1
Environment: Mainnet
Listing Accounts
When listing accounts, show names and environment only — never keys:
HTX Accounts:
* main (Mainnet)
* trading (Mainnet - AWS)
Transactions in Mainnet
When performing transactions in mainnet, always confirm with the user before proceeding by asking them to write "CONFIRM" to proceed.
HTX Accounts
main
- API Key: your_mainnet_api_key
- Secret: your_mainnet_secret
- Environment: https://api.hbdm.com
- Description: Primary USDT-M Futures trading account
trading
- API Key: your_aws_api_key
- Secret: your_aws_secret
- Environment: https://api.hbdm.vn
- Description: AWS optimized USDT-M Futures trading
TOOLS.md Structure
## HTX Accounts
### main
- API Key: fe45419a...xyz
- Secret: secretabc...key
- Environment: https://api.hbdm.com
- Description: Primary USDT-M Futures trading account
### trading
- API Key: test456...abc
- Secret: testsecret...xyz
- Environment: https://api.hbdm.vn
- Description: AWS optimized USDT-M Futures trading
Agent Behavior
- Credentials requested: Mask secrets (show last 5 chars only)
- Listing accounts: Show names and environment, never keys
- Account selection: Ask if ambiguous, default to main
- When doing a transaction in mainnet, confirm with user before by asking to write "CONFIRM" to proceed
- New credentials: Prompt for name, environment
Adding New Accounts
When user provides new credentials:
- Ask for account name
- Ask: Which environment (Mainnet or Mainnet-AWS)
- Store in
TOOLS.mdwith masked display confirmation
User Agent Header
Include User-Agent header with the following string: htx-usdt-m-futures/1.0.0 (Skill)
Important Notes
- All timestamps are in Unix milliseconds unless specified otherwise
- Contract codes should use uppercase (e.g., BTC-USDT, not btc-usdt)
- For market buy orders, the
volumeparameter represents the number of contracts - Account ID must be obtained from appropriate endpoints before trading
- Rate limits apply - see HTX API documentation for details
- Signature must be calculated for every authenticated request
- Timestamp in signature must be within 1 minute of server time
- Both isolated margin and cross margin modes are supported
- Position modes: single_side (one-way) and dual_side (hedge)
- Always use the correct margin mode and margin account for operations
- For cross margin operations, use endpoints with "cross" in their path
- For isolated margin operations, use endpoints without "cross" in their path
- All request endpoints must match the endpoints specified in the documentation.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/htx-exchange/htx-skills-hub/usdt-m-futures">View usdt-m-futures on skillZs</a>