@nktkas/hyperliquid
Version:
Unofficial Hyperliquid API SDK for all major JS runtimes, written in TypeScript and provided with tests
554 lines • 18.3 kB
TypeScript
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