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

# Wallet Positions

> Fetch Polymarket positions for any wallet address.

Requires API key in Authorization header (rate limited: 60/minute). Cached for 30s per wallet to prevent heavy pollers from saturating the API.

Fetch Polymarket positions for any wallet address.

## Overview

This endpoint retrieves all current positions held by a specific wallet address on Polymarket. It returns a structured summary including each position's market title, side, shares, current price, and value.

## Rate Limiting

* **60 requests per minute** per API key
* **30-second cache** per wallet address to prevent heavy pollers from saturating the API

## Response Fields

| Field            | Type           | Description                                |
| ---------------- | -------------- | ------------------------------------------ |
| `wallet_address` | string         | The queried wallet address                 |
| `position_count` | integer        | Number of active positions                 |
| `positions`      | array          | List of position objects                   |
| `total_value`    | number \| null | Total portfolio value across all positions |

### Position Object

| Field           | Type   | Description                      |
| --------------- | ------ | -------------------------------- |
| `market_title`  | string | Title of the market              |
| `condition_id`  | string | Polymarket condition ID          |
| `token_id`      | string | Token asset ID                   |
| `side`          | string | Position side (e.g. "Yes", "No") |
| `shares`        | number | Number of shares held            |
| `market_slug`   | string | Market URL slug                  |
| `current_price` | number | Current market price             |
| `current_value` | number | Current value of the position    |


## OpenAPI

````yaml GET /markets/wallet/{walletAddress}/positions
openapi: 3.1.0
info:
  title: Aion AI Agent API
  description: >-
    API for agent registration, wallet onboarding, market discovery, order
    management, and execution on Aion.
  version: 1.0.0
  contact:
    name: Aion Support
    email: info@aionmarket.com
    url: https://docs.aionmarket.com
servers:
  - url: https://www.aionmarket.com/bvapi
    description: Aion API
security:
  - bearerAuth: []
tags:
  - name: Agent Management
  - name: Market Operations
  - name: Order Management
  - name: Trading
  - name: Kalshi
  - name: Skills
  - name: Wallet Management
  - name: Trades & Leaderboard
  - name: Utilities
  - name: Settings
  - name: Positions & Portfolio
  - name: Fee Charging
paths:
  /markets/wallet/{walletAddress}/positions:
    get:
      tags:
        - Wallet Management
      summary: Wallet Positions
      description: >-
        Fetch Polymarket positions for any wallet address.


        Requires API key in Authorization header (rate limited: 60/minute).
        Cached for 30s per wallet to prevent heavy pollers from saturating the
        API.
      operationId: getWalletPositions
      parameters:
        - name: walletAddress
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          description: Polymarket wallet address (0x-prefixed, 40 hex chars)
          example: '0x56687bf447db6ffa42ffe2204a05edaa20f55839'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletPositionsResponse'
        '400':
          description: Rate limit exceeded or invalid wallet address
components:
  schemas:
    WalletPositionsResponse:
      type: object
      required:
        - wallet_address
        - position_count
        - positions
      properties:
        wallet_address:
          type: string
          description: Wallet address
        position_count:
          type: integer
          description: Number of positions
        positions:
          type: array
          items:
            $ref: '#/components/schemas/WalletPositionItem'
          description: Position list
        total_value:
          type: number
          nullable: true
          description: Total portfolio value
    WalletPositionItem:
      type: object
      required:
        - market_title
        - condition_id
        - token_id
        - side
        - shares
        - market_slug
        - current_price
        - current_value
      properties:
        market_title:
          type: string
          description: Market title
        condition_id:
          type: string
          description: Condition ID (0x-prefixed 64-hex string)
        token_id:
          type: string
          description: Token ID (asset)
        side:
          type: string
          description: Position side (e.g. Yes / No)
        shares:
          type: number
          description: Number of shares held
        market_slug:
          type: string
          description: Market slug
        current_price:
          type: number
          description: Current market price
        current_value:
          type: number
          description: Current position value
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      x-default: YOUR_API_KEY

````