Skip to main content
GET
Reference example
Get one wallet’s on-chain Polymarket activity — a per-address lookup, not a market-wide trade feed. The user parameter is required. Use it to reconstruct what a specific trader did — position splits, merges and redemptions, with size, price, and the transaction that settled them; narrow further with market_slug, condition_id, and the start_time / end_time Unix-second range. Returns activities[] with side (MERGE / SPLIT / REDEEM), market_slug, condition_id, shares, price, timestamp, and tx_hash, plus a pagination object whose key you pass back as pagination_key. For market-wide prices rather than one wallet’s history, use get_polymarket_markets.
First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. Your agent then reaches every endpoint through five tools: search, list_categories and get_details are free, use and batch_use are billed per call. Setup per client is in Connect via MCP; the live tool list and what each call costs are on aisa.one/mcp.
Set this endpoint up in your agent →

Cost and request rules

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.012
  • Cost contract: fixed_success
  • Settlement evidence source: request_snapshot

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

end
integer

Upper-bound timestamp (epoch seconds) for the activity window. Omit for the default (current time); rows newer than end are excluded.

Required range: x >= 0
eventId
integer[]

Comma-separated list of event IDs. Mutually exclusive with market.

Required range: x >= 1
excludeDepositsWithdrawals
boolean
default:true

Excludes deposit and withdrawal records. The default true applies even when type requests those records, so to get deposits and withdrawals you must pass false.

limit
integer
default:100

Page size. Values above the maximum are clamped to 500.

Required range: 0 <= x <= 500
market
string[]

Comma-separated list of condition IDs. Mutually exclusive with eventId.

0x-prefixed 64-hex string

Pattern: ^0x[a-fA-F0-9]{64}$
offset
integer
default:0

Starting index for pagination. Requests past the cap are rejected with a 400 (never silently clamped). To read history deeper than offset 5000, page inside start/end windows — each window has its own offset budget.

Required range: 0 <= x <= 5000
side
enum<string>
Available options:
BUY,
SELL
sortBy
enum<string>
default:TIMESTAMP
Available options:
TIMESTAMP,
TOKENS,
CASH
sortDirection
enum<string>
default:DESC

DESC (default) returns the newest rows first; ASC the oldest first. Both orders are stable — the same query returns the same rows at any limit/offset, so pages compose without gaps or repeats.

Available options:
ASC,
DESC
start
integer

Lower-bound timestamp (epoch seconds) for the activity window. Omit or pass 0 for the default window (most recent ~3 years); pass a positive epoch (e.g. 1) to retrieve full history. With sortDirection=ASC, omitting start already reads from the beginning of the account's history (no default window).

Required range: x >= 0
type
enum<string>[]

Comma-separated list of activity types to include. DEPOSIT and WITHDRAWAL records also require excludeDepositsWithdrawals=false.

Available options:
TRADE,
SPLIT,
MERGE,
REDEEM,
REWARD,
CONVERSION,
DEPOSIT,
WITHDRAWAL,
YIELD,
MAKER_REBATE,
TAKER_REBATE,
REFERRAL_REWARD
user
string
required

User Profile Address (0x-prefixed, 40 hex chars)

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0x56687bf447db6ffa42ffe2204a05edaa20f55839"

Response

Success

proxyWallet
string

User Profile Address (0x-prefixed, 40 hex chars)

Pattern: ^0x[a-fA-F0-9]{40}$
Example:

"0x56687bf447db6ffa42ffe2204a05edaa20f55839"

timestamp
integer<int64>
conditionId
string

0x-prefixed 64-hex string

Pattern: ^0x[a-fA-F0-9]{64}$
Example:

"0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"

type
enum<string>
Available options:
TRADE,
SPLIT,
MERGE,
REDEEM,
REWARD,
CONVERSION,
DEPOSIT,
WITHDRAWAL,
YIELD,
MAKER_REBATE,
TAKER_REBATE,
REFERRAL_REWARD
size
number

Token amount for this row. On REDEEM rows it is the number of tokens burned for this row's outcome, so redeeming both sides of a market returns one row per outcome instead of a single combined row.

usdcSize
number

USDC amount for this row. On REDEEM rows it is the payout for this row's outcome and is 0 for a losing outcome; the rows of one redemption sum to the total payout.

transactionHash
string
price
number
asset
string

Token ID this row refers to. Populated on REDEEM rows with the token that row settles. Empty when the row is not token-specific.

side
enum<string>
Available options:
BUY,
SELL
outcomeIndex
integer

Zero-based index of this row's outcome in the market's outcomes array, so outcome always equals outcomes[outcomeIndex]. On REDEEM rows it identifies the outcome the row settles, not the market's winning outcome. 999 means the outcome could not be determined, in which case outcome is empty.

title
string
slug
string
icon
string

Market artwork. Falls back to the market image, then to the parent event's icon and image, when the market has no icon of its own. Empty on CONVERSION rows.

eventSlug
string
outcome
string
name
string
pseudonym
string
bio
string
profileImage
string
profileImageOptimized
string
isCombo
boolean

True when this row is part of a combinatorial (multi-market) position. Flag only — combo detail is not embedded here. The row's conditionId equals the combo's combo_condition_id; pass it to /v1/activity/combos or /v1/positions/combos via market_id to fetch legs and detail. Omitted on non-combo rows.