Account History Examples¶
Examples of querying historical account data from the Ethereal archive API. For the full list of available endpoints and parameters, see the Archive API documentation.
All examples assume you have an initialized AsyncRESTClient with a private key. See the Quickstart if you need help setting one up.
Balance history¶
import time
subaccounts = await client.subaccounts()
subaccount_id = subaccounts[0].id
now = time.time() * 1000 # Archive API uses milliseconds
one_week_ago = now - 7 * 86400 * 1000
history = await client.get_subaccount_balance_history(
subaccount_id=subaccount_id,
start_time=one_week_ago,
end_time=now,
resolution="hour1",
)
for record in history:
print(record.model_dump())
Funding history¶
funding = await client.get_subaccount_funding_history(
subaccount_id=subaccount_id,
start_time=one_week_ago,
)
for record in funding:
print(f"{record.product_ticker}: {record.funding_charge}")
You can filter funding history by specific products or positions:
funding = await client.get_subaccount_funding_history(
subaccount_id=subaccount_id,
start_time=one_week_ago,
product_ids=[btc_product_id], # Filter by product
)
Total volume¶
total = await client.get_subaccount_total_volume(subaccount_id=subaccount_id)
print(f"Total volume: ${total.volume_usd}")