Core concepts / Accounts and wallets
Core concepts
Accounts and wallets
Signing in creates more than one wallet, and they are not interchangeable. Knowing which is which explains most of what you see on the profile page.
#Signing in
Authentication runs through Privy, and there are five ways in: an email one-time code, Google, X, Discord, or connecting an external wallet. Whichever you use, Privy provisions an embedded wallet for you on login. It manages the keys on your behalf, so there is nothing to back up.
Supported external wallets include MetaMask, Coinbase Wallet, Rainbow, Robinhood, WalletConnect, OKX, Zerion, and Bybit, plus anything else the browser advertises.
Every request the browser makes to a protected server route carries a Privy access token as a bearer token, and the server verifies it before acting. Tokens are short-lived and refresh on their own, which is why a long-lived trading session has to read the current token rather than capture one at page load.
#The three wallets
These have distinct jobs, and money moves between them during a trade.
| Wallet | Chain | Holds | Created by |
|---|---|---|---|
| Cash wallet | Robinhood Chain | Your USDG balance and a little ETH for gas | Your external wallet if you linked one, otherwise embedded |
| Trading wallet | Polygon | Nothing, normally. It signs. | Privy, embedded |
| Trading proxy | Polygon | Collateral and your outcome shares | Derived from the trading wallet |
#Cash wallet
This is the one you deposit into and withdraw from, and the balance shown as Cash in the header. It is the only address you should ever send funds to from outside the app.
Unlike the other two, this is not necessarily an embedded wallet. If you have linked an external wallet, that one is preferred as your cash wallet; the embedded one is the fallback when you have not. The order of preference is a linked external wallet, then a linked embedded wallet, then a connected embedded wallet.
#Trading wallet
A separate embedded wallet that acts purely as a signer on Polygon. It proves you are you when the app opens a trading session and when it authorises orders. It is deliberately not where your balance lives, and it usually holds nothing at all.
#Trading proxy
The venue gives each signer a deterministic wallet of its own, referred to in the code as the funder or deposit wallet. It is a contract rather than a key you hold, computed with CREATE2 from a deposit wallet factory and the trading wallet’s address, so it is always the same address for the same account and no transaction is needed to know it in advance. This is the wallet that actually holds collateral and your positions.
Once derived it is cached in the browser under a per-signer key, which is also how the profile page knows to include it when totalling your portfolio.
It also explains a message you may see if a trade stops partway: funds described as sitting “in the trading proxy” are yours and are recoverable, they are simply one hop short of where they were headed.
#Gas, and why you rarely pay it
Two different chains are involved, and gas is handled differently on each:
- On Polygon, orders and approvals go through the venue’s gasless relayer. Your trading wallet signs and the relayer pays, so you never need to hold
POL. - On Robinhood Chain, some transfers are sponsored by the app’s own server route, but you should still keep a small
ETHbalance in the cash wallet for sends you initiate yourself.
#Trading credentials
Before it can place orders, the app has to prove control of the trading wallet to the venue’s order book. It does this by signing a typed message and exchanging it for API credentials:
1. Sign an EIP-712 "ClobAuth" message with the trading wallet
2. Exchange that signature for CLOB API credentials
3. Cache the credentials in the browser for reuse
4. Open a client bound to the proxy wallet as the funder
5. Set the one-time token approvals the venue needsSteps two and five are the slow ones, which is why the first trade in a session takes noticeably longer than the ones after it. Credentials are cached locally; if the venue later rejects them, the app discards them and redoes the handshake automatically.
The approvals in step five let the venue move your collateral and your outcome shares when an order fills. They are set once and are idempotent, so repeating them is harmless.
Next, see money and tokens for what moves between these wallets.