Files
PolymarketDocumentation/docs/developers/CTF/split.md
T

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

Split Tokens

Convert pUSD into outcome token pairs

Splitting converts pUSD collateral into a full (position) set of outcome tokens. For every $1 pUSD you split, you receive 1 Yes token and 1 No token.

$100 pUSD → 100 Yes tokens + 100 No tokens

Prerequisites

Before splitting, ensure you have:

  1. pUSD balance on Polygon
  2. pUSD approval for the CTF contract to spend your tokens
  3. Condition ID of the market — the condition must already be prepared on the CTF contract (via prepareCondition)
If the partition is trivial, invalid, or refers to more slots than the condition is prepared with, the transaction will revert.

How It Works

  1. You approve the CTF contract to spend your pUSD
  2. You call splitPosition() with the amount and market details
  3. The CTF contract transfers pUSD from your wallet and mints both outcome tokens

The operation is atomic — if any step fails, the entire transaction reverts.

Function Parameters

pUSD (Polymarket USD) contract address: `0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB` Always `0x0000...0000` (32 zero bytes) for Polymarket markets The market's condition ID, available from the Markets API Array of index sets: `[1, 2]` for binary markets (Yes = 1, No = 2) The amount of collateral or stake to split. Also the number of full sets to receive.

Next Steps

Convert token pairs back to pUSD Place orders using your newly split tokens