Skip to Content
Symmio Trading-SDK — the SDK surface for builders on HyperEVM

deallocate

Move a subaccount’s classic-pool allocated balance back into its available balance — the reverse of allocate. (The instant flow never allocates in the first place — see Balance Model.) Routed through the AccountLayer _call proxy; the connected wallet must be the subaccount’s on-chain owner. Requires a fresh Muon uPnL attestation so the contract can verify the subaccount stays solvent, and is subject to the on-chain deallocate debounce.

import { deallocate, getDeallocateUpnlSig } from "@symmio/trading-core"; const upnlSig = await getDeallocateUpnlSig(config, { virtualAccount: "0xsub..." }); const hash = await deallocate(config, { account: "0xsub...", amount: 1_000000000000000000n, // 18 decimals upnlSig, });

Parameters

accountAddressrequired

The subaccount to deallocate from. The signer must equal its on-chain owner.

amountbigintrequired

Amount moved back into available balance, in 18 decimals (not collateral decimals).

upnlSigSingleUpnlSigrequired

A fresh Muon uPnL attestation — fetch with getDeallocateUpnlSig right before submitting.

chainIdnumberoptional

Optional chain override.

simulateBeforeWritebooleanoptional

Dry-run via simulateContract first (defaults to the config’s setting, itself true by default).

Returns

Hash
The broadcast tx hash. Dry-run without sending via simulateDeallocate(config, params).
Last updated on