ThisCalculator

Everyday

Polymarket: Check New vs Legacy Exchange Contract

Updated · Standard formula, shown below

Polymarket: Check New vs Legacy Exchange Contract

This guide explains how to determine whether a specific Polymarket trade was executed on the new exchange contract (introduced after the protocol upgrade) or the legacy exchange contract. You will need the transaction hash (tx hash) of the trade and access to a block explorer like Etherscan. By the end, you will be able to identify the contract address involved and classify it correctly.

What You’ll Need

  • The transaction hash (tx hash) of the Polymarket trade you want to check.
  • Access to a block explorer that supports Polygon (Polymarket runs on Polygon PoS). Etherscan’s Polygon fork (Polygonscan) is the most common choice.
  • A basic understanding of how to read a transaction’s “To” field.

Step-by-Step

  1. Open the block explorer. Go to polygonscan.com (or the equivalent Polygon explorer you trust).
  2. Paste the transaction hash. In the search bar at the top, paste the full tx hash (it usually starts with “0x”). Press Enter.
  3. Locate the “To” field. On the transaction details page, scroll down to the “To” field. This shows the contract address that the transaction was sent to. It will be a long string starting with “0x”.
  4. Copy the “To” address. Click the copy icon next to the address to copy it to your clipboard.
  5. Compare against known contract addresses. The following are the canonical Polymarket exchange contract addresses on Polygon:
    • New Exchange Contract: 0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E (also known as the CTF Exchange).
    • Legacy Exchange Contract: 0xC5d563A36AE78145C45a50134d48A1215220f80a (also known as the old CTF Exchange).
  6. Match the address. If the “To” address matches the new exchange contract, your trade used the new exchange. If it matches the legacy contract, it used the legacy exchange. If it matches neither, the transaction may not be a direct Polymarket exchange trade (e.g., it could be a deposit to a proxy wallet or a CTF token transfer).

Common Mistakes

  • Checking the wrong chain. Polymarket trades happen on Polygon, not Ethereum mainnet. If you paste the tx hash into Etherscan (Ethereum mainnet), you will get an error or a different transaction.
  • Looking at the “From” field. The “From” field is your wallet address, not the contract. Always use the “To” field.
  • Using an outdated list of addresses. The addresses above are current as of this writing. If Polymarket ever migrates again, the list may change. Always verify against the official Polymarket docs or a trusted source.
  • Confusing the exchange contract with the token contract. The exchange contract is the one that executes trades. The token contract (for the CTF tokens themselves) is different and often appears in “Internal Transactions” or as the token address.

Tips

  • Bookmark the two contract addresses in your browser for quick reference.
  • If you use a wallet like MetaMask, you can also check the “Activity” tab and click on the transaction, then “View on block explorer” – it will take you straight to the correct page.
  • For bulk checks, you can use a script to query the Polygon RPC and filter logs for the exchange contract address.
  • Remember that the new exchange contract has been active since the protocol upgrade in 2023. Trades before that date are almost certainly legacy.

Troubleshooting

I don’t have the tx hash. If you only have the trade ID from Polymarket’s UI, you can’t directly get the tx hash from the UI. You can try searching for your wallet address on Polygonscan and looking at the transaction list, but this is tedious. Better to export your trade history from Polymarket (they offer a CSV export) which includes the tx hash.

The “To” address doesn’t match either. This can happen if the trade was executed through a proxy contract or a relayer. In that case, look at the “Internal Transactions” tab (on Polygonscan) and find the call that goes to the exchange contract. That internal call’s “To” will be the exchange address.

The transaction shows as “Failed”. A failed transaction might still have a “To” address, but it means the trade did not execute. The contract address is still valid for classification, but the trade itself was not successful.

Polygonscan is down or slow. You can use any Polygon RPC provider with a block explorer frontend, such as the one from Alchemy or Infura, but Polygonscan is the most user-friendly.

Frequently Asked Questions

Q: Why does it matter if a trade used the new or legacy contract?
A: The two contracts have different fee structures, order matching logic, and security features. Some historical data or analytics tools may also separate them for accounting purposes.

Q: Are the contract addresses the same on Ethereum mainnet?
A: No. Polymarket is deployed on Polygon PoS. The addresses on Ethereum mainnet would be different (if any exist), but all trading happens on Polygon.

Q: Can I check a trade that I made before the upgrade?
A: Yes, the legacy contract address will show up for those trades. As long as you have the tx hash, you can verify it.

Q: Is there a way to check without a block explorer?
A: You could use the Polygon API directly (e.g., eth_getTransactionByHash) with a tool like curl, but that requires technical knowledge. The block explorer is the easiest.

Q: What if the trade was made through a smart wallet (e.g., Gnosis Safe)?
A: The “To” field will show the smart wallet contract, not the exchange. You’ll need to look at the internal transactions to find the call to the exchange contract.

Q: Does the new contract have a different name on Polygonscan?
A: Polygonscan often labels contracts with a name if they’ve been verified. The new exchange is usually labeled “Polymarket CTF Exchange” and the legacy one “Polymarket CTF Exchange (old)” or similar. The labels can vary, so rely on the address.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.