AccountLayer
The AccountLayer contract is where SYMMIO subaccounts live. Each EOA can own multiple subaccounts; each subaccount can route trades into Virtual Accounts (VAs).
This slice also exposes SYMMIO core balance reads for accounts. The account input can be a subaccount or virtual account address depending on what the underlying SYMMIO method accepts.
The money flow in one line: deposit → available balance → instant trading spends it — there is no allocate step in the instant (lowcap) flow. See Balance Model for the full picture of every balance and both flows.
Contract reference: SYMMIO perps-core v0.8.5 docs .
Each method has its own page with the full signature, parameters, return shape, examples, query options, and raw ABI usage.
Reads
List an EOA’s subaccounts.
getAccountBalanceOfAvailable balance — what deposits credit and instant trading spends.
getAccountBalanceInfoClassic-pool (allocated) balance plus the CVA / LF / margin locks held against it.
Writes
Deposit into the available balance — the balance instant trading spends.
depositAndAllocateForAccountDeposit and allocate into the classic pool in one tx (not the instant-flow path).
allocateMove available balance into the classic pool’s allocated balance.
deallocateMove allocated balance back to available (needs a Muon uPnL sig).
editAccountNameRename a subaccount.
Types
Query options
Every read ships a matching …QueryOptions factory for TanStack Query — getUserSubAccountsQueryOptions, getAccountBalanceOfQueryOptions, and getAccountBalanceInfoQueryOptions. See each read’s page for the exact call.
Raw ABI
Reads can be called directly with viem using the exported accountLayerAbi and symmioAbi; each read’s page shows the corresponding readContract call. Writes are routed through the AccountLayer _call proxy so SYMMIO core attributes them to the subaccount — use the SDK write functions rather than calling the ABI directly.