> For the complete documentation index, see [llms.txt](https://sol-perps-bot.gitbook.io/sol-perps-bot-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sol-perps-bot.gitbook.io/sol-perps-bot-docs/api-trading/account-data.md).

# Account Data

Sign private GET requests as described in [Authentication](/sol-perps-bot-docs/api-trading/authentication.md). Require `read` scope and check both HTTP status and the JSON `success` field.

| Endpoint                               | Use                                                                                                                 |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `GET /v1/client/key_info`              | Registered keys, scope, expiry and IP restrictions; match the current public key rather than assuming the first row |
| `GET /v1/client/info`                  | Account configuration and fee rates                                                                                 |
| `GET /v1/client/holding`               | Token holdings and frozen amounts                                                                                   |
| `GET /v1/positions`                    | Positions, account value and free collateral                                                                        |
| `GET /v1/orders?status=INCOMPLETE`     | Open/pending orders; include the query when signing and handle pagination                                           |
| `GET /v1/order/{order_id}`             | Reconcile an individual order after submission                                                                      |
| `GET /v1/public/info/PERP_ETH_USDC`    | Public market constraints; no key required                                                                          |
| `GET /v1/public/futures/PERP_ETH_USDC` | Public market snapshot; no key required                                                                             |

## Interpret balances correctly

Holdings are not free collateral. Unrealized/unsettled PnL, frozen funds and margin affect what can be used for a new order. Use current risk fields from the positions response; do not calculate spendable margin from the USDC holding alone.

A returned position row can have `position_qty = 0`. Only nonzero quantity represents an open position. Positive quantity is long; negative quantity is short. Check pending quantities separately. Unsettled PnL can remain after quantity returns to zero and is not necessarily profit from the latest trade.

Keep financial/account responses private. User-facing summaries should not dump credentials, other registered keys, email addresses or full internal response objects into logs.
