PX-* headers for you.
Create a client once and reuse it for every call.
Where Python reads your credentials
ParlayX() reads PARLAYX_KEY_ID and PARLAYX_PRIVATE_KEY_HEX from the
environment when you do not pass them:
ValueError
naming the variable it wanted, at construction rather than on your first
request.
AsyncParlayX and StreamClient take the same arguments and read the same two
variables.
Registering the key
You generate the keypair in your own environment and register the public half with ParlayX. See Authentication for the wire-level canonical string, key registration, and revocation.Clock skew
The signature covers a timestamp the API checks against its own clock, within 30 seconds. A host whose clock has drifted further will see every request fail withUNAUTHORIZED, which looks like a bad key rather than a bad clock. Keep NTP
running. The server clock is verified without a timestamp, so it still works on
a drifted host and lets you measure the offset.