Files
Funding_Rate/modules/apex_api.py

37 lines
1.1 KiB
Python
Raw Permalink Normal View History

2026-04-21 20:22:33 +00:00
from apexomni.http_private_v3 import HttpPrivate_v3
from apexomni.http_private_sign import HttpPrivateSign
from apexomni.constants import APEX_OMNI_HTTP_MAIN, NETWORKID_MAIN
from dotenv import load_dotenv
import os
def apex_create_client() -> HttpPrivateSign:
load_dotenv()
print("Authenticating...")
eth_private_key = os.getenv("RABBY_PRIVATE_KEY")
key = os.getenv("APEX_API_KEY")
secret = os.getenv("APEX_API_SECRET")
passphrase = os.getenv("APEX_API_PASSPHRASE")
client = HttpPrivate_v3(APEX_OMNI_HTTP_MAIN, network_id=NETWORKID_MAIN, eth_private_key=eth_private_key)
zkKeys = client.derive_zk_key(client.default_address)
seeds = zkKeys['seeds']
l2Key = zkKeys['l2Key']
client = HttpPrivateSign(
APEX_OMNI_HTTP_MAIN,
network_id=NETWORKID_MAIN,
zk_seeds=seeds,
zk_l2Key=l2Key,
api_key_credentials={'key': key, 'secret': secret, 'passphrase': passphrase})
try:
client.configs_v3()
client.get_account_v3()
except Exception as e:
raise ConnectionError(f'Failed to authenticate with APEX OMNI: {e}')
print("...Authenticated")
return client