Connect to Hyperliquid via Vezgo API

Accounts

Positions

Transactions

Support for Accounts, Positions and Transactions enabled.

  • Spot token balances on HyperCore, valued in USD from Hyperliquid's spot mid prices.
  • Staked HYPE support enabled: delegated, undelegated and pending-withdrawal HYPE is reported as a separate staked position.
  • Connect the main wallet address (0x…) shown under your account in the Hyperliquid app.

Full List of Integrations

Data mapping

A field-level guide to the Vezgo API data for Hyperliquid — what each attribute means and where to read it — so you can map it into your own system.

DataWhere to read itSource on Hyperliquid
Account & walletaccount.wallets[].addressThe connected Hyperliquid wallet address (0x…, lowercased). One address is one account; wallet.address is the stable identity reused across syncs and reconnects. Connect the main wallet address shown under your account in the Hyperliquid app — API (agent) wallets hold no balances.
Balances / positionsaccount.balances[]Spot token balances on HyperCore plus staked HYPE, from the live snapshot. Each balance has ticker, amount and fiat_value (USD), and carries ticker_address — the token's HyperEVM contract when it has one, otherwise its HyperCore token id. Staked HYPE uses asset_type "staked".
TransactionsGET /accounts/:id/transactionsSpot trades (both legs), transfers, staking moves, genesis distributions, lending and rewards — one Vezgo transaction per value movement. See "How to read a transaction" below.
Assets / securitiesbalance.ticker · balance.ticker_addressTokens are reported by their HyperCore ticker (HYPE, USDC, PURR, UBTC…). Because those tickers are short and collide with unrelated coins elsewhere, the identity to match on is ticker_address: the HyperEVM ERC-20 contract for tokens deployed there, and the HyperCore token id (a 128-bit hex id) for tokens that have no EVM deployment.

How to read a transaction

Each value movement touching the connected account's spot balance maps to a single Vezgo transaction with one part. Read the movement from parts[0] and any fee from fees[]:

  • Spot trades — a fill produces two Vezgo transactions, one per leg: the token bought (parts[0].direction "received") and the token paid with ("sent"). Both share the on-chain hash, with a -1 / -2 suffix in misc.origin_id distinguishing the legs; misc.origin_type is the fill direction (Buy, Sell, Spot Dust Conversion). They are not merged into a single trade transaction, so transaction_type is "other" — pair them on the hash prefix and read the direction from the part.
  • Trading fee — fees[] on the first leg only, in the token Hyperliquid actually charged (USDC on most pairs, but the base token on others, e.g. a PURR or USOL fee).
  • Transfers — user-to-user spot transfers, transfers between the spot and perps balances, and cross-dex sends. transaction_type is deposit or withdrawal and misc.origin_type names the ledger event (spotTransfer, accountClassTransfer, send).
  • Staking — moving HYPE into the staking balance appears as a withdrawal from spot (misc.origin_type "cStakingTransfer", description "Stake HYPE"), and a completed unstake as a deposit back into spot ("Unstake HYPE"). Delegating between validators moves nothing in spot and is not reported.
  • Other spot credits — genesis token distributions (misc.origin_type "spotGenesis"), HyperCore lending supply/withdraw ("borrowLend") and rewards claims ("rewardsClaim").
// One Vezgo transaction = one spot movement
const id   = tx.misc.origin_id;        // on-chain hash (fills add a -1 / -2 leg suffix)
const kind = tx.misc.origin_type;      // "Buy" | "Sell" | "spotTransfer" | "cStakingTransfer" | ...

const move = tx.parts?.[0];            // the movement: direction, ticker, amount
const fee  = tx.fees?.[0];             // trading fee, in the token it was charged in

// A spot trade is two transactions sharing the hash prefix — join them to rebuild the trade:
const [hash, leg] = String(id).split(/-(?=[12]$)/);

// Hyperliquid has no tokenTransfers / nftTransfers / internalTransfers arrays.
Where to read itAttributesWhat it is
tx.parts[0]direction, ticker, amount, fiat_value, from_address, to_addressThe value movement. from_address and to_address are set on transfers between wallets; trade legs have neither. direction is "received" for a bought token or an inbound transfer, "sent" otherwise.
tx.fees[0]ticker, amount, fiat_valueTrading fee, charged in USDC on most pairs but in the base token on others. Present on the first leg of a fill only, and on the sender's side of a transfer that charged one.

misc.origin_type is the Hyperliquid event that produced the movement. Treat the set as open-ended — Hyperliquid adds ledger types without notice. Values in use:

  • Buy
  • Sell
  • Spot Dust Conversion
  • spotTransfer
  • accountClassTransfer
  • send
  • cStakingTransfer
  • spotGenesis
  • borrowLend
  • rewardsClaim

Supported

  • Spot token balances on HyperCore
  • Staked HYPE, reported as a separate staked position
  • Spot trades, both legs, including dust conversions
  • Transfers: wallet-to-wallet, spot ↔ perps, and cross-dex sends
  • Staking and unstaking movements
  • Genesis distributions, lending movements and rewards claims
  • Full transaction history — no retention cap on the underlying feeds
  • USD fiat valuation for balances and transactions
  • Balance reconciliation (replaying transactions reproduces the spot balances)

Notes & limitations

  • Spot trades are reported as two separate transactions (transaction_type "other"), not one trade transaction with two parts. Pair them on the misc.origin_id hash prefix.
  • The staked HYPE balance covers delegated, undelegated and pending-withdrawal HYPE together, and grows with accrued staking rewards.
  • decimals is populated only for tickers in Vezgo's known-decimals table (e.g. USDC); HyperCore-native tokens are null — read amount directly.
  • fiat_value can be null for HyperCore-native tokens with no price source; the token's amount is still exact.
See the full Vezgo object reference

Try to connect to Hyperliquid in our Demo Sandbox

Open Demo

Let's get you started

To get your API Keys, sign up on the portal or reach out to the team at sales@vezgo.com

You have questions? Contact us