> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bravadotrade.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /v2/trade/perps/readiness: Readiness

> Where the user stands on Polymarket Perps: enrolment, credential, approval and funding, and the next step. Scope perps.read.

> [!NOTE]
>
> Sign each request with a fresh HMAC signature. The cURL and HTTP header values below are placeholders, not reusable credentials. For runnable signing code, use [request signing examples](https://docs.bravadotrade.com/authentication-examples.md).

Tells you the next step for this user. Read it first, and read it again whenever a refusal carries a `reason` you do not know. Scope `perps.read`.

```text theme={null}
GET https://partner-api.bravadotrade.com/v2/trade/perps/readiness
```

Acts for one integration user: send a user key, or your master key with `X-Partner-User-Id`. See [sub-accounts](https://docs.bravadotrade.com/guides/white-label-sub-accounts.md).

### Response

**state** `string`

Where the user stands.

| `state` | Meaning | Next step |
| - | - | - |
| `not_enrolled` | No perps account yet | [Enrol](https://docs.bravadotrade.com/api/trade/perps/enrol.md) |
| `blocked` | The attested jurisdiction cannot trade perps | None. The user cannot be enrolled |
| `needs_deposit` | Enrolled; the venue balance was read as zero | [Deposit](https://docs.bravadotrade.com/api/trade/perps/deposit.md) |
| `enrolled` | Enrolled; the balance could not be read (`rungs.funded: "unknown"`) | Read readiness again before depositing |
| `ready` | Can trade | [Place orders](https://docs.bravadotrade.com/api/trade/perps/place-order.md) |
| `credential_expiring` | Can trade; the venue credential is being renewed | Place orders |
| `credential_expired` | Cannot trade until the credential is renewed | Retry later |

Orders need `ready` or `credential_expiring`.

**rungs** `object`

**rungs fields**

**credential** `string`

`ok`, `missing` or `unknown`.

**approval** `string`

`ok`, `missing` or `unknown`.

**funded** `string`

`ok`, `missing` or `unknown`. `unknown` means the balance could not be read, not that it is zero.

**venue** `object`

**venue fields**

**cancel\_only** `boolean | null`

The venue is cancel-only.

**in\_liquidation** `boolean | null`

The venue is liquidating the account.

### Example

```bash cURL theme={null}
curl https://partner-api.bravadotrade.com/v2/trade/perps/readiness \
  -H "X-BRAVADO-API-KEY: $BRAVADO_API_KEY" \
  -H "X-BRAVADO-TIMESTAMP: <unix-ms>" \
  -H "X-BRAVADO-SIGNATURE: <signature-for-this-request>"
```

## Related

* [The flow](https://docs.bravadotrade.com/api/trade/perps.md#the-flow) from enrolment to withdrawal.
* [`reason` values](https://docs.bravadotrade.com/api/trade/perps#errors) on `409 USER_PROVISIONING_PENDING`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.