get_cash_balance_v2 reads your own cash, the figure a buy is checked against, and get_cash_movements the movements behind it. Your shares are the CETs in your wallet: the mints and burns say how they got there.
Your own cash
The broker account can carry other clients’ cash beside yours, so what you may spend is kept apart: what you deposited and withdrew, the fees charged to you, and what your orders spent and still hold.
There is one entry per currency you have moved, and an empty list before your first movement.
What a buy holds
A buy is aLIMIT order by quantity. When you place it, quantity × limitPrice plus its fees moves into committed, before the order reaches the broker; a buy your available does not cover answers INVALID_ORDER with your figures, and nothing reaches the broker. As it fills, what it executed moves from committed to bought, at the price it executed. When it ends, filled, cancelled or expired, whatever it did not spend is released. A sell adds to sold as it executes.
A MARKET buy and an order by notional answer INVALID_ORDER: neither names the price its cost would be held at.
Movements
get_cash_movements lists the movements behind deposited, withdrawn and fees, newest first: deposits, withdrawals and fees, each with its id, amount, currency, status and bookedAt. Pass the id of the last one you hold as before for the next page, with limit up to 200.
A movement is also pushed as cash_movement when it is recorded for you or cancelled. Delivery is at least once: every repeat of one change carries the same eventId, so drop what you have seen. CANCELLED is final for an id, and a movement that is cancelled no longer counts. The push carries no balance: read get_cash_balance_v2 for the totals, and get_cash_movements to catch up after a gap.
Fund your cash with crypto
You can fund your own cash by sending USDC on an EVM chain or on Solana to a Securitize wallet, then telling us the transaction. The chains offered are the onesget_crypto_funding lists in depositTo.
Before the first deposit, ask Securitize to enable crypto funding for you and to register the wallets you send from. Only a deposit from a registered wallet is credited, and there is no message to register one: to add or remove a wallet, contact Securitize.
1. Read where to send it
get_crypto_funding answers depositTo, Securitize’s wallets, one per chain and token with the token’s contract, and fromWallets, the wallets Securitize registered for you. When it answers enabled: false, crypto funding is not enabled for you: contact Securitize. Read it again before each deposit rather than keeping the addresses: Securitize’s wallets can change.
2. Send the USDC
Send it from one of yourfromWallets to the address of the chain you use. Only that exact tokenAddress counts (the token contract on an EVM chain, the mint on Solana): another token, or a transfer from a wallet that is not yours, is never credited. On Solana, send it from the wallet itself, not from a token account you hold for another wallet: the sender and the recipient are the wallets that own the token accounts.
3. Send the transaction hash
Send it withsubmit_crypto_funding, signed like place_order. A read-only key answers NOT_PERMITTED.
txHash is 0x and 64 hex digits on an EVM chain, and the base58 signature on Solana, sent as it is: Solana signatures are case-sensitive.
Once the transaction succeeded and is final, the ack carries status: "CREDITED", the amount credited in USD, one for one with the USDC that arrived, and movementId, the movement’s id in get_cash_movements. get_cash_balance_v2 counts it at once. The credit is not pushed as cash_movement: the ack is the confirmation.
A transaction is credited once, whoever sends it: sending the same txHash again answers the same credit, so it is always safe to send it again.
submit_crypto_funding is served on the socket only. get_crypto_funding is also served over HTTP, as GET /v1/market-maker/crypto-funding: see Reads over HTTP.
Buying power
A buy is checked twice. First against your ownavailable, before it reaches the broker. Then the broker checks the account it trades through, and a buy it cannot pay for answers INVALID_ORDER with the message Insufficient buying power. Either way, fund your cash or size the order down, and send it again. In sandbox, you can also fund it as Sandbox funding shows.