Polymarket Documentation

Access comprehensive documentation for managing deposits and withdrawals on Polymarket.

Docs

How it works:

  1. Submit your Polymarket wallet address
  2. Receive deposit addresses for each blockchain type (EVM, Solana, Bitcoin)
  3. Send assets from any supported chain to the appropriate deposit address
  4. Assets are automatically bridged and swapped to USDC.e on Polygon
  5. USDC.e is credited to your Polymarket wallet for trading

Supported Assets: Use /supported-assets to see all available chains and tokens you can deposit from.

  • Create withdrawal addresses: Generate unique deposit addresses for withdrawing USDC.e from your Polymarket wallet to any supported chain and token.
<Card> **⚠️ Important:** Do not pre-generate withdrawal addresses. Only generate them when you are ready to execute the withdrawal. Each address is configured for a specific destination. </Card>

How it works:

  1. Specify your Polymarket wallet address, destination chain, token, and recipient address
  2. Receive deposit addresses for each blockchain type (EVM, Solana, Bitcoin)
  3. Send USDC.e from your Polymarket wallet to the appropriate deposit address
  4. Funds are automatically bridged and swapped to your desired token
  5. Funds arrive at your destination wallet

Supported Destinations: Use /supported-assets to see all available chains and tokens you can withdraw to.

  • Get a quote: Get an estimated quote for a deposit or withdrawal, including output amounts, checkout time, and a detailed fee breakdown.

Use Cases:

  • Preview fees and estimated output before executing a deposit or withdrawal
  • Compare costs across different token/chain combinations
  • Get the quoteId to reference this specific quote

Notes:

  • Quotes are estimates and actual amounts may vary slightly due to market conditions

  • See /supported-assets for a list of all supported chains and tokens

  • Get supported assets: Retrieve all supported chains and tokens for deposits and withdrawals.

USDC.e on Polygon: Polymarket uses USDC.e (Bridged USDC from Ethereum) on Polygon as the native collateral for all markets. When you deposit assets from other chains, they are automatically bridged and swapped to USDC.e on Polygon. When you withdraw, your USDC.e is bridged and swapped to your desired token on the destination chain.

Minimum Amounts: Each asset has a minCheckoutUsd field indicating the minimum amount required in USD. Make sure your deposit or withdrawal meets this minimum to avoid transaction failures.

  • Get transaction status: Get the transaction status for all deposits and withdrawals associated with a given address.

Usage:

  • Use the deposit address returned from the /deposit or /withdraw endpoint (EVM, SVM, or BTC address)
  • Poll this endpoint to track the progress of your deposits and withdrawals

Status Values:

  • DEPOSIT_DETECTED: Funds detected but not yet processing
  • PROCESSING: Transaction is being routed and swapped
  • ORIGIN_TX_CONFIRMED: Origin transaction has been confirmed on source chain
  • SUBMITTED: Transaction has been submitted to destination chain
  • COMPLETED: Transaction completed successfully
  • FAILED: Transaction encountered an error and did not complete

Notes:

ZIP contents

  1. positions.csv (0+ rows)
  • Columns (in order):
    • conditionId (string): market condition id
    • asset (string): outcome token id (uniquely identifies the position within a market)
    • size (number): tokens, 6 decimals
    • curPrice (number): per-token price/value in USDC, 6 decimals
    • valuationTime (string): RFC3339 UTC timestamp
  1. equity.csv (0 or 1 row)
  • Columns (in order):
    • cashBalance (number): onchain USDC balanceOf(user) using Polygon USDC 0x2791bca1f2de4661ed88a30c99a7a9449aa84174, 6 decimals
    • positionsValue (number): (\sum(\text{size} \times \text{curPrice})) across positions.csv, 6 decimals
    • equity (number): cashBalance + positionsValue, 6 decimals
    • valuationTime (string): RFC3339 UTC timestamp (same snapshot time as positions.csv)

Example positions.csv

conditionId,asset,size,curPrice,valuationTime
0xd007d71fd17b0913b9d7ff198f617caa96a9e4aab1bed7d6f9abd76bb17dd507,65396714035221124737265515219989336303267439172398528294132309725835127126381,90548.087076,0.064500,2026-01-21T18:30:00Z
0x96f6fb6567b5938fc3c2e75f9829d7287340b9581a9c4817b8bc0aff82e1c45f,10057237541929696185971116542487795282113077727880089878027691009747516185940,45666.487374,0.495000,2026-01-21T18:30:00Z

Example equity.csv

cashBalance,positionsValue,equity,valuationTime
125000.000000,28481009.037705,28606009.037705,2026-01-21T18:30:00Z

Optional