Skip to main content
Robinhood perpetuals run on Lighter’s infrastructure, so registration works exactly like Lighter’s: it links your EVM wallet to Robinhood by registering a VOOI-managed public key on your account. Your funds remain in your own 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 Robinhood credentials via GET /user-exchange. It returns an array of { exchange, valid } objects — a robinhood entry with valid: true means your account is connected:
  • isRegistered: true — your wallet has a Robinhood account and is eligible to register. Follow the steps below, or, if you already hold API-key credentials yourself, paste them via POST /user-exchange/robinhood (see Use your own keys).
  • isRegistered: false — your wallet has no Robinhood account yet. Deposit first (step 1 below) and the flag will flip once the account exists.

Prerequisites

  • An EVM wallet
  • An active VOOI API token
  • USDG deposited to Robinhood from your wallet address (this creates your account)

1. Deposit USDG to Robinhood

Your wallet address must have a Robinhood account before you can register a VOOI-managed key. Depositing creates one automatically. Robinhood settles in USDG on chain 4663 — unlike Lighter, which bridges USDC from Arbitrum One. Use GET /deposit to receive ready-to-sign calldata:
The response contains one or more transactions to sign and submit on chain 4663, in the order returned. Wait for each to confirm before sending the next.

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 account VOOI will register. We recommend choosing a value greater than 230, since lower slots can collide with keys the venue’s own apps use. If you use multiple integrations on the same 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 key registration on your behalf — you do not broadcast it yourself. The only on-chain transaction you sign is the deposit in step 1.
Response on success:
Possible errors: Your wallet is now connected to Robinhood through VOOI. You can use the VOOI API to place orders, manage positions, and query account data on Robinhood.
If the broker you signed up through charges builder fees on Robinhood, a one-time builder-fee approval is required before your orders carry the broker record — a separate signed step, identical to Lighter’s. See Approve flow fallback. Connecting to a broker that doesn’t use builder fees needs no extra approval.

Next steps

Start trading on Robinhood

Place your first order

Connect your wallet to Lighter

Register on Lighter