---
title: "GET /v2/market/ai-picks"
method: GET
path: "/v2/market/ai-picks"
tags: ["Product Market"]
---

# GET /v2/market/ai-picks

`GET /v2/market/ai-picks`

## 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/market/ai-picks`
- Auth: none declared

Returns a 90-day newest-first feed of deterministic exact-contract market-attention picks. Use the opaque revision-scoped cursor to continue into older observations without offset drift.

## Query parameters

- `evidence` 'ai-picks-v1'
- `view` 'global' | 'memes' | 'robinhood'
- `horizon` '24h'
- `limit` integer
- `cursor` string

## Response `200`

A bounded page from the AI picks feed

- ProductMarketAiPicksResponseV2
  - `disclaimer` 'Informational market signals only; not financial advice.', required
  - `freshness` 'fresh' | 'reconnecting' | 'stale', required
  - `has_more` boolean, required
  - `horizon` '24h', required
  - `items` ProductMarketAiPickFeedItemV2[], required
    - `evidence` object: Only with evidence=ai-picks-v1. Independent input evidence, aged at served_at_ms using persisted generation deadlines. Attention observed_at legacy fields mean backend retrieval, never proven provider observation. Missing historical attention policy or market lineage is unavailable with unknown coverage and null deadlines. Historical negative dollar fields are null in both response modes; valid decimal strings and signed percentage changes are preserved. Historical values remain history after evidence expires; unavailable evidence does not authorize current use.
      - `attention` ProductRankingField, required
        - `source` string, nullable, required
        - `scope` string, required
        - `window` unknown, required
        - `provider_observed_at_ms` string, nullable, required
        - `retrieved_at_ms` string, nullable, required
        - `fresh_until_ms` string, nullable, required
        - `usable_until_ms` string, nullable, required
        - `availability` 'available' | 'stale' | 'unavailable' | 'unsupported', required
        - `observed_at_ms` string, nullable, required
        - `coverage` 'partial' | 'unknown', required
      - `market` ProductRankingFields, 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
    - `attention` ProductMarketAiPickAttentionV1, required
      - `mentions_24h` string, required
    - `attention_observed_at_ms` string, required
    - `id` string, uuid, required
    - `image_url` string, uri, nullable, required
    - `market` ProductMarketAiPickMarketV1, required
      - `liquidity_usd` string, nullable, required
      - `market_cap_usd` string, nullable, required
      - `price_change_24h_pct` string, nullable, required
      - `price_usd` string, nullable, required
      - `volume_24h_usd` string, nullable, required
    - `methodology_revision` 'contract-attention-v2', required
    - `name` string, nullable, required
    - `observed_at_ms` string, required
    - `picked_at_ms` string, required
    - `rank` integer, required
    - `risks` string[], required
    - `score` string, required
    - `signal_strength` 'strong' | 'moderate' | 'emerging', required
    - `signals` ProductMarketAiPickSignalV1[], required
      - `kind` 'social_attention' | 'market_discovery', required
      - `label` string, required
    - `source_rank` integer, required
    - `symbol` string, nullable, required
    - `thesis` string, required
  - `latest_attention_observed_at_ms` string, nullable, required
  - `methodology_revision` 'contract-attention-v2', required
  - `next_cursor` string, nullable, required
  - `served_at_ms` string, required
  - `version` 2, required
  - `view` 'global' | 'memes' | 'robinhood', 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.
- `408`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `410`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `413`: 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)
