# Polymarket 지갑 활동 조회

**API:** Data API

**Endpoint:** `GET /v1/beta/polymarket/activity`

**Tags:** Polymarket

예측 시장 활동을 조회합니다. condition-ID 값으로 시장을 필터링하고, 시간 범위는 start와 end, 페이지네이션은 limit와 offset을 사용하세요. 추가 선택자로 eventId, type, side, sortBy, sortDirection이 있습니다. 성공 응답은 활동 레코드의 최상위 배열입니다.

### 가격 참고

- 과금 기준: 성공한 요청당 고정 원가 기준.
- 참고 요청 추정치: USD 0.012.

참고용 메타데이터일 뿐이며, 계정 견적 또는 보장된 가격 또는 지출 한도가 아닙니다. 리소스 크레딧은 Felo 크레딧이 아닙니다. 최종 청구는 Felo 청구 기록을 따릅니다.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `end` | query | no | integer | 활동 기간의 상한 타임스탬프(에포크 초)입니다. 기본값(현재 시각)을 사용하려면 생략하세요. `end`보다 최신인 행은 제외됩니다. |
| `eventId` | query | no | array | 이벤트 ID를 쉼표로 구분한 목록입니다. market과 상호 배타적입니다. |
| `excludeDepositsWithdrawals` | query | no | boolean, default: true | 입금 및 출금 레코드를 제외합니다. `type`에서 해당 레코드를 요청하더라도 기본값 `true`가 적용되므로, 입금과 출금을 얻으려면 `false`를 전달해야 합니다. |
| `limit` | query | no | integer, default: 100 | 페이지 크기입니다. 최대값을 초과하는 값은 500으로 제한됩니다. |
| `market` | query | no | array | 조건 ID를 쉼표로 구분한 목록입니다. eventId와 상호 배타적입니다. |
| `offset` | query | no | integer, default: 0 | 페이지네이션의 시작 인덱스입니다. 상한을 넘는 요청은 400으로 거부되며(자동으로 제한되지 않음), offset 5000보다 깊은 이력을 읽으려면 `start`/`end` 기간 안에서 페이지를 나누세요. 각 기간에는 자체 offset 예산이 있습니다. |
| `side` | query | no | string, enum: "BUY", "SELL" |  |
| `sortBy` | query | no | string, enum: "TIMESTAMP", "TOKENS", "CASH", default: "TIMESTAMP" |  |
| `sortDirection` | query | no | string, enum: "ASC", "DESC", default: "DESC" | `DESC`(기본값)는 최신 행을 먼저 반환하고, `ASC`는 가장 오래된 행을 먼저 반환합니다. 두 정렬 모두 안정적이므로 동일한 쿼리는 어떤 `limit`/`offset`에서도 같은 행을 반환하며, 페이지가 빈틈이나 중복 없이 이어집니다. |
| `start` | query | no | integer | 활동 기간의 하한 타임스탬프(에포크 초)입니다. 기본 기간(최근 약 3년)을 사용하려면 생략하거나 `0`을 전달하고, 전체 이력을 가져오려면 양수 에포크(예: `1`)를 전달하세요. `sortDirection=ASC`인 경우 `start`를 생략하면 이미 계정 이력의 시작부터 읽습니다(기본 기간 없음). |
| `type` | query | no | array | 포함할 활동 유형을 쉼표로 구분한 목록입니다. DEPOSIT 및 WITHDRAWAL 레코드는 `excludeDepositsWithdrawals=false`도 필요로 합니다. |
| `user` | query | yes | string |  |

## Responses

### 200 — 성공

Headers:
- `X-Request-Id` (string) — Felo 지원팀에 문의할 때 포함할 요청 식별자입니다.

**application/json**

Schema: array

```json
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Response65D835437A58_Activity"
  }
}
```

### 400 — 요청을 처리할 수 없습니다. 요청 매개변수를 확인하세요.

### 401 — 유효한 Felo API 키가 필요합니다.

### 402 — 청구 요건이 충족되지 않아 요청을 진행할 수 없습니다.

### 403 — 이 계정에는 이 작업을 수행할 권한이 없습니다.

### 429 — 요청 또는 지출 한도에 도달했습니다.

### 502 — 서비스가 요청을 완료할 수 없습니다.

### 503 — API 또는 청구 서비스를 일시적으로 사용할 수 없습니다.

### 504 — 요청을 처리하는 동안 서비스 시간이 초과되었습니다.

### default — 오류 응답. 업스트림 패스스루 응답은 공급자 형식을 사용할 수 있습니다.

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response65D835437A58_Activity

`#/components/schemas/Response65D835437A58_Activity`

```json
{
  "type": "object",
  "properties": {
    "proxyWallet": {
      "$ref": "#/components/schemas/Response65D835437A58_Address"
    },
    "timestamp": {
      "type": "integer",
      "format": "int64"
    },
    "conditionId": {
      "$ref": "#/components/schemas/Response65D835437A58_Hash64"
    },
    "type": {
      "type": "string",
      "enum": [
        "TRADE",
        "SPLIT",
        "MERGE",
        "REDEEM",
        "REWARD",
        "CONVERSION",
        "DEPOSIT",
        "WITHDRAWAL",
        "YIELD",
        "MAKER_REBATE",
        "TAKER_REBATE",
        "REFERRAL_REWARD"
      ]
    },
    "size": {
      "type": "number",
      "description": "이 행의 토큰 수량입니다. `REDEEM` 행에서는 이 행의 결과에 대해 소각된 토큰 수이므로 마켓의 양쪽을 상환하면 결합된 단일 행 대신 결과별로 한 행이 반환됩니다."
    },
    "usdcSize": {
      "type": "number",
      "description": "이 행의 USDC 수량입니다. `REDEEM` 행에서는 이 행의 결과에 대한 지급액이며 패배한 결과의 경우 `0`입니다. 한 번의 상환에 속한 행들을 합하면 총 지급액이 됩니다."
    },
    "transactionHash": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "asset": {
      "type": "string",
      "description": "이 행이 참조하는 토큰 ID. `REDEEM` 행에서는 해당 행이 정산하는 토큰으로 채워집니다. 행이 특정 토큰과 관련이 없으면 비어 있습니다."
    },
    "side": {
      "type": "string",
      "enum": [
        "BUY",
        "SELL"
      ]
    },
    "outcomeIndex": {
      "type": "integer",
      "description": "마켓의 `outcomes` 배열에서 이 행 결과의 0부터 시작하는 인덱스이므로 `outcome`은 항상 `outcomes[outcomeIndex]`와 같습니다. `REDEEM` 행에서는 행이 정산하는 결과를 식별하며 마켓의 우승 결과가 아닙니다. `999`는 결과를 확인할 수 없음을 의미하며, 이 경우 `outcome`은 비어 있습니다."
    },
    "title": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "icon": {
      "type": "string",
      "description": "마켓 아트워크. 마켓에 자체 아이콘이 없으면 마켓 이미지, 그다음 상위 이벤트의 아이콘과 이미지로 대체됩니다. `CONVERSION` 행에서는 비어 있습니다."
    },
    "eventSlug": {
      "type": "string"
    },
    "outcome": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "pseudonym": {
      "type": "string"
    },
    "bio": {
      "type": "string"
    },
    "profileImage": {
      "type": "string"
    },
    "profileImageOptimized": {
      "type": "string"
    },
    "isCombo": {
      "type": "boolean",
      "description": "이 행이 조합형(다중 마켓) 포지션의 일부이면 true입니다. 플래그만 해당하며 조합 세부 정보는 여기에 포함되지 않습니다. 행의 conditionId는 조합의 combo_condition_id와 같으며, 이를 /v1/activity/combos 또는 /v1/positions/combos에 market_id로 전달해 레그와 세부 정보를 가져올 수 있습니다. 조합이 아닌 행에서는 생략됩니다."
    }
  }
}
```

### Response65D835437A58_Address

`#/components/schemas/Response65D835437A58_Address`

```json
{
  "type": "string",
  "description": "사용자 프로필 주소(0x 접두사, 16진수 40자)",
  "pattern": "^0x[a-fA-F0-9]{40}$",
  "example": "0x56687bf447db6ffa42ffe2204a05edaa20f55839"
}
```

### Response65D835437A58_Hash64

`#/components/schemas/Response65D835437A58_Hash64`

```json
{
  "type": "string",
  "description": "0x로 시작하는 64자리 16진수 문자열",
  "pattern": "^0x[a-fA-F0-9]{64}$",
  "example": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"
}
```
