---
title: "Token-wide recap of market activity and discussion"
method: GET
path: "/v2/social/assets/{chain_id}/{address}/recap"
tags: ["Social Community"]
---

# Token-wide recap of market activity and discussion

`GET /v2/social/assets/{chain_id}/{address}/recap`

## 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/assets/{chain_id}/{address}/recap`
- Auth: HTTP bearer

Authenticated structured facts for a token page. period defaults to 24h; supports 5m/1h/4h/24h only. Market facts describe the provider rolling window and retain independent upstream observation/retrieval clocks, with unknown exhaustiveness (complete=null). Recent trades are at most 20 in-period rows from one 50-row provider page, never totals. Native counts are exact for viewer-visible stored roots and replies; imported counts are limited to eligible stored publications and never imply complete provider collection. Curated original excerpts preserve author and source ids. Selection uses fresh holder observations, active Fomo/Pump leaderboard snapshots and recency, with explicit bounded coverage. No generated prose, themes or fictional X highlights. An available status describes read availability, not exhaustiveness. Missing provider data stays null; an unavailable response does not imply the token has no activity. Private/no-store; 30 requests per user per minute.

## Path parameters

- `chain_id` 'solana:mainnet-beta' | 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
- `address` string, required

## Query parameters

- `period` '5m' | '1h' | '4h' | '24h'

## Response `200`

Token recap with independent section availability and completeness

- SocialTokenRecap
  - `asset` union, required
    - object
      - `address` string, required
      - `chain_id` 'solana:mainnet-beta', required
    - object
      - `address` string, required
      - `chain_id` 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
  - `period` SocialRecapPeriod, required
    - `key` '5m' | '1h' | '4h' | '24h', required
    - `from_ms` string, required
    - `to_ms` string, required
  - `generated_at_ms` string, required
  - `status` 'available' | 'partial' | 'unavailable', required
  - `market` object, required
    - `status` 'available' | 'partial' | 'unavailable', required
    - `source` 'mobula' | 'codex' | 'arbital_catalogue' | 'preferred_metadata' | 'configured_price', required
    - `observed_at_ms` string, nullable, required
    - `retrieved_at_ms` string, nullable, required
    - `freshness` 'fresh' | 'stale' | 'unknown', required
    - `complete` unknown, required
    - `period` object, required
      - `key` '5m' | '1h' | '4h' | '24h', required
      - `alignment` 'provider_rolling_window', required
      - `from_ms` string, nullable, required
      - `to_ms` string, nullable, required
    - `price_change_pct` string, nullable, required
    - `totals` object, required
      - `buys` integer, nullable, required
      - `sells` integer, nullable, required
      - `buyers` integer, nullable, required
      - `sellers` integer, nullable, required
      - `buy_volume_usd` string, nullable, required
      - `sell_volume_usd` string, nullable, required
  - `recent_trades` object, required
    - `status` 'available' | 'unavailable', required
    - `source` 'mobula', required
    - `observed_at_ms` unknown, required
    - `retrieved_at_ms` string, nullable, required
    - `complete` false, required
    - `total_in_window` unknown, required
    - `coverage` 'provider_page', required
    - `candidate_limit` 50, required
    - `limit` 20, required
    - `sampled_count` integer, required
    - `items` SocialRecapTrade[], required
      - `asset` union, required
        - object
          - `address` string, required
          - `chain_id` 'solana:mainnet-beta', required
        - object
          - `address` string, required
          - `chain_id` 'eip155:1' | 'eip155:56' | 'eip155:143' | 'eip155:4663' | 'eip155:5042' | 'eip155:8453' | 'eip155:42161', required
      - `event_id` string, required
      - `fees` ProductTokenTradeFeesV1, required
        - `gas_usd` string, nullable, required
        - `mev_usd` string, nullable, required
        - `platform_usd` string, nullable, required
        - `total_usd` string, nullable, required
      - `market_cap_usd` string, nullable, required
      - `occurred_at_ms` string, required
      - `platform` ProductTokenTradePlatformV1, required
        - `id` string, nullable, required
        - `logo_url` string, uri, nullable, required
        - `name` string, nullable, required
      - `pool_address` string, required
      - `price_usd` string, required
      - `side` 'buy' | 'sell', required
      - `token_amount` string, required
      - `token_amount_atomic` string, nullable, required
      - `trader` ProductTokenTradeActorV1, required
        - `address` string, required
        - `entity_logo_url` string, uri, nullable, required
        - `entity_name` string, nullable, required
        - `is_developer` boolean, required
        - `labels` string[], required
      - `transaction_hash` string, required
      - `usd_amount` string, required
      - `profiles` SocialRecapPerson[], required
        - `platform` 'calld' | 'fomo' | 'pump', required
        - `id` string, nullable, required
        - `username` string, nullable, required
        - `display_name` string, nullable, required
        - `avatar_url` string, nullable, required
  - `discussion` object, required
    - `status` 'available' | 'partial' | 'unavailable', required
    - `source` 'postgres', required
    - `observed_at_ms` string, nullable, required
    - `complete` false, required
    - `counts` object, required
      - `arbital` SocialRecapNativeCount, required
        - `post_count` integer, required
        - `author_count` integer, required
        - `post_count_complete` true, required
        - `author_count_complete` true, required
        - `scope` 'viewer_visible_stored_posts', required
      - `fomo` SocialRecapStoredThesisCount, required
        - `post_count` integer, nullable, required
        - `author_count` integer, nullable, required
        - `post_count_complete` boolean, required
        - `author_count_complete` boolean, required
        - `scope` 'eligible_stored_publications' | 'stored_publications', required
        - `collection_complete` false, required
      - `pump` SocialRecapStoredThesisCount, required
        - `post_count` integer, nullable, required
        - `author_count` integer, nullable, required
        - `post_count_complete` boolean, required
        - `author_count_complete` boolean, required
        - `scope` 'eligible_stored_publications' | 'stored_publications', required
        - `collection_complete` false, required
    - `notable_comments` SocialRecapComment[], required
      - `id` string, required
      - `kind` 'arbital_comment' | 'fomo_thesis' | 'pump_callout', required
      - `text` string, required
      - `text_truncated` boolean, required
      - `parent_comment_id` string, nullable, required
      - `posted_at_ms` string, required
      - `author` SocialRecapPerson, required
        - `platform` 'calld' | 'fomo' | 'pump', required
        - `id` string, nullable, required
        - `username` string, nullable, required
        - `display_name` string, nullable, required
        - `avatar_url` string, nullable, required
      - `source_ref` object, required
        - `id` string, required
        - `source_key` string, nullable, required
        - `url` unknown, required
      - `selection_reason` 'top_holder' | 'ranked_trader' | 'recent_comment', required
      - `rank_evidence` SocialRecapRank[], required
        - union
          - object
            - `code` 'top_holder', required
            - `rank` integer, required
            - `observed_at_ms` string, required
          - object
            - `code` 'ranked_trader', required
            - `rank` integer, required
            - `observed_at_ms` string, required
            - `platform` 'fomo' | 'pump', required
            - `cohort` 'fomo_top_100_7d' | 'pump_top_100_weekly', required
            - `captured_at_ms` string, required
      - `media` union: Ordered immutable slots, with unique IDs and zero-based ordinals matching array positions. Up to four still images, or exactly one GIF. Deletion preserves the slot and original ID. Replies, messages and recap comments omit this field when there are no slots; posts return an empty array.
        - union[]
          - union
            - SocialMediaImage
              - …
            - DeletedSocialMedia: Permanent bound slot after media removal. Only these three fields remain; the parent remains renderable even when its body is empty and every image is deleted.
              - …
        - SocialMediaGif[]
          - `id` string, uuid, required
          - `media_kind` 'gif', required
          - `mime_type` 'image/gif', required
          - `size_bytes` integer, required
          - `width` integer, required
          - `height` integer, required
          - `access_path` string, required: Authenticated relative byte-read path for this media ID; never a public or signed storage URL.
          - `source_tenor_url` string
          - `ordinal` integer, required
          - `deleted` false
          - `delivery` SocialMediaDelivery: Optional HTTP-only delivery capability, issued after current access checks. URLs expire together at expires_at. Clients load the thumbnail in feeds and the full normalized image or animated GIF when opened. Refresh by re-reading the parent endpoint; access_path remains an authenticated fallback. Never persist, broadcast or share these viewer-specific URLs.
            - `url` string, uri, required: Short-lived Cloudflare Worker URL for the full normalized image or GIF. Treat it as opaque; refetch authorized parent metadata before expires_at to renew.
            - `expires_at` string, date-time, required
            - `thumbnail` object: Bounded WebP preview. Animated GIFs use an approved still poster.
              - …
      - `gif` SocialExternalGifReference: A selected public KLIPY GIF reference, not an approved social-media upload. The backend validates syntax and stores only these identifiers; it does not call KLIPY or approve, cache or store its bytes. Resolve from the end-user client, verify both returned id and slug, apply receiver-side content restrictions and display provider attribution. Missing, filtered or mismatched items are unavailable. Never send an Arbital bearer token to the provider.
        - `provider` 'klipy', required
        - `id` string, required: Canonical positive decimal provider identifier. Keep as a string; never coerce to a JavaScript number. The absolute-end assertion rejects trailing newlines.
        - `slug` string, required: Exact provider lookup slug, including case. Do not derive a URL or accept arbitrary provider media URLs. The absolute-end assertion rejects trailing newlines.
    - `selection` object, required
      - `version` 1, required
      - `candidate_limit_per_read` 100, required
      - `complete` boolean, required
      - `rank_enrichment_available` boolean, required
      - `ranked_candidate_limit` 500, required
      - `ranked_posts_per_author` 5, 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.
- `409`: 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)
