curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "perpAnnotation",
"coin": "xyz:GOLD"
}
'{
"category": "<string>",
"description": "<string>"
}curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "perpAnnotation",
"coin": "xyz:GOLD"
}
'{
"category": "<string>",
"description": "<string>"
}info endpoint with type: "perpAnnotation" retrieves the annotation metadata for a specific HIP-3 deployed perpetual asset. Returns the deployer-set category and description for the given coin, or null if no annotation has been set.
Annotations are set by HIP-3 deployers using the setPerpAnnotation deployer action. Native Hyperliquid perps (BTC, ETH, etc.) are not HIP-3 deployed and will always return null.
type (string, required) — The request type. Must be "perpAnnotation".coin (string, required) — HIP-3 asset symbol in deployer:TICKER format (e.g., "xyz:GOLD", "birb:PENGU"). Native perps like "BTC" always return null.null if no annotation exists:
category (string) — Category label, at most 15 characters. The official Hyperliquid UI only displays categories from a predefined set (e.g., "indices", "commodities", "ai", "meme", "defi").description (string) — Description text, at most 400 characters. Deployers can use this as an onchain spec or link to external documentation.curl -X POST \
-H "Content-Type: application/json" \
-d '{"type": "perpAnnotation", "coin": "xyz:GOLD"}' \
https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/info
{
"category": "commodities",
"description": "Gold spot price tracking contract"
}
null
info endpoint with type: "perpAnnotation" is useful for:
Was this page helpful?