Skip to Content
Symmio Frontier — the SDK surface for builders on HyperEVM
ReactPrice Service hooks

Price Service hooks

Price-service hooks wrap the @symmio/trading-core Enigma price-service reads with React Query and SDK provider state. They read the active chain from SymmioProvider unless you pass chainId.

Read-only page. REST hooks return UseQueryResult; the live-price WebSocket hook is a subscription (still a “read” — no on-chain state mutated).

useEnigmaPriceServicePrices

Fetch mark prices by token addresses.

import { useEnigmaPriceServicePrices } from "@symmio/trading-react"; function Prices({ tokenAddress }: { tokenAddress: string }) { const query = useEnigmaPriceServicePrices({ addresses: [tokenAddress], query: { staleTime: 10_000 }, }); if (query.error) return <p>{query.error.message}</p>; return <pre>{JSON.stringify(query.data, null, 2)}</pre>; }

addresses accepts either readonly string[] or a comma-separated string.

useEnigmaPriceServiceMetadata

Fetch metadata by token-address array.

import { useEnigmaPriceServiceMetadata } from "@symmio/trading-react"; const query = useEnigmaPriceServiceMetadata({ addresses: ["0xTokenA", "0xTokenB"], });

addresses is required and must be an array.

useEnigmaPriceServiceSymbolsInfo

Fetch symbol names, statuses, and addresses.

import { useEnigmaPriceServiceSymbolsInfo } from "@symmio/trading-react"; const query = useEnigmaPriceServiceSymbolsInfo();

useEnigmaPriceServiceHealth

Read the service health endpoint.

import { useEnigmaPriceServiceHealth } from "@symmio/trading-react"; const query = useEnigmaPriceServiceHealth();

Recipes

  • Lowcap Chart — render a price chart for a lowcap market. DexScreener iframe or own OHLC feed (Moralis / GeckoTerminal) with TradingView Lightweight Charts.

Manual Read Buttons

For forms, keep incomplete values outside the request and disable the query until the user clicks:

const addresses = parsedAddresses; const query = useEnigmaPriceServiceMetadata({ addresses, query: { enabled: false }, }); <button disabled={addresses.length === 0 || query.isFetching} onClick={() => void query.refetch()}> Read metadata </button>;
Last updated on