Core Flow (Deposit)

Deposits go directly from your wallet into the on-chain vault. The platform never touches funds in transit — once a deposit lands, it is owned by the vault contract until you withdraw.

This page explains the mechanics. For the step-by-step UI walkthrough, see How to Deposit Assets.

How it works

  1. You enter an amount and submit the deposit form.
  2. The browser builds and signs an EIP-712 PermitDepositFor payload, bound to the vault contract.
  3. If the ERC-20 allowance for the vault is too low, an additional ERC-2612 Permit is signed in the same flow. This removes the need for a separate approve() transaction.
  4. The signed payloads are submitted to the backend, which calls the vault's permitDeposit entry point (or depositNative for native assets).
  5. Once the on-chain DepositConfirmed event is observed, your On-Chain Wallet balance updates. To trade with these funds, transfer them to your Futures Account — see How to Transfer Assets Between Accounts.

The vault contract is publicly verifiable on Arbiscan — see the Technical Reference for the exact address and chain.

What you authorize

The signed payload pins down exactly:

  • token — the asset address.
  • amount — the exact amount.
  • sender — your wallet.
  • recipient — your wallet (deposits always credit your own account).
  • The vault address as the verifying contract, so the signature is invalid against any other contract.

If any field is altered, the signature is rejected on-chain.

Supported assets

The list of accepted tokens depends on the active network and the vault's current treasury configuration. The deposit UI only shows assets the vault is currently accepting.

Continue with the Core Flow (Withdraw).