---
title: "Imported theses by a tracked trader"
method: GET
path: "/v2/social/traders/{trader_profile_id}/history"
tags: ["Social Community"]
---

# Imported theses by a tracked trader

`GET /v2/social/traders/{trader_profile_id}/history`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v2/social/traders/{trader_profile_id}/history`
- Auth: HTTP bearer

Authenticated person history for a tracked Fomo/Pump trader: the theses they published across every token, newest first by the time Arbital observed them at the provider, each at its latest revision. Items use the same thesis shape and kind/source tags as the token discussion history, so clients can merge them with a CALLD profile's comments. source filters by platform. cursor is bound to this trader and pages on (observed_at_ms, sequence). 404 when no Fomo/Pump account maps to the profile id. Private/no-store; shares the asset comment read budget.

## Path parameters

- `trader_profile_id` string, uuid, required

## Query parameters

- `cursor` string
- `limit` integer
- `source` 'fomo' | 'pump'

## Response `200`

The trader's imported theses, newest first

- SocialTraderHistoryPage: Person history for a tracked trader: imported theses only. A CALLD profile's comments come from the profile comments read; the two lists share kind/source tags.
  - `items` SocialAssetHistoryThesis[], required
    - `asset` object, required: The exact canonical token this item belongs to.
      - `address` string, required
      - `chain_id` 'solana:mainnet-beta' | 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
    - `id` string, required: The durable social feed eventId.
    - `kind` 'thesis', required
    - `observed_at_ms` string, required: When Arbital observed the thesis at the provider, in Unix milliseconds.
    - `posted_at_ms` string, nullable, required: When the author published the thesis at the provider, in Unix milliseconds; null when the provider did not report it. Kept separate from observed_at_ms, which is when Arbital recorded it.
    - `source` 'fomo' | 'pump', required
    - `source_event_id` string, required: The provider's original event identifier.
    - `thesis` SocialActivityEventRevision, required
      - `event` union, required: The same normalized event delivered by Social Activity WebSocket v1. Trade prices describe the fill, independently of assetRef.priceUsd.
        - SocialActivityTradeEvent: Normalized observed trade, with request-time execution pricing on trade. Stored ingestion payloads remain unchanged.
          - `eventKind` 'trade_executed', required
          - `trade` union, required
            - object
              - …
            - object
              - …
          - `assetRef` ExternalTraderActivityAsset
            - `address` string, required
            - `change24hPct` string, nullable, required
            - `chainId` string, required
            - `imageUrl` string, nullable, required
            - `marketCapUsd` string, nullable, required
            - `marketObservedAtMs` string, nullable, required
            - `name` string, nullable, required
            - `priceUsd` string, nullable, required
            - `quoteState` 'quotable' | 'unavailable' | 'unknown', required
            - `quoteUnavailableReason` string, nullable, required
            - `symbol` string, nullable, required
          - `execution` union
            - object
              - …
            - object: Historical Relay trade recorded before on-chain matching, identified by its Relay request ID.
              - …
            - object: Relay order matched on chain, identified by its Relay order ID.
              - …
        - object
          - `eventKind` 'thesis_published', required
      - `eventId` string, required
      - `providerObservation` SocialProviderObservation: Optional indexer-owned provider observations for external social thesis display. Null fields are missing, invalid, or unavailable; omission of the entire observation means unavailable or unsupported. Financial values are historical provider reports, never live holdings, verified P&L, portfolio/quote authority, or lifecycle results. No new provider acquisition or backend content storage is implied.
        - `kind` 'provider_reported', required
        - `provider` string, required
        - `observedAtMs` string, required: Indexer record last-seen time in Unix milliseconds. This does not establish freshness of economic values or of any individual field.
        - `fieldObservedAtMs` object, required: Original per-field observation clocks in Unix milliseconds, keyed by upstream snake_case field names (segments for structured content). Only populated fields with valid clocks no later than the record last-seen time are included. An absent clock means unknown field freshness; never substitute observedAtMs.
          - `author_name` string
          - `author_is_dev` string
          - `author_avatar_url` string
          - `token_image_url` string
          - `segments` string
          - `holdings_usd` string
          - `author_trade_usd` string
          - `provider_token_amount` string
          - `provider_pnl_usd` string
          - `provider_realized_pnl_usd` string
          - `provider_unrealized_pnl_usd` string
          - `provider_percentage_realized_pnl` string
          - `provider_percentage_unrealized_pnl` string
          - `provider_closed_at_ms` string
          - `author_wallet_address` string
          - `author_x_username` string
          - `author_is_verified` string
          - `token_name` string
        - `authorName` string, nullable, required
        - `authorIsDev` boolean, nullable, required
        - `authorAvatarUrl` string, nullable, required
        - `tokenImageUrl` string, nullable, required
        - `segments` object[], nullable, required: Normalized provider segment objects, limited to 64 KiB of serialized JSON. Treat all values as untrusted text/data; never execute or render them as HTML.
        - `holdingsUsd` string, nullable, required
        - `authorTradeUsd` string, nullable, required
        - `tokenAmount` string, nullable, required
        - `pnlUsd` string, nullable, required
        - `realizedPnlUsd` string, nullable, required
        - `unrealizedPnlUsd` string, nullable, required
        - `percentageRealizedPnl` string, nullable, required
        - `percentageUnrealizedPnl` string, nullable, required
        - `closedAtMs` string, nullable, required
        - `authorWalletAddress` string, nullable, required: Provider-reported display text only. Does not establish author ownership, current wallet association, identity, or trading authority.
        - `authorXUsername` string, nullable, required
        - `authorIsVerified` boolean, nullable, required
        - `tokenName` string, nullable, required
      - `operation` 'upsert', required
      - `revision` integer, required
      - `sequence` string, required
  - `next_cursor` string, nullable, required
  - `trader_profile_id` string, uuid, required

## Other responses

- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `401`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `404`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `429`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
