Skip to main content
Registration provisions a VOOI-managed key on your Extended account so the API can place orders and request Extended withdrawals on your behalf. Your funds remain in your own Extended account.
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?

Check whether your VOOI account already has Extended credentials via GET /user-exchange. It returns an array of { exchange, valid } objects — an extended entry with valid: true means your account is connected:
  • An extended entry with valid: true — your account is already connected. No action needed.
  • No extended entry, or one with valid: false — follow the steps below.
Extended does not require a prior deposit before registering, so there is no eligibility check to run first.

Prerequisites

  • An EVM wallet
  • An active VOOI API token

1. Prepare registration

Call POST /user-exchange/{exchange}/register/prepare with your wallet address. 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 response contains:
  • a short-lived registrationToken
  • signData — a three-item tuple you sign in order: [0] and [1] are EIP-712 typed-data objects (account creation, then account registration), and [2] is an object { "message": "<text>", "type": "personalSign" } whose message you sign with the personal_sign convention.
Response shape:
The two EIP-712 items each have domain, message, primaryType, and types. Their domain carries only a name ("extended.exchange") and no chainId, so there is no network to match against and no wallet network switch is needed. The third item is an object with a message string and type: "personalSign" — you sign its message. See the API reference for the full schema. The registrationToken expires in 10 minutes. If it expires before you complete registration, call this endpoint again to get a new token.

2. Sign all three messages

Sign each item in order:
  • [0] and [1] as EIP-712 typed data
  • [2]’s message field as a plain-text message (Ethereum personal_sign convention), not as EIP-712 typed data
Pass the resulting signatures to the next step in the same order, [sig0, sig1, sig2].
This step returns three signatures that will be used in the next request to complete registration.

3. Execute registration

Submit your wallet address, the registrationToken, and all three signatures (in order) to POST /user-exchange/{exchange}/register/execute. VOOI submits the signed onboarding messages to Extended on your behalf — you do not broadcast anything on-chain.
Response on success:
valid reflects whether the stored credentials passed validation. The VOOI referral code is applied to your Extended account automatically on registration — no client action is required. To apply a different code yourself, see POST /extended/use-referral-code.
Re-running the full prepare → execute flow is safe if a step fails. Call prepare again to get a fresh registrationToken, then sign and execute as above.
Possible errors: Your wallet is now connected to Extended through VOOI. You can use the VOOI API to place orders, manage positions, and query account data on Extended.

Next steps

Start trading on Extended

Place your first order

Connect your wallet to Hyperliquid

Register on Hyperliquid