Skip to main content
Sub-accounts let you partition a single master account into independent accounts. Each sub-account holds its own token balances, positions, and orders, with its own risk profile evaluated independently by the portfolio margin engine. Every sub-account benefits from the same portfolio margining as the master - cross-asset correlations, hedging discounts, and dynamic lambda surfaces all apply within each sub-account’s portfolio. Sub-accounts are also the foundation for isolated margin on BULK. Fund a sub-account with the exact amount you are willing to risk, and if it is liquidated, the master account and other sub-accounts are unaffected.

Account Hierarchy

Every wallet that connects to BULK is a MasterEOA - a master externally owned account with a Solana keypair. The master can create sub-accounts beneath it, forming a tree:
The master account is always the root. Sub-accounts cannot create children of their own.
Sub-accounts are off-curve accounts. Their public keys are deterministically derived from the master’s public key and do not correspond to any private key. Ownership is enforced by the protocol - only the parent MasterEOA can manage them.

Creating a Sub-Account

Submit a CreateSubAccount action with the following fields: If both margin_symbol and margin_amount are provided, the protocol atomically creates the sub-account and transfers tokens from the master in a single operation. The master’s withdrawable balance is checked before the transfer. Names must be unique within the master’s account tree. The protocol rejects duplicate names.

Constraints

Managing Sub-Accounts

Transfer Tokens

Use the Transfer action to move tokens between master and sub-accounts (internal transfer) or between sibling sub-accounts. See the Protocol Native Asset Transfer page for full details.

Remove

Submit a RemoveSubAccount action referencing the sub-account to remove. The sub-account must have:
  • No open positions
  • No open orders
On removal, all remaining token balances are swept back to the master account automatically. The master’s token balance is credited and the sub-account is deleted. Only the owning master account can remove a sub-account.

Rename

Submit a RenameSubAccount action with the new name. The same naming rules apply (1-32 characters, alphanumeric plus - and _). The new name must not duplicate any existing sub-account name under the same master. Only the owning master account can rename.

Settings Inheritance

When a sub-account is created, it inherits the master’s user settings (leverage allocations per instrument). These settings are copied at creation time. If the master changes its settings afterward, existing sub-accounts are not updated - each sub-account maintains its own independent configuration from that point forward.