UNPKG

@nktkas/hyperliquid

Version:

Unofficial Hyperliquid API SDK for all major JS runtimes, written in TypeScript and provided with tests

554 lines 18.3 kB
import type { Hex } from "../../base.js"; /** * Request mid coin prices. * @returns {AllMids} Mid coin prices. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-mids-for-all-coins */ export interface AllMidsRequest { /** Type of request. */ type: "allMids"; /** Name of perp dex. */ dex?: string; } /** * Request candlestick snapshots. * @returns {Candle[]} Array of candlestick data points. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#candle-snapshot */ export interface CandleSnapshotRequest { /** Type of request. */ type: "candleSnapshot"; /** Request parameters. */ req: { /** Asset symbol. */ coin: string; /** Time interval. */ interval: "1m" | "3m" | "5m" | "15m" | "30m" | "1h" | "2h" | "4h" | "8h" | "12h" | "1d" | "3d" | "1w" | "1M"; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; }; } /** * Request clearinghouse state. * @returns {PerpsClearinghouseState} Account summary for perpetual trading. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-perpetuals-account-summary */ export interface ClearinghouseStateRequest { /** Type of request. */ type: "clearinghouseState"; /** User's address. */ user: Hex; } /** * Request user staking delegations. * @returns {Delegation[]} Array of user's delegations to validators. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-delegations */ export interface DelegationsRequest { /** Type of request. */ type: "delegations"; /** User's address. */ user: Hex; } /** * Request user staking history. * @returns {DelegatorUpdate[]} Array of user's staking updates. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-history */ export interface DelegatorHistoryRequest { /** Type of request. */ type: "delegatorHistory"; /** User's address. */ user: Hex; } /** * Request user staking rewards. * @returns {DelegatorReward[]} Array of user's staking rewards. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-rewards */ export interface DelegatorRewardsRequest { /** Type of request. */ type: "delegatorRewards"; /** User's address. */ user: Hex; } /** * Request user staking summary. * @returns {DelegatorSummary} Summary of a user's staking delegations. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-summary */ export interface DelegatorSummaryRequest { /** Type of request. */ type: "delegatorSummary"; /** User's address. */ user: Hex; } /** * Request user's extra agents. * @returns {ExtraAgent[]} User's extra agents. * @see null - no documentation */ export interface ExtraAgentsRequest { /** Type of request. */ type: "extraAgents"; /** User's address. */ user: Hex; } /** * Request frontend open orders. * @returns {FrontendOrder[]} Array of open orders with additional frontend information. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders-with-additional-frontend-info */ export interface FrontendOpenOrdersRequest { /** Type of request. */ type: "frontendOpenOrders"; /** User's address. */ user: Hex; /** Name of perp dex. */ dex?: string; } /** * Request funding history. * @returns {FundingHistory[]} Array of historical funding rate data for an asset. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-historical-funding-rates */ export interface FundingHistoryRequest { /** Type of request. */ type: "fundingHistory"; /** Asset symbol. */ coin: string; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; } /** * Request user historical orders. * @returns {OrderStatus<FrontendOrder>[]} Array of user's historical orders. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-historical-orders */ export interface HistoricalOrdersRequest { /** Type of request. */ type: "historicalOrders"; /** User's address. */ user: Hex; } /** * Request to check if a user is a VIP. * @returns {boolean} Boolean indicating user's VIP status. * @see null - no documentation */ export interface IsVipRequest { /** Type of request. */ type: "isVip"; /** User's address. */ user: Hex; } /** * Request L2 order book. * @returns {Book} L2 order book snapshot. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot */ export interface L2BookRequest { /** Type of request. */ type: "l2Book"; /** Asset symbol. */ coin: string; /** Number of significant figures. */ nSigFigs?: 2 | 3 | 4 | 5 | null; /** Mantissa for aggregation (if {@link nSigFigs} is 5). */ mantissa?: 2 | 5 | null; } /** * Request legal verification status of a user. * @returns {LegalCheck} Legal verification status for a user. * @see null - no documentation */ export interface LegalCheckRequest { /** Type of request. */ type: "legalCheck"; /** User's address. */ user: Hex; } /** * Request builder fee approval. * @returns {number} Maximum builder fee approval. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#check-builder-fee-approval */ export interface MaxBuilderFeeRequest { /** Type of request. */ type: "maxBuilderFee"; /** User's address. */ user: Hex; /** Builder address. */ builder: Hex; } /** * Request metadata and asset contexts. * @returns {PerpsMetaAndAssetCtxs} Metadata and context information for each perpetual asset. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc */ export interface MetaAndAssetCtxsRequest { /** Type of request. */ type: "metaAndAssetCtxs"; } /** * Request trading metadata. * @returns {PerpsMeta} Metadata for perpetual assets. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-metadata */ export interface MetaRequest { /** Type of request. */ type: "meta"; /** Name of perp dex. */ dex?: string; } /** * Request open orders. * @returns {Order[]} Array of open order. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders */ export interface OpenOrdersRequest { /** Type of request. */ type: "openOrders"; /** User's address. */ user: Hex; /** Name of perp dex. */ dex?: string; } /** * Request order status. * @returns {OrderLookup} Result of an order status lookup. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-order-status-by-oid-or-cloid */ export interface OrderStatusRequest { /** Type of request. */ type: "orderStatus"; /** User's address. */ user: Hex; /** Order ID or client order ID. */ oid: number | Hex; } /** * Request for the status of the perpetual deploy auction. * @returns {DeployAuctionStatus} Status of the perpetual deploy auction. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-information-about-the-perp-deploy-auction */ export interface PerpDeployAuctionStatusRequest { /** Type of request. */ type: "perpDeployAuctionStatus"; } /** * Request all perpetual dexs. * @returns {PerpDexs} Perp dexes. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs */ export interface PerpDexsRequest { /** Type of request. */ type: "perpDexs"; } /** * Request perpetuals at open interest cap. * @returns {string[]} Array of perpetuals at open interest caps. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps */ export interface PerpsAtOpenInterestCapRequest { /** Type of request. */ type: "perpsAtOpenInterestCap"; } /** * Request user portfolio. * @returns {PortfolioPeriods} User's portfolio. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-portfolio */ export interface PortfolioRequest { /** Type of request. */ type: "portfolio"; /** User's address. */ user: Hex; } /** * Request predicted funding rates. * @returns {PredictedFunding[]} Array of predicted funding rates. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-predicted-funding-rates-for-different-venues */ export interface PredictedFundingsRequest { /** Type of request. */ type: "predictedFundings"; } /** * Request user's existence check before transfer. * @returns {PreTransferCheck} Pre-transfer user existence check result. * @see null - no documentation */ export interface PreTransferCheckRequest { /** Type of request. */ type: "preTransferCheck"; /** Destination address. */ user: Hex; /** Source address. */ source: Hex; } /** * Request user referral. * @returns {Referral} Referral information for a user. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-referral-information */ export interface ReferralRequest { /** Type of request. */ type: "referral"; /** User's address. */ user: Hex; } /** * Request spot clearinghouse state. * @returns {SpotClearinghouseState} Balances for spot tokens. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-a-users-token-balances */ export interface SpotClearinghouseStateRequest { /** Type of request. */ type: "spotClearinghouseState"; /** User's address. */ user: Hex; /** Name of perp dex. */ dex?: string; } /** * Request spot deploy state. * @returns {SpotDeployState} The deploy state of a user. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-the-spot-deploy-auction */ export interface SpotDeployStateRequest { /** Type of request. */ type: "spotDeployState"; /** User's address. */ user: Hex; } /** * Request spot metadata and asset contexts. * @returns {SpotMetaAndAssetCtxs} Metadata and context information for each spot asset. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-asset-contexts */ export interface SpotMetaAndAssetCtxsRequest { /** Type of request. */ type: "spotMetaAndAssetCtxs"; } /** * Request spot trading metadata. * @returns {SpotMeta} Metadata for spot assets. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-metadata */ export interface SpotMetaRequest { /** Type of request. */ type: "spotMeta"; } /** * Request user sub-accounts. * @returns {SubAccount[] | null} Array of user sub-account or null if the user does not have any sub-accounts. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-subaccounts */ export interface SubAccountsRequest { /** Type of request. */ type: "subAccounts"; /** User's address. */ user: Hex; } /** * Request token details. * @returns {TokenDetails} The details of a token. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-a-token */ export interface TokenDetailsRequest { /** Type of request. */ type: "tokenDetails"; /** Token ID. */ tokenId: Hex; } /** * Request TWAP history. * @returns {TwapHistory[]} The TWAP history of a user. * @see null - no documentation */ export interface TwapHistoryRequest { /** Type of request. */ type: "twapHistory"; /** User's address. */ user: Hex; } /** * Request user fees. * @returns {UserFees} User fees. * @see null - no documentation */ export interface UserFeesRequest { /** Type of request. */ type: "userFees"; /** User's address. */ user: Hex; } /** * Request user fills by time. * @returns {Fill[]} Array of user's trade fill. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills-by-time */ export interface UserFillsByTimeRequest { /** Type of request. */ type: "userFillsByTime"; /** User's address. */ user: Hex; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; /** If true, partial fills are aggregated when a crossing order fills multiple resting orders. */ aggregateByTime?: boolean; } /** * Request user fills. * @returns {Fill[]} Array of user's trade fill. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills */ export interface UserFillsRequest { /** Type of request. */ type: "userFills"; /** User's address. */ user: Hex; /** If true, partial fills are aggregated when a crossing order fills multiple resting orders. */ aggregateByTime?: boolean; } /** * Request user funding. * @returns {UserFundingUpdate[]} Array of user's funding ledger update. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates */ export interface UserFundingRequest { /** Type of request. */ type: "userFunding"; /** User's address. */ user: Hex; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; } /** * Request user non-funding ledger updates. * @returns {UserNonFundingLedgerUpdate[]} Array of user's non-funding ledger update. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates */ export interface UserNonFundingLedgerUpdatesRequest { /** Type of request. */ type: "userNonFundingLedgerUpdates"; /** User's address. */ user: Hex; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; } /** * Request user rate limits. * @returns {UserRateLimit} User's rate limits. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-user-rate-limits */ export interface UserRateLimitRequest { /** Type of request. */ type: "userRateLimit"; /** User's address. */ user: Hex; } /** * Request user role. * @returns {UserRole} User's role. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-role */ export interface UserRoleRequest { /** Type of request. */ type: "userRole"; /** User's address. */ user: Hex; } /** * Request user to multi-sig signers. * @returns {MultiSigSigners | null} Multi-sig signers for a user or null if the user does not have any multi-sig signers. * @see null - no documentation */ export interface UserToMultiSigSignersRequest { /** Type of request. */ type: "userToMultiSigSigners"; /** User's address. */ user: Hex; } /** * Request user TWAP slice fills by time. * @returns {TwapSliceFill[]} Array of user's twap slice fill. * @see null - no documentation */ export interface UserTwapSliceFillsByTimeRequest { /** Type of request. */ type: "userTwapSliceFillsByTime"; /** User's address. */ user: Hex; /** Start time (in ms since epoch). */ startTime: number; /** End time (in ms since epoch). */ endTime?: number | null; /** If true, partial fills are aggregated when a crossing order fills multiple resting orders. */ aggregateByTime?: boolean; } /** * Request user TWAP slice fills. * @returns {TwapSliceFill[]} Array of user's twap slice fill. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills */ export interface UserTwapSliceFillsRequest { /** Type of request. */ type: "userTwapSliceFills"; /** User's address. */ user: Hex; } /** * Request user vault deposits. * @returns {VaultEquity[]} Array of user's vault deposits. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-vault-deposits */ export interface UserVaultEquitiesRequest { /** Type of request. */ type: "userVaultEquities"; /** User's address. */ user: Hex; } /** * Request validator summaries. * @returns {ValidatorSummary[]} Array of validator summaries. * @see null - no documentation */ export interface ValidatorSummariesRequest { /** Type of request. */ type: "validatorSummaries"; } /** * Request details of a vault. * @returns {VaultDetails | null} Details of a vault or null if the vault does not exist. * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-details-for-a-vault */ export interface VaultDetailsRequest { /** Type of request. */ type: "vaultDetails"; /** Vault address. */ vaultAddress: Hex; /** User's address. */ user?: Hex | null; } /** * Request a list of vaults less than 2 hours old. * @returns {VaultSummary[]} Array of vault summaries. * @see null - no documentation */ export interface VaultSummariesRequest { /** Type of request. */ type: "vaultSummaries"; } //# sourceMappingURL=requests.d.ts.map