Files
ritmex-bot/docs/lighter/lighter-python-main/examples/spot_get_account_assets_http.py
T

32 lines
1.1 KiB
Python

import logging
import asyncio
import lighter
from utils import default_example_setup
async def main():
client, api_client, _ = default_example_setup()
logging.basicConfig(level=logging.INFO)
account_api = lighter.AccountApi(api_client)
response = await account_api.account(by="index", value=str(client.account_index))
if len(response.accounts) == 0:
raise "No account found"
account = response.accounts[0]
# Note: cross-account value does not take into account isolated positions, but total does
print("=== perp assets ===")
print(f"total: {account.total_asset_value} available: {account.available_balance}")
print(f"cross: {account.cross_asset_value} isolated: {float(account.total_asset_value) - float(account.cross_asset_value)}")
# Spot Assets
print("=== spot assets ===")
for asset in account.assets:
print(f"{asset.symbol} total: {asset.balance} available: {float(asset.balance) - float(asset.locked_balance)}")
await client.close()
await api_client.close()
if __name__ == "__main__":
asyncio.run(main())