PUT
/balance-allowanceUpdate balance and allowance
Forces an update of the balance and allowances by fetching fresh data from the blockchain. 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 PUT "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.
Responses
| Status | Meaning |
|---|---|
| 200 | Balance and allowances successfully updated |
| 400 | Bad request - Invalid parameters |
| 401 | Unauthorized - Invalid API key or authentication failed |
| 500 | Internal server error |
Related endpoints
- GET /balance-allowance CLOB API
- GET /balance-allowance/update CLOB API
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.