---
title: "Get Withdrawals"
method: GET
path: "/v1/account/withdrawals"
---

# Get Withdrawals

`GET /v1/account/withdrawals`

Get withdrawal history for the authenticated account.
If no end time is provided, the current time will be used.
Maximum of 100 entries returned per request.

## Query parameters

- `withdrawal_status` 'pending' | 'confirmed' | 'removed' | 'failed' — Withdrawal status
- `hash` string — On-chain transaction hash, "0x" if not yet mined
- `start_timestamp` integer — Start timestamp in milliseconds
- `end_timestamp` integer — End timestamp in milliseconds

## Response `200`

Withdrawal history response.

- Withdrawals
  - `data` Withdrawal[], required
    - `withdraw_id` integer, required — Withdraw ID
    - `asset` string, required — Asset name
    - `amount` string, required — Raw token amount including decimals. For withdrawals this matches the uint256 amount in the EIP-712 signature (e.g. "100000000" for 100 USDC with 6 decimals).
    - `to` string, required — Destination address in hex format
    - `fee` string, required — Withdrawal transaction fee in decimalized asset units
    - `status` 'pending' | 'confirmed' | 'removed' | 'failed', required — Withdrawal status
    - `hash` string, required — On-chain transaction hash, "0x" if not yet mined
    - `confirmations` integer, required — Number of block confirmations
    - `required_confirmations` integer, required — Required number of block confirmations
    - `created_timestamp` integer, required — Creation timestamp in milliseconds
    - `confirmed_timestamp` integer — Confirmation timestamp in milliseconds
  - `more` boolean, required — More data available

## Other responses

- `400` — Bad request — the request was malformed or failed validation (bad query parameters, unparseable body, invalid signature, or a domain pre-check). The `error` field is a human-readable validation detail.
- `401` — Unauthorized — missing or invalid `POLYMARKET-PROXY` / `POLYMARKET-SECRET` credentials. `error` is `unauthorized`.
- `429` — Too Many Requests. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap).
- `500` — Internal server error. `error` is `internal_error`.

---

[API](https://skmtc.net/polymarket/apis/polymarket-perps-http-api.md) · [All operations](https://skmtc.net/polymarket/apis/polymarket-perps-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/polymarket-perps-http-api/versions/e17c4709273e/schema)
