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 viaGET /user-exchange. It returns an array of { exchange, valid } objects — a robinhood entry with valid: true means your account is connected:
- A
robinhoodentry withvalid: true— your account is already connected. No action needed. - No
robinhoodentry, or one withvalid: false— check your registration status viaGET /user-exchange/{exchange}/register/status:
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 viaPOST /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. UseGET /deposit to receive ready-to-sign calldata:
2. Prepare registration
CallPOST /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
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 thesignData string as a plain text message (Ethereum personal_sign convention), not as EIP-712 typed data.
4. Execute registration
Submit your wallet address, theregistrationToken, 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.
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