Subaccount
Subaccount¶
Subaccount operations.
Initialize subaccount (internal use - use from_api() instead).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subaccount_id
|
int
|
Unique identifier for this subaccount |
required |
auth
|
AuthContext
|
Authentication context for signing operations |
required |
config
|
EnvConfig
|
Environment configuration |
required |
markets
|
MarketOperations
|
Market operations interface |
required |
transactions
|
TransactionOperations
|
Transaction operations interface |
required |
public_api
|
PublicAPI
|
Public API interface |
required |
private_api
|
PrivateAPI
|
Private API interface for authenticated requests |
required |
_state
|
PrivateGetSubaccountResultSchema | None
|
Initial state (internal use only) |
None
|
Attributes¶
margin_type
property
¶
margin_type: MarginType
Margin type of subaccount (PM (Portfolio Margin), PM2 (Portfolio Margin 2), or SM (Standard Margin))
state
property
¶
state: PrivateGetSubaccountResultSchema
Current mutable state (positions, orders, collateral, etc).
Functions¶
from_api
classmethod
¶
from_api(
*,
subaccount_id: int,
auth: AuthContext,
config: EnvConfig,
logger: LoggerType,
markets: MarketOperations,
transactions: TransactionOperations,
public_api: PublicAPI,
private_api: PrivateAPI
) -> Subaccount
Validate subaccount by fetching its state from the API.
This performs a network call to verify the subaccount exists and caches immutable properties like margin_type and currency.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subaccount_id
|
int
|
Unique identifier for this subaccount |
required |
auth
|
AuthContext
|
Authentication context for signing operations |
required |
config
|
EnvConfig
|
Environment configuration |
required |
markets
|
MarketOperations
|
Market operations interface |
required |
transactions
|
TransactionOperations
|
Transaction operations interface |
required |
public_api
|
PublicAPI
|
Public API interface |
required |
private_api
|
PrivateAPI
|
Private API interface for authenticated requests |
required |
Returns:
| Type | Description |
|---|---|
Subaccount
|
Initialized Subaccount instance |
Raises:
| Type | Description |
|---|---|
APIError
|
If subaccount does not exist or API call fails |
sign_action
¶
sign_action(
*,
module_address: ChecksumAddress,
module_data: ModuleData,
signature_expiry_sec: Optional[int] = None,
nonce: Optional[int] | None = None
) -> SignedAction