Prerequisites
Before splitting, ensure you have:- pUSD balance on Polygon
- pUSD approval for the CTF contract to spend your tokens
- 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
- You approve the CTF contract to spend your pUSD
- You call
splitPosition()with the amount and market details - The CTF contract transfers pUSD from your wallet and mints both outcome tokens
Function Parameters
pUSD (Polymarket USD) contract address:
0xC011a7E12a19f7B1f670d46F03B03f3342E82DFBAlways
0x0000...0000 (32 zero bytes) for Polymarket marketsThe 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
Merge Tokens
Convert token pairs back to pUSD
Trade on Orderbook
Place orders using your newly split tokens