> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polynode.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Position Split Event

> Collateral split into outcome tokens on Polymarket.

Emitted when collateral (USDC) is split into outcome tokens (YES/NO shares) via the Conditional Tokens Framework `splitPosition` function.

99%+ of splits happen as part of trade execution. This event provides supplementary data: how much collateral was split and into which market condition.

```json theme={null}
{
  "data": {
    "amount": 5.190306,
    "block_number": 84090704,
    "collateral_token": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174",
    "condition_id": "0xab3eea0d5b61cd443affca5fcd19d3541e92f7c96f7e92111982fbcbff56bb55",
    "event_title": "Bitcoin Up or Down - March 12, 3:40AM-3:45AM ET",
    "event_type": "position_split",
    "log_index": 763,
    "market_image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/BTC+fullsize.png",
    "market_slug": "btc-updown-5m-1773301200",
    "market_title": "Bitcoin Up or Down - March 12, 3:40AM-3:45AM ET",
    "neg_risk": false,
    "stakeholder": "0x4bfb41d5b3570defd03c39a9a4d8de6bd8b8982e",
    "taker_base_fee": 1000.0,
    "tick_size": 0.01,
    "timestamp": 1773301441000,
    "tokens": {
      "47635040450827094965464370243227927750353541381049355332417378831540287352201": "Up",
      "57924371746740845060329991315866785058480643549619724503463886953768356812176": "Down"
    },
    "tx_hash": "0x74dbde22f31ce8dcbc5b3c187c33cd131d9bb5791874e139b41c1049ae3589fc"
  },
  "timestamp": 1773301441000,
  "type": "position_split"
}
```

## Fields

<ResponseField name="type" type="string" required>
  Always `"position_split"`.
</ResponseField>

<ResponseField name="timestamp" type="number" required>
  Block timestamp in Unix milliseconds.
</ResponseField>

<ResponseField name="data" type="object" required>
  <Expandable title="data fields">
    <ResponseField name="tx_hash" type="string" required>
      Transaction hash.
    </ResponseField>

    <ResponseField name="block_number" type="number" required>
      Block number.
    </ResponseField>

    <ResponseField name="log_index" type="number" required>
      Log index within the transaction.
    </ResponseField>

    <ResponseField name="timestamp" type="number" required>
      Block timestamp in Unix milliseconds.
    </ResponseField>

    <ResponseField name="stakeholder" type="string" required>
      Address that triggered the split (usually the exchange contract, sometimes a direct user).
    </ResponseField>

    <ResponseField name="collateral_token" type="string" required>
      Collateral token address. USDC.e (`0x2791bca1f2de4661ed88a30c99a7a9449aa84174`) for standard markets, wrapped collateral (`0x3a3bd7bb...`) for neg\_risk markets.
    </ResponseField>

    <ResponseField name="condition_id" type="string" required>
      Market condition ID — identifies which market's outcome tokens were minted.
    </ResponseField>

    <ResponseField name="amount" type="number" required>
      USDC amount that was split into outcome tokens (6 decimal precision).
    </ResponseField>

    <ResponseField name="market_title" type="string">
      Human-readable market question. Populated when metadata is available.
    </ResponseField>

    <ResponseField name="market_slug" type="string">
      URL slug for the market.
    </ResponseField>

    <ResponseField name="market_image" type="string">
      Market image URL. Enriched from metadata.
    </ResponseField>

    <ResponseField name="event_title" type="string">
      Parent event title. Enriched from metadata.
    </ResponseField>

    <ResponseField name="neg_risk" type="boolean">
      Whether this market uses the negRisk contract type. Enriched from metadata.
    </ResponseField>

    <ResponseField name="tick_size" type="number">
      Minimum price increment (e.g. `0.01` or `0.001`). Enriched from metadata.
    </ResponseField>

    <ResponseField name="taker_base_fee" type="number">
      Taker fee rate in basis points. `200` = 2%, `1000` = 10%, `null` = no fee. Short-term crypto markets (5-minute ETH/BTC) typically have `1000` (10%), while standard markets have `200` (2%). Enriched from Polymarket metadata.
    </ResponseField>

    <ResponseField name="tokens" type="object">
      Map of token ID → outcome name for all outcomes in this market. Enriched from metadata.
    </ResponseField>
  </Expandable>
</ResponseField>

## Use cases

* **Collateral flow analysis** — track how much USDC is being converted into outcome tokens
* **Market liquidity creation** — splits indicate new shares being minted for a market
* **Trade enrichment** — pair with `trade` events to see the full lifecycle of a trade (split → fill)

<Note>
  Not included in `global` firehose (full data stream) by default due to high volume (splits fire on most trades). Subscribe explicitly with `event_types: ["position_split"]` or use the `wallets`/`markets` subscription types which include it automatically.
</Note>
