Direct creation
SubaccountCreated event to identify this transaction’s child if several workers can create children concurrently. Do not infer it from the last element of a later list read.
The owner or a live root TRADE/ADMIN signer may create a child. Only the owner may bootstrap an unregistered root. Creating a child does not advance the root authorization epoch.
Signed creation
buildCreateSubaccountTypedData binds rootOwner, authorizer, the next subaccountSeq, current root authNonce, and deadline. The owner or authorized root signer signs; there is no child consent signature.
Submit with createSubaccountBySig. Read the next sequence and epoch before signing. Two requests for the same sequence compete, so rebuild the losing request after one succeeds. The sequence is a uint16; a root supports at most 65,535 children. IDs and sequences are never reused.
The domain is KuruAccountCore, version 1, chain ID, and AccountCore proxy address. EOA and ERC-1271 authorizers are supported by the contract.
Funding and withdrawals
Deposit into the root, then usetransferBetweenAccounts with numeric source and destination IDs. Transfer child proceeds back to the root before withdrawing externally. Orders and positions remain attached to their original ID.
All children inherit the root’s signers and fee policy. For exact signatures, see AccountCore.