Skip to main content
Registration links your EVM wallet to Lighter by registering a VOOI-managed public key on your Lighter sub-account. Your funds remain in your own Lighter account. Once registered, the API can sign and submit transactions on your behalf.
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 Lighter credentials via GET /user-exchange. It returns an array of { exchange, valid } objects — a lighter entry with valid: true means your account is connected:
  • A lighter entry with valid: true — your account is already connected. No action needed.
  • No lighter entry, or one with valid: false — check your registration status on Lighter via GET /user-exchange/{exchange}/register/status:
  • isRegistered: true — your wallet has a Lighter sub-account and is eligible to register. Follow the steps below, or, if you already created a Lighter API key yourself, paste those credentials via POST /user-exchange/lighter (see Use your own keys).
  • isRegistered: false — your wallet has no Lighter sub-account yet. Deposit first (step 1 below) and the flag will flip once Lighter reflects the sub-account.
isRegistered reports “does this wallet have a Lighter sub-account” — in practice, “has it ever deposited to Lighter”. It does not mean a VOOI-managed key is active on that sub-account. A wallet that deposited directly through the Lighter UI also flips the flag to true — the check reads Lighter’s own state, not VOOI’s.

Prerequisites

  • An EVM wallet
  • An active VOOI API token
  • USDC deposited to Lighter from your wallet address (this creates your Lighter sub-account)

1. Deposit USDC to Lighter

Your wallet address must have a Lighter sub-account before you can register a VOOI-managed key. Depositing USDC creates one automatically. You can deposit through the Lighter 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. The minimum deposit amount is 5 USDC. Lighter usually processes deposits within up to 10 minutes.

2. Prepare registration

Call POST /user-exchange/{exchange}/register/prepare with your wallet address and an API key index 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 API key index identifies which key slot on your Lighter sub-account VOOI will register. We recommend choosing a value greater than 230, since lower slots can collide with keys Lighter’s own apps use. If you use multiple integrations on the same Lighter account, give each a distinct value. The API returns the following:
  • a short-lived registrationToken
  • a plain-text message to sign
Response:
signData is a plain-text string — not EIP-712 typed data. 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 message

Sign the signData string as a plain text message (Ethereum personal_sign convention), not as EIP-712 typed data.
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 ChangePubKey to Lighter 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 Lighter through VOOI. You can use the VOOI API to place orders, manage positions, and query account data on Lighter.
If the broker you signed up through charges builder fees on Lighter, a one-time builder-fee approval is required before your orders carry the broker record — a separate signed step. See Approve flow fallback. Connecting to a broker that doesn’t use builder fees needs no extra approval.

Next steps

Start trading on Lighter

Place your first order

Connect your wallet to Hyperliquid

Register on Hyperliquid

Connect your wallet to Extended

Register on Extended