Skip to main content
Registration authorizes a VOOI-managed agent wallet to trade on Hyperliquid on your behalf. Your funds remain in your own Hyperliquid account. The agent is only allowed to submit orders.
This guide assumes that you already have an active VOOI API token. See API Tokens for how to obtain one.

Do you need to register?

Start by checking whether your VOOI account already has Hyperliquid credentials via GET /user-exchange:
The response is an array of { exchange, valid } objects, one per connected exchange.
  • An entry whose exchange is hyperliquid is present (with its valid flag set to true) — your account is already connected. No action needed.
  • No entry whose exchange is hyperliquid is present — check your deposit status on Hyperliquid via GET /user-exchange/{exchange}/register/status:
  • isRegistered: true — your wallet has funds on Hyperliquid and is eligible to register. Follow the steps below, or, if you already created an API wallet on Hyperliquid yourself, paste those credentials via POST /user-exchange/hyperliquid (see Use your own keys).
  • isRegistered: false — your wallet has no deposit on Hyperliquid yet. Deposit first (step 1 below) and the flag will flip once Hyperliquid reflects the balance.
isRegistered reports “is this wallet known to Hyperliquid” — in practice, “has it ever deposited”. It does not mean the wallet has an active VOOI-managed agent. A wallet that deposited directly through the Hyperliquid UI (not through GET /deposit) also flips the flag to true — the check reads Hyperliquid’s own state, not VOOI’s.

Prerequisites

  • An EVM wallet
  • An active VOOI API token
  • USDC deposited to Hyperliquid from your wallet address

1. Deposit USDC to Hyperliquid

Your wallet address must have a balance on Hyperliquid before you can register a VOOI-managed agent wallet. You can deposit through the Hyperliquid UI or use GET /deposit to receive ready-to-sign calldata.

Using the deposit endpoint

The response contains one or more transactions to sign and submit on Arbitrum One. Example:
Sign and submit each transaction in the provided order using an EVM wallet such as MetaMask. If there are multiple transactions (e.g. an approve followed by a transfer), submit them one at a time and wait for each to confirm before sending the next. Hyperliquid’s Arbitrum bridge requires a minimum deposit of 5 USDC. Hyperliquid usually processes deposits within 1 to 3 minutes.

2. Prepare registration

Call POST /user-exchange/{exchange}/register/prepare with your wallet address to generate the registration data. The optional referralCode field binds a referral code to the new account at registration. Omit it and the VOOI code is applied; it cannot be changed afterwards. See Points & rewards. The endpoint creates a new agent wallet for the user and returns the following:
  • a short-lived registrationToken
  • an EIP-712 typed data object to sign
Response shape:
signData has domain, message, primaryType, and types — pass it through to an EIP-712 signer (see step 3). The domain chainId is 42161 (Arbitrum One); the message.nonce is a millisecond timestamp. The registrationToken expires in 10 minutes. If it expires before you complete registration, call this endpoint again to get a new token. Possible errors:

3. Sign the ApproveAgent message

Sign the returned signData object using EIP-712 typed data signing. message.nonce is a uint64. Some EIP-712 libraries require a large-integer type for uint64 fields — the viem snippet below converts numbers to BigInt for that reason. The message.agentName you sign is VOOI_ULTRA — the name shown for the authorized agent in your Hyperliquid account’s API-agents list.
This step returns a signature that will be used in the next request to complete registration.

4. Execute registration

Submit your wallet address, the registrationToken, and the signature (wrapped in a single-element signatures array) to POST /user-exchange/{exchange}/register/execute. VOOI submits the signed ApproveAgent action to Hyperliquid on your behalf — you do not broadcast it yourself. The only on-chain transaction you sign is the USDC deposit in step 1.
Response on success:
Possible errors: Your wallet is now connected to Hyperliquid through VOOI. You can use the VOOI API to place orders, manage positions, and query account data on Hyperliquid.

Next steps

Start trading on Hyperliquid

Place your first order

Connect your wallet to Lighter

Register on Lighter

Register on Extended

Add another venue to your VOOI account

Earn Kinetiq kPoints

Enable kPoints with your connected Hyperliquid wallet