Contracts
Contracts · Flow

Margin

Allocate a subaccount's balance into tradeable margin, and add or remove margin on a virtual account — including the Muon uPnL signature removeMargin requires.

Wallet
Not connected

getDeallocateUpnlSig
read
Fetch the Muon uPnl_A attestation removeMargin requires, assembled into a contract-ready SingleUpnlSig. Off-chain Muon oracle read — no ABI.

The Muon partyA the uPnL attestation is for. The signature is short-lived — fetch it immediately before a removeMargin.

Enter a virtual account and fetch its uPnL signature.

allocate
write
Move a subaccount's available balance into allocated (tradeable) margin (routed via AccountLayer _call).
Fill the fields above and submit.
deallocate
write
Move a subaccount's allocated (tradeable) balance back into its available balance (routed via AccountLayer _call). Sending fetches a fresh Muon uPnL signature automatically; subject to the on-chain deallocate debounce.
Fill the fields above and submit.
addMargin
write
Add margin to a virtual account — move collateral from the parent subaccount's available balance into the VA. No signature required.
Fill the fields above and submit.
removeMargin
write
Remove margin from a virtual account (deallocate). Sending fetches a fresh Muon uPnL signature automatically; subject to the on-chain deallocate debounce.
Fill the fields above and submit.