Enable trading first
Before you can place a parlay or withdraw, your wallet must be delegated: you grant Totalis permission to sign transactions on your behalf inside a secure enclave. See Vaults & custody for how that works. Enabling trading is a one time interactive step — you approve a consent dialog in the app. It can’t be done from the REST API alone (POST /v1/wallet/enable-trading only reports status; it doesn’t grant the permission). Check the current state with GET /v1/wallet/delegation-status.
Send USDC to your wallet
Get your wallet address
GET /v1/wallet returns your Solana wallet address and current balances.Send native USDC on Solana
Transfer USDC to that address from any wallet or exchange that supports SPL tokens.
You don’t need SOL — network fees are sponsored, so your wallet only ever holds USDC.
| Network | Solana mainnet |
| Token | USDC (SPL) |
| Mint | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
Confirm it landed
Poll
GET /v1/wallet until the balance reflects your transfer. You’re now ready to request quotes and place parlays.How your balance is used
There’s no deposit call because the vault funds itself at trade time:- USDC you send lands in your wallet.
- When you place a parlay, your stake moves from the wallet into the vault and locks — in one step.
- Eligibility is checked against your combined wallet + vault free balance, so as long as the total covers your stake, the trade goes through.
Withdrawing
UsePOST /v1/wallet/withdraw with a recipient and amount. If the amount exceeds your wallet balance, Totalis automatically draws from your vault’s free balance (settled winnings and unlocked collateral) to cover it — so one call reaches everything that isn’t locked in an open position.
