GET
/balance-allowanceGet balance and allowance
Retrieves the balance and allowances for the authenticated user's address. The address is determined from the API key authentication and signature type.
- Base URL
- https://clob.polymarket.com
- Auth
- L2 API credentials (key, secret, passphrase)POLY_API_KEY, POLY_ADDRESS, POLY_SIGNATURE, POLY_PASSPHRASE, POLY_TIMESTAMP
- Rate limit
- 9,000 req / 10s (900 per second)
- Limit applies to
- CLOB API general
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| asset_type | query | string | yes | Type of asset |
| token_id | query | string | no | Token ID (asset ID). Defaults to "-1" for ERC20 collateral. |
| signature_type | query | integer | no | Signature type for address derivation (0=EOA, 1=POLY_PROXY, 2=POLY_GNOSIS_SAFE) |
Example
curl -X GET "https://clob.polymarket.com/balance-allowance?asset_type=<asset_type>" \
-H "POLY_API_KEY: $POLY_API_KEY" \
-H "POLY_ADDRESS: $POLY_ADDRESS" \
-H "POLY_SIGNATURE: $POLY_SIGNATURE" \
-H "POLY_PASSPHRASE: $POLY_PASSPHRASE" \
-H "POLY_TIMESTAMP: $POLY_TIMESTAMP"L2 requests are signed with HMAC-SHA256 using your API secret, and the timestamp is part of the signature, so keep the machine's clock accurate. A missing credential or a stale signature both come back as Unauthorized/Invalid api key. The Python SDK signs for you.
Response fields
| Field | Type | Description |
|---|---|---|
| balance | string | Balance amount in fixed-math with 6 decimals |
| allowances | object | Map of spender addresses to allowance amounts |
Responses
| Status | Meaning |
|---|---|
| 200 | Successfully retrieved balance and allowances |
| 400 | Bad request - Invalid parameters |
| 401 | Unauthorized - Invalid API key or authentication failed |
| 500 | Internal server error |
Errors this endpoint returns
Related endpoints
- PUT /balance-allowance CLOB API
- GET /balance-allowance/update CLOB API
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.