Skip to main content
Your wallet balance and your Kuru trading balance are separate. Deposit assets before using them to trade; withdraw available assets when you want to move them back to a wallet.

Deposit into your main account

For an ERC-20 token, approve Kuru’s custody contract to transfer the amount, then submit the deposit. Native MON deposits send MON with the deposit transaction instead of using an approval. Deposits always credit the main account. You can fund another owner’s main account, but doing so does not give you permission to trade or withdraw their funds. To fund a subaccount, deposit into the main account and then make an internal transfer. Wait for a successful transaction and confirm the credited balance before trading. Token support and valid price data are required for deposits as well as withdrawals.

Release funds before withdrawing

Only available funds can be withdrawn. Cancel the unfilled portion of an order to release its reservation. Transfer any subaccount proceeds back to the main account. A partial fill cannot be undone by canceling the remainder. You keep the asset bought or the proceeds received from the executed portion.

Choose the receiving wallet

Withdraw from the main account and specify a recipient wallet. This sends assets out of Kuru; it does not credit another Kuru trading account, even if the recipient also uses Kuru. The owner or a signer with withdrawal authority can submit this action. Trading permission alone does not allow it.

Withdrawal availability

Kuru also checks a shared withdrawal allowance and valid token prices. An available account balance alone does not guarantee that a withdrawal will succeed. The full requested amount is paid or the transaction reverts. There is no pending withdrawal queue or partial payout. On current mainnet, capacity comes from a shared $200,000 bucket that refills continuously over about 24 hours, plus deposit credit that expires after 24 hours. Read Withdrawal Availability for how capacity works, a numbers example, and what to check if a withdrawal fails. Developers can use Accounts and Funding for the exact calls.