Files
winning-wallet-finder/PolymarketDocumentation-main/docs/api-reference/get-withdrawals.md
T
gavindiaz 125470b24a sync: upstream + our customizations (dashboard, healthcheck, docs)
Synced from github/main: aebcfa2d copybot: live paper feed [skip ci]
Our additions: serve_dashboard.py, bot_dashboard.html, mihomo-healthcheck.sh,
中文文档, 我们的钱包配置
2026-07-21 07:35:48 +08:00

9.2 KiB

Documentation Index

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

Get 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.

Request Weight: 10

OpenAPI

openapi: 3.0.3
info:
  title: Polymarket Perps HTTP API
  version: 1.0.0
  description: HTTP API for Polymarket perpetual trading system.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.perpetuals.polymarket.com
    description: Production Perps HTTP API
security: []
paths:
  /v1/account/withdrawals:
    get:
      summary: Get Withdrawals
      description: |
        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.
      operationId: getWithdrawals
      parameters:
        - name: withdrawal_status
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/withdrawal_status'
        - name: hash
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/hash'
        - name: start_timestamp
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/start_timestamp'
        - name: end_timestamp
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/end_timestamp'
      responses:
        '200':
          description: Withdrawal history response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Withdrawals'
        '400':
          $ref: '#/components/responses/Error400Response'
        '401':
          $ref: '#/components/responses/Error401Response'
        '429':
          $ref: '#/components/responses/Error429Response'
        '500':
          $ref: '#/components/responses/Error500Response'
      security:
        - polymarket_proxy: []
          polymarket_secret: []
components:
  schemas:
    withdrawal_status:
      type: string
      description: Withdrawal status
      enum:
        - pending
        - confirmed
        - removed
        - failed
    hash:
      type: string
      description: On-chain transaction hash, "0x" if not yet mined
      default: 0x
      example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
    start_timestamp:
      type: integer
      description: Start timestamp in milliseconds
      example: 1767225600000
    end_timestamp:
      type: integer
      description: End timestamp in milliseconds
      example: 1767229200000
    Withdrawals:
      type: object
      required:
        - data
        - more
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Withdrawal'
        more:
          $ref: '#/components/schemas/more'
    Withdrawal:
      type: object
      required:
        - withdraw_id
        - asset
        - amount
        - fee
        - status
        - to
        - hash
        - confirmations
        - required_confirmations
        - created_timestamp
      properties:
        withdraw_id:
          $ref: '#/components/schemas/withdraw_id'
        asset:
          $ref: '#/components/schemas/asset'
        amount:
          $ref: '#/components/schemas/amount'
        to:
          $ref: '#/components/schemas/to'
        fee:
          $ref: '#/components/schemas/withdrawal_fee'
        status:
          $ref: '#/components/schemas/withdrawal_status'
        hash:
          $ref: '#/components/schemas/hash'
        confirmations:
          $ref: '#/components/schemas/confirmations'
        required_confirmations:
          $ref: '#/components/schemas/required_confirmations'
        created_timestamp:
          $ref: '#/components/schemas/created_timestamp'
        confirmed_timestamp:
          $ref: '#/components/schemas/confirmed_timestamp'
    more:
      type: boolean
      description: More data available
    Error400:
      title: Error400
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: string
          enum:
            - err
        error:
          $ref: '#/components/schemas/error'
    Error401:
      title: Error401
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: string
          enum:
            - err
        error:
          $ref: '#/components/schemas/error'
    Error429:
      title: Error429
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: string
          enum:
            - err
        error:
          $ref: '#/components/schemas/error'
    Error500:
      title: Error500
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: string
          enum:
            - err
        error:
          $ref: '#/components/schemas/error'
    withdraw_id:
      type: integer
      description: Withdraw ID
    asset:
      type: string
      description: Asset name
      example: USDC
    amount:
      type: string
      description: >-
        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).
      example: '100000000'
    to:
      type: string
      description: Destination address in hex format
      example: '0x1234567890abcdef1234567890abcdef12345678'
    withdrawal_fee:
      type: string
      description: Withdrawal transaction fee in decimalized asset units
      example: '5.00'
    confirmations:
      type: integer
      description: Number of block confirmations
      example: 12
    required_confirmations:
      type: integer
      description: Required number of block confirmations
      example: 12
    created_timestamp:
      type: integer
      description: Creation timestamp in milliseconds
      example: 1767225600000
    confirmed_timestamp:
      type: integer
      description: Confirmation timestamp in milliseconds
      example: 1767225600000
    error:
      type: string
      description: >-
        Error identifier. For domain rejections and transport errors
        (`401`/`404`/`429`/`500`) this is a stable, machine-readable snake_case
        identifier that is part of the API contract and safe to branch on, e.g.
        `insufficient_margin`, `insufficient_balance`, `order_not_found`,
        `reduce_only_invalid`, `unauthorized`, `not_found`. For `400` it is a
        human-readable validation detail whose wording may change. See the Error
        handling guide for the domain identifiers. (Post-only / Fill-or-Kill
        outcomes are order statuses such as `post_only_rejected`, not
        rejections.)
      example: insufficient_margin
  responses:
    Error400Response:
      description: |
        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.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400'
    Error401Response:
      description: >
        Unauthorized — missing or invalid `POLYMARKET-PROXY` /
        `POLYMARKET-SECRET`

        credentials. `error` is `unauthorized`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401'
    Error429Response:
      description: >
        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).
      headers:
        Retry-After:
          description: >
            Whole seconds to wait before retrying. Present only on token-bucket

            rate-limit rejections (`ip_rate_limited` and `action_rate_limited`);
            a

            conservative estimate of when enough capacity will have refilled to

            admit the request. Absent on `open_orders_limit`, which is a
            capacity

            limit, not a rate limit — waiting does not free order slots; cancel

            resting orders or wait for fills instead.
          schema:
            type: integer
            example: 2
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error429'
    Error500Response:
      description: |
        Internal server error. `error` is `internal_error`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error500'
  securitySchemes:
    polymarket_proxy:
      type: apiKey
      name: POLYMARKET-PROXY
      in: header
      description: Proxy address
    polymarket_secret:
      type: apiKey
      name: POLYMARKET-SECRET
      in: header
      description: Correponding proxy secret