GuidesConcepts

Positions and outcome tokens

What a share is, how shares are created and redeemed, and what each one pays when a market resolves.

A position is the shares you hold of one outcome of a market. Shares are ERC-1155 tokens of a conditional tokens contract, and each outcome has its own token ID: the outcome's onChainId.

Collateral and shares

Markets settle in USDT on BNB Chain. USDT there has 18 decimals, and so do shares: an amount of 1000000000000000000 (1018) is 1 USDT or 1 share. The REST API returns share amounts in these units, for example amount in Get positions.

1 USDT always backs one Yes share and one No share. That one fact explains every operation below.

OperationYou giveYou getWhen
Split1 USDT1 Yes share and 1 No shareAny time
Merge1 Yes share and 1 No share1 USDTAny time
TradeUSDT or sharesShares or USDT, from another traderWhile the market trades
RedeemYour sharesTheir payout in USDTAfter resolution

Most traders only trade and redeem. When you buy Yes and another trader buys No, the exchange can split your combined USDT into the two shares. When you sell Yes and another trader sells No, it can merge the two shares back into USDT and pay you both. You don't need to split or merge yourself to trade.

Splitting and merging shares in the product docs shows both operations in the web app.

Payouts

When a market resolves, each share pays out:

ResultEach winning shareEach losing share
Yes wins1 USDT per Yes share0 per No share
No wins1 USDT per No share0 per Yes share
50/500.5 USDT per Yes share0.5 USDT per No share

A 50/50 result happens when a question can't be decided either way. A negative-risk question can't resolve 50/50. It resolves Yes or No, and at most one question of its category resolves Yes.

For example, if you buy 100 Yes shares at 0.40, you pay 40 USDT. If Yes wins, you redeem them for 100 USDT, a profit of 60 USDT. If No wins, they pay nothing and you lose the 40 USDT.

Redeeming has no deadline. See Resolution for when it becomes possible.

Which contract holds your shares

Where your shares live depends on two market fields, isNegRisk and isYieldBearing. The Deployed contracts page lists each contract's address.

MarketShares are held bySplit, merge and redeem go through
BinaryConditionalTokensConditionalTokens
Binary, yield-bearingYieldBearingConditionalTokensYieldBearingConditionalTokens
Negative-riskNegRisk ConditionalTokensNegRiskAdapter
Negative-risk, yield-bearingNegRisk ConditionalTokensYieldBearingNegRiskAdapter

The SDKs pick the right contract for you. See Manage positions for the code.

Binary markets

You call the conditional tokens contract directly, with the market's conditionId:

  • splitPosition(collateralToken, parentCollectionId, conditionId, partition, amount)
  • mergePositions(collateralToken, parentCollectionId, conditionId, partition, amount)
  • redeemPositions(collateralToken, parentCollectionId, conditionId, indexSets)

For a Predict market, collateralToken is USDT, parentCollectionId is 0x0, and partition and indexSets are [1, 2]: Yes and No.

Negative-risk markets

You call the negative-risk adapter, which handles the linked questions for you:

  • splitPosition(conditionId, amount)
  • mergePositions(conditionId, amount)
  • redeemPositions(conditionId, amounts), where amounts is [yesAmount, noAmount]
  • convertPositions(negRiskOnChainId, indexSet, amount), which only negative-risk markets have. negRiskOnChainId is the category's field of that name. See Negative-risk markets.

Yield-bearing markets

In a yield-bearing market (isYieldBearing: true), the USDT backing the shares is deposited into the Venus lending protocol while it is locked. Your shares work the same way as in any other market: each one still splits, merges and redeems 1:1 against USDT. Yields in the product docs explains how the yield is paid out.

Your positions

Get positions returns the positions of the wallet you are logged in with, and Get positions by address those of any wallet. Each position has:

FieldMeaning
market, outcomeThe market and the outcome you hold.
amountYour shares, in units of 10-18.
valueUsdWhat the shares are worth at the current price.
averageBuyPriceUsdThe average price you paid per share.
pnlUsdYour profit or loss: the current value minus what you paid.

On this page