Polymarket
    How-To · Troubleshooting
    Pre-V2 cutover (2026-04-28)

    Why Polymarket's App Shows the Wrong P&L After a Baseball Game Settles (and When to Worry)

    Polymarket money moves through four layers — the app, the Polymarket backend, the Polygon chain, and your USDC wallet. Each can be out of sync for minutes to hours after a game ends. Here is how to tell which layer is wrong, when it fixes itself, and what to do if it doesn't.

    Last verified 2026-04-25. Mechanism claims sourced from docs.polymarket.com; token addresses sourced from polygonscan.com.

    What this page is — and is NOT

    Explains Polymarket's app-display vs on-chain vs wallet sync timing using docs.polymarket.com and polygonscan.com as the only primary sources.
    Not a support ticket. Polymarket support is contacted only through the in-app help center — never via DM.
    Does not recommend wallet-recovery tools, private-key signing services, or any third-party "cashout helper."
    Never names users or echoes community-reported dollar amounts as factual; any dollar figures below are illustrative only.

    30-second plain-English answer

    Polymarket money moves through four layers — the app, the Polymarket backend, the Polygon chain, and your USDC wallet. Each can be out of sync for minutes to hours after a game ends. The app usually catches up on its own. The chain is ground truth — if Polygonscan shows your settlement transaction confirmed, your money is there even when the app temporarily disagrees.

    1. Four layers of your Polymarket money

    Each arrow can be delayed by seconds, minutes, or rarely hours. The app reads from the backend, not the chain. The chain is ground truth. The wallet is what your external tool sees.

    Layer 1

    App UI

    What you see on polymarket.com or in the app — reads from the Polymarket backend, not the chain directly.
    Layer 2

    Polymarket backend

    Caches positions, indexes the chain, computes aggregated P&L columns. Can lag the chain by seconds to minutes.
    Layer 3

    Polygon chain

    Ground truth. Settlement transactions, USDC payouts, and position transfers are recorded here.
    Layer 4

    USDC wallet

    Your external wallet (MetaMask, Rabby, Coinbase Wallet) reading the Polygon USDC token balance — only sees USDC if the token contract is added.
    App UI ──▶ Polymarket backend ──▶ Polygon chain ──▶ USDC wallet

    2. What actually happens when a baseball game ends

    Step-by-step per docs.polymarket.com/polymarket-learn/how-polymarket-works:

    1. 1
      Game ends

      Real-world outcome established (e.g., final inning recorded by MLB).

    2. 2
      UMA OO proposal

      Optimistic Oracle proposer posts proposed resolution on-chain. Typically a few minutes after the real-world event.

      Source: docs.polymarket.com/polymarket-learn/how-polymarket-works/resolution-sources

    3. 3
      Dispute windowPending verification

      Standard markets have a dispute window where any actor can challenge the proposed resolution. Window length is set per-market; verify the specific window for the market in question on docs.polymarket.com.

    4. 4
      Resolution finalized

      If undisputed, the proposed resolution becomes final on-chain at the end of the dispute window.

    5. 5
      Payouts distributed

      USDC payouts are distributed on-chain to position holders' Polymarket-managed addresses.

    6. 6
      App reads + caches

      App UI reads the new chain state and caches it for display. Between step 1 and step 6, the app may show stale, intermediate, or cached numbers — a display-lag, not a lost payout.

    Between step 1 and step 6, the app may show a pre-settlement mark, a stale cached position value, or an intermediate "wonky" number. That is usually a display-lag, not a lost payout.

    3. Why your P&L can read "negative" after a win

    Three explanations using the four-layer model. Illustrative example: you bought 100 Yes contracts at 62¢ for $62 total. Yes settles at $1 → expected payout $38 (61% return). The app may briefly show a different number for any of the reasons below.

    Multiple positions settled at once

    Net P&L column may be computed differently from realized-cash column. Aggregated views can show a negative net while individual settled positions are positive.

    Open positions still mark against current mid-price

    While settled positions show realized cash, any still-open positions are marked-to-market against current mid-price — which can swing.

    Display-sync lag

    App UI reads a cached snapshot from the backend, which lags the on-chain state. Some users report the display corrects on its own within minutes to hours; if docs.polymarket.com does not document this verbatim, treat the auto-correct behavior as a community-reported pattern, not a guarantee.
    Display-sync softer phrasing. Some users report that the display corrects on its own within minutes to hours after settlement. We do not assert this as a guaranteed Polymarket behavior — docs.polymarket.com does not document an automatic display-correction window verbatim at the time of writing. If the discrepancy persists after the dispute window closes and the on-chain settlement transaction has confirmed, contact support through the in-app help center.

    4. "I cashed out and my wallet balance didn't update"

    Distinguish two cases — and never paste a contract address from a Reddit comment or Discord DM.

    Case 1: Polymarket app shows the right balance, your external wallet doesn't

    Reason: your external wallet (MetaMask / Rabby / Coinbase Wallet) hasn't been told about the Polygon USDC token contract. Add the verified contract from §5 below. Verify on polygonscan.com first.

    Case 2: Polymarket app itself shows balance unchanged ~>1h after cashout

    This is the ledger-display pattern from §3. Verify your transaction confirmed on Polygonscan, then contact support through the in-app help center only. Anyone who DMs you offering "expedited cashout" or "wallet recovery" is an impostor.

    5. Adding the USDC token contract to your wallet

    Polymarket has historically settled positions in USDC.e (bridged) on Polygon. Native Circle-issued USDC on Polygon is a distinct contract. Check your settlement transaction on Polygonscan to see which one your payout was sent to, and add that exact contract.

    USDC.e (bridged USDC on Polygon)

    Contract
    0x2791bca1f2de4661ed88a30c99a7a9449aa84174
    Symbol
    USDC.e
    Decimals
    6
    Network
    Polygon (chainId 137)

    Historically the contract Polymarket positions settled into pre-V2.

    Verify: polygonscan.com/token/0x2791bca1f2de4661ed88a30c99a7a9449aa84174

    USDC (native Circle-issued on Polygon)

    Contract
    0x3c499c542cef5e3811e1192ce70d8cc03d5c3359
    Symbol
    USDC
    Decimals
    6
    Network
    Polygon (chainId 137)

    Native Circle-issued USDC on Polygon; distinct contract from USDC.e bridged.

    Verify: polygonscan.com/token/0x3c499c542cef5e3811e1192ce70d8cc03d5c3359

    Post-V2 settlement tokenPending V2 docs verification

    Polymarket V2 cutover (Apr 28) may change which USDC contract positions settle into. Re-verify against docs.polymarket.com/v2-migration before claiming a specific contract address post-cutover.
    Step-by-step "import token" flows for MetaMask, Rabby, and Coinbase Wallet are functionally identical — switch to the Polygon network, open the token list, paste the contract address you verified above on Polygonscan. Never paste a contract from a Reddit comment, Discord DM, or random search result. No third-party "claim bot" links. No private-key signing of unknown contracts.

    6. Is it a bug, or am I misreading the app?

    • Has the UMA OO dispute window for this market closed?
      Check market page on polymarket.com → Resolution section.
    • Did your cashout / settlement transaction confirm on Polygon?
      Look up your wallet on polygonscan.com → Transactions tab.
    • Does the Polymarket Activity tab show the market as Resolved?
      polymarket.com → Portfolio → Activity.
    • Is your external wallet's token list showing USDC on Polygon (not Ethereum mainnet USDC)?
      MetaMask / Rabby / Coinbase Wallet → switch to Polygon network → Tokens.

    If three of four check out and the balance is still off after the dispute window closes, contact Polymarket support through the in-app help center only.

    7. How to contact Polymarket support

    Polymarket support will not DM you first on Discord, Telegram, X, Reddit, or email. Anyone who DMs you offering 'recovery,' 'unlock,' or 'expedited cashout' is an impostor.

    Reach support only through the in-app help center on polymarket.com. Read the full impostor-DM playbook: Polymarket Support Will Never DM You First →

    8. V2 cutover context

    Polymarket V2 cutover at ~11:00 UTC Apr 28. May change settlement-flow steps, USDC token surface, and dispute-window mechanics. Re-fetch docs.polymarket.com/v2-migration before relying on any post-cutover behavior described above.

    Read the V2 cutover overview: What Changes With Polymarket V2 on April 22 →

    FAQ

    Primary sources

    • docs.polymarket.com/polymarket-learn/how-polymarket-works/resolution-sources
      Settlement flow + UMA OO
    • docs.polymarket.com/v2-migration
      V2 cutover behavior
    • docs.polymarket.com/changelog
      Recent changes to app display vs on-chain state
    • polygonscan.com/token/0x2791bca1f2de4661ed88a30c99a7a9449aa84174
      USDC.e bridged contract verification
    • polygonscan.com/token/0x3c499c542cef5e3811e1192ce70d8cc03d5c3359
      USDC native Polygon contract verification

    20 domains are explicitly banned as primary sources for this page (crypto-press affiliate-farm surfaces). Mechanism claims cite Polymarket docs only; token addresses cite Polygonscan only.

    Editorial restraint contract

    Cite docs.polymarket.com verbatim for every mechanism claim. Crypto-press is not a primary source for Polymarket mechanism.
    Illustrative dollar amounts are framed as illustrative — never claims about a specific user's win or loss.
    Never name Reddit users from the source pattern (Fly-iggles-fly, DJWetAndMessy, RACE_CAR_YA_YA, SignalZero556, chickenmoody, WholeAntelope3933).
    No third-party wallet-recovery tools, private-key signing services, or 'cashout helper' apps recommended. Ever.
    Never recommend users DM anyone claiming to be support. Reciprocal link to the impostor-DM page is the only support-contact framing.
    Distinguish display-lag from lost funds. Never assert lost funds without on-chain transaction verification.
    No 'Polymarket is buggy' framing. Describe the four-layer model and let the reader decide.
    USDC contract addresses are platform records values — sourced from polygonscan.com only, never from a Discord post or aggregator.
    Tier-1 narrative-frame shifts (Polymarket changes settlement flow post-V2, Circle reissues a native Polygon USDC) get recorded in narrativeShifts[], not baked into row rewrites.
    Re-fetch docs.polymarket.com/changelog + /v2-migration on every session that touches this page; update _meta.lastVerified on pass.

    Update log

    DateNote
    2026-04-25Initial ship — sibling to /why-is-my-prediction-market-pl-wrong umbrella, pre-V2-cutover indexability window.

    Primary sources only: docs.polymarket.com (mechanism), polygonscan.com (token contracts). Crypto-press (CoinDesk, Decrypt, TheBlock, DefiRate) BANNED for mechanism claims.