Account and history
Account endpoints let clients build portfolio, history, and profile screens.
Positions and balances
curl -s "{API_BASE_URL}/v1/positions/0xabc..."
curl -s "{API_BASE_URL}/v1/account/0xabc..."
curl -s "{API_BASE_URL}/v1/fees/0xabc..."
Use /v1/fees/{address} before showing final fee estimates. Fee rates can vary by account and exchange state.
Orders and trades
curl -s "{API_BASE_URL}/v1/orders/open/0xabc..."
curl -s "{API_BASE_URL}/v1/orders/history/0xabc..."
curl -s "{API_BASE_URL}/v1/trades/0xabc..."
Order history is grouped around filled orders. Canceled orders that never filled may not appear in filled history.
Profile
Read a profile:
curl -s "{API_BASE_URL}/v1/profile/0xabc..."
Update the authenticated user's profile:
curl -s -X PUT "{API_BASE_URL}/v1/profile" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{
"display_name": "sam",
"avatar_url": "https://example.com/avatar.png"
}'
Profile fields can change. Clients should ignore unknown response fields and avoid requiring optional fields.
Stats and PnL
curl -s "{API_BASE_URL}/v1/stats/0xabc..." \
-H "Authorization: Bearer $JWT"
curl -s "{API_BASE_URL}/v1/pnl/calendar/0xabc..." \
-H "Authorization: Bearer $JWT"
When waitlist access is enabled, these routes require a JWT and allowed access.
Address-scoped reads are not a public scraping contract. Access policy depends
on deployment settings and partner agreements. Clients should be ready to send a
JWT and handle 403 even for routes that accept an address in the path.