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

# Neg Risk Smart Money Position

> Neg-risk (multi-outcome) smart-money wallet positions for a single market.



## OpenAPI

````yaml /openapi.json post /api/v1/smart-money/neg-risk/positions
openapi: 3.0.3
info:
  title: DataDash Analytics API
  version: 1.0.0
servers: []
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /api/v1/smart-money/neg-risk/positions:
    post:
      tags:
        - Smart Money
      summary: Neg Risk Smart Money Position
      description: >-
        Neg-risk (multi-outcome) smart-money wallet positions for a single
        market.
      operationId: listSmartMoneyNegRiskPositions
      requestBody:
        content:
          application/json:
            schema:
              properties:
                filter:
                  $ref: '#/components/schemas/NegRiskSmartMoneyPositionFilter'
                orderBy:
                  description: >-
                    Sort keys in priority order; the first is the primary sort.
                    Defaults to the table's configured ranking when omitted.
                  items:
                    properties:
                      direction:
                        default: asc
                        enum:
                          - asc
                          - desc
                        type: string
                      field:
                        enum:
                          - userId
                          - netShares
                          - currentValue
                          - entryPrice
                          - unrealizedPnl
                          - unrealizedPnlPercentage
                          - side
                          - atRisk
                        type: string
                    required:
                      - field
                    type: object
                  type: array
                page:
                  $ref: '#/components/schemas/PageInput'
              required:
                - page
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/NegRiskSmartMoneyPositionRow'
                type: array
          description: List of Neg Risk Smart Money Position rows
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: >-
            invalid request (malformed body, unknown field, or failed
            validation)
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: missing or invalid credentials
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: credentials lack access to this resource
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: internal error
components:
  schemas:
    NegRiskSmartMoneyPositionFilter:
      description: Filters to apply, combined with AND. Use a group for OR.
      items:
        $ref: '#/components/schemas/NegRiskSmartMoneyPositionFilterNode'
      minItems: 1
      type: array
    PageInput:
      properties:
        limit:
          minimum: 1
          type: integer
        offset:
          minimum: 0
          type: integer
      required:
        - limit
      type: object
    NegRiskSmartMoneyPositionRow:
      properties:
        atRisk:
          description: >-
            Dollars the wallet truly has at risk on this leg, entry-cost buy
            dollars after canonicalization (never current value)
          format: double
          title: At Risk
          type: number
        currentValue:
          description: >-
            Current USD value of the wallet's side, Yes side at the target
            market's live price; No side is the field legs valued at their own
            markets' live prices
          format: double
          title: Current Value
          type: number
        entryPrice:
          description: >-
            Average entry price of the side, at-risk buy cost divided by the
            share count, with cost attributed through the neg-risk conversion by
            current price
          format: double
          title: Entry Price
          type: number
        netShares:
          description: >-
            The wallet's true share count on the leg's side after per-wallet
            canonicalization (e' = e − min(e)), Yes side is canonical Yes shares
            on the target market; No side is the wallet's field shares in
            synthetic NO-equivalent units.
          format: double
          title: Net Shares
          type: number
        side:
          description: >-
            Which side of the target market this leg backs, 'yes' (the wallet's
            true bet on the outcome) or 'no' (its at-risk money on the rivals).
            Filter by this to render the Yes and No holder columns.
          title: Side
          type: string
        unrealizedPnl:
          description: >-
            Unrealized profit/loss on the side, current value minus at-risk buy
            cost
          format: double
          title: Open PnL
          type: number
        unrealizedPnlPercentage:
          description: Unrealized profit/loss as a percentage of the net shares' buy cost
          format: double
          title: Open PnL Percentage
          type: number
        userId:
          description: User wallet address
          title: Wallet
          type: string
      type: object
    Error:
      properties:
        code:
          description: machine-readable error code
          type: string
        message:
          description: human-readable description
          type: string
      required:
        - code
        - message
      type: object
    NegRiskSmartMoneyPositionFilterNode:
      description: A single condition, or a group combining conditions with AND/OR.
      oneOf:
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionCondition'
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionFilterGroup'
    NegRiskSmartMoneyPositionCondition:
      description: >-
        A single field condition. in/notIn take an array of values;
        matches/notMatches take one search term.
      oneOf:
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionNumericCondition'
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionTextCondition'
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionAddressCondition'
        - $ref: '#/components/schemas/NegRiskSmartMoneyPositionBooleanCondition'
    NegRiskSmartMoneyPositionFilterGroup:
      description: >-
        A group of conditions and nested groups, combined with the group's
        operator.
      properties:
        filters:
          items:
            oneOf:
              - $ref: '#/components/schemas/NegRiskSmartMoneyPositionCondition'
              - $ref: '#/components/schemas/NegRiskSmartMoneyPositionFilterInnerGroup'
          minItems: 1
          type: array
        operator:
          enum:
            - AND
            - OR
          type: string
      required:
        - operator
        - filters
      type: object
    NegRiskSmartMoneyPositionNumericCondition:
      properties:
        field:
          enum:
            - netShares
            - currentValue
            - entryPrice
            - unrealizedPnl
            - unrealizedPnlPercentage
            - userRank
            - atRisk
          type: string
        operator:
          enum:
            - eq
            - neq
            - lt
            - lte
            - gt
            - gte
          type: string
        value:
          oneOf:
            - format: double
              type: number
            - items:
                format: double
                type: number
              minItems: 1
              type: array
      required:
        - field
        - operator
        - value
      type: object
    NegRiskSmartMoneyPositionTextCondition:
      properties:
        field:
          enum:
            - side
          type: string
        operator:
          enum:
            - in
            - notIn
            - matches
            - notMatches
          type: string
        value:
          oneOf:
            - type: string
            - items:
                type: string
              minItems: 1
              type: array
      required:
        - field
        - operator
        - value
      type: object
    NegRiskSmartMoneyPositionAddressCondition:
      description: inCohort/notInCohort take cohort ids instead of addresses.
      properties:
        field:
          enum:
            - userId
          type: string
        operator:
          enum:
            - in
            - notIn
            - matches
            - notMatches
            - inCohort
            - notInCohort
          type: string
        value:
          oneOf:
            - type: string
            - items:
                type: string
              minItems: 1
              type: array
      required:
        - field
        - operator
        - value
      type: object
    NegRiskSmartMoneyPositionBooleanCondition:
      properties:
        field:
          enum:
            - inSignals
          type: string
        operator:
          enum:
            - eq
          type: string
        value:
          type: boolean
      required:
        - field
        - operator
        - value
      type: object
    NegRiskSmartMoneyPositionFilterInnerGroup:
      description: >-
        A nested group. Its members must be conditions, which bounds grouping at
        two levels.
      properties:
        filters:
          items:
            $ref: '#/components/schemas/NegRiskSmartMoneyPositionCondition'
          minItems: 1
          type: array
        operator:
          enum:
            - AND
            - OR
          type: string
      required:
        - operator
        - filters
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: API key issued for programmatic access.
      in: header
      name: X-Api-Key
      type: apiKey
    BearerAuth:
      bearerFormat: JWT
      description: User access token.
      scheme: bearer
      type: http

````