---
title: "Batch trader intelligence"
method: POST
path: "/api/v1/traders/batch"
tags: ["Traders"]
---

# Batch trader intelligence

`POST /api/v1/traders/batch`

Returns trader intelligence for 1-25 wallet addresses or known usernames. Results preserve request order, duplicate inputs return duplicate rows, and each item is charged one batch item unit before execution. Unknown trader lookups return data with sync_status "unknown" matching the single trader endpoint.

## Request body

- object
  - `traders` string[], required
  - `expand` string[] — Shared expand flags applied to every trader item.

## Response `200`

Ordered batch trader results

- object
  - `object` 'trader_batch', required
  - `data` BatchTraderItem[], required
    - `index` integer, required — Zero-based request index. Duplicate inputs keep separate result rows.
    - `input` string, required
    - `status` 'ok' | 'error', required
    - `data` Trader
      - `id` string, required — Prefixed ID (trd_...).
      - `address` string, required
      - `username` string, nullable
      - `grade` 'S' | 'A' | 'B' | 'C' | 'D' | 'F', nullable
      - `streak_tier` 'hot' | 'rising' | 'neutral' | 'cooling' | 'cold', nullable — Hot-streak tier (trailing-7d cross-sectional percentile); a separate axis from the all-time grade. Null when no recent activity.
      - `score` number, nullable
      - `rank` integer, nullable
      - `pnl` object, required
        - `total` number, nullable
        - `realized` number, nullable
        - `unrealized` number, nullable
        - `last_7d` number, nullable
        - `last_30d` number, nullable
      - `stats` object, required
        - `markets_traded` integer, nullable
        - `win_rate` number, nullable
        - `daily_win_rate` number, nullable
        - `total_volume` number, nullable
      - `strategy` object, nullable
        - `strategy_type` string
        - `description` string, nullable
        - `confidence` number, nullable
      - `category_strengths` object, nullable — Per-category performance breakdown (expand=categories or expand[]=categories). Null unless expanded. Object keyed by category name; each value is the precomputed trader_rankings.category_ranks payload (rank, total_in_category, total_pnl, scaled_total_pnl, n_markets, wins, losses, win_rate; scaled_total_pnl is a legacy alias that currently equals total_pnl). Pass-through DB JSON: keys and value shape are DB-owned, so the inner shape is intentionally unconstrained and may carry additional compatibility fields.
      - `quant_metrics` object, nullable — Curated advanced risk/performance metrics (expand=quant_metrics or expand[]=quant_metrics). Omitted unless expanded and the trader has computed metrics; when present, all listed fields are present (each is a number or null). null means insufficient trade history and must not be treated as 0. This is a fixed, documented field set, refreshed periodically by the cross-sectional ranking job.
        - `smart_score` number, nullable, required — Composite skill score, 0-100. smart_score = clamp(0, 100, 30*sharpe_percentile_fraction + 20*profit_factor_percentile_fraction + 20*edge_consistency_percentile_fraction + 10*min(1, return_on_capital/2) + 10*equity_smoothness + 10*(1 - min(1, asset_concentration))). Higher is better. null when insufficient history.
        - `copy_score` number, nullable, required — Copyability score, 0-100. Same base as smart_score minus penalties for traits that make a strategy hard to replicate: -20 if fewer than 50 markets traded, -15 if positions are highly concentrated, -15 if position sizing exceeds about 2x Kelly, -10 if the worst single-trade loss exceeds 30%, -10 if edge is inconsistent; result clamped to 0-100. Higher means easier to follow. null when insufficient history.
        - `sharpe_30d` number, nullable, required — Sharpe ratio over the trailing 30 days (risk-adjusted return; higher is better). Magnitude can be large for small samples. null when insufficient history.
        - `sharpe_7d` number, nullable, required — Sharpe ratio over the trailing 7 days (risk-adjusted return; higher is better). null when insufficient history.
        - `profit_factor` number, nullable, required — Gross profit divided by gross loss; greater than 1 is profitable. Capped at 1000 when there are effectively no losses. null when insufficient history.
        - `edge_consistency` number, nullable, required — Stability of the trader's edge over time, 0-1 (higher is more consistent). null when insufficient history.
        - `sharpe_percentile` number, nullable, required — Cross-sectional percentile rank of the trader's Sharpe ratio versus all traders, 0-100. null when insufficient history.
        - `pf_percentile` number, nullable, required — Cross-sectional percentile rank of profit factor versus all traders, 0-100. null when insufficient history.
        - `consistency_percentile` number, nullable, required — Cross-sectional percentile rank of edge consistency versus all traders, 0-100. null when insufficient history.
      - `last_active` string, date-time, nullable
      - `synced_at` string, date-time, nullable
      - `sync_status` string, nullable — synced, unknown, or pending.
      - `trust` TraderTrust — Field-level trust metadata returned only when GET /api/v1/trader/{address} includes expand=trust.
        - `total_pnl` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `realized_pnl` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `unrealized_pnl` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `markets_traded` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `win_rate` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `daily_win_rate` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `total_volume` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `grade` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `score` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `rank` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `streak_tier` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `strategy` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `category_strengths` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `quant_metrics` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `last_active` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `synced_at` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
        - `sync_status` TrustMetadata, required — Shared source/freshness/reconciliation/completeness metadata for public API values that may be cached, stale, partial, computed, or provider-unavailable. Unavailable provider values must be represented with explicit metadata instead of fabricated zeros or empty arrays.
          - `source` TrustSource, required — Source metadata for a trust-critical value. Providers and DB/read models own business truth; clients should not infer missing provider facts from titles, slugs, zeros, or empty arrays.
            - `kind` 'provider' | 'database' | 'cache' | 'computed' | 'client_input' | 'unavailable', required
            - `owner` string, required — Provider, table/read-model, cache, or service that owns the value.
            - `field` string, nullable — Provider field, DB column, or computed field name when applicable.
          - `freshness` TrustFreshness, required — Freshness metadata for a trust-critical value. This is separate from transport cache fields in ResponseMeta.
            - `status` 'fresh' | 'refreshing' | 'stale' | 'not_live' | 'unknown' | 'unavailable', required
            - `as_of` string, date-time, nullable
            - `max_age_s` integer, nullable
          - `reconciliation` TrustReconciliation, required — How provider-owned facts were reconciled with stored/read-model values.
            - `status` 'provider_backed' | 'db_mirror' | 'computed' | 'partial' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
          - `completeness` TrustCompleteness, required — Whether the described value or result set is complete for its stated contract.
            - `status` 'complete' | 'partial' | 'not_computed' | 'not_applicable' | 'unavailable', required
            - `detail` string, nullable
    - `error` ApiErrorBody
      - `code` string, required
      - `message` string, required
      - `doc_url` string, nullable
      - `param` string, nullable
  - `meta` BatchResponseMeta, required
    - `request_id` string, required
    - `cached` boolean, required
    - `total_items` integer, required
    - `successful_items` integer, required
    - `failed_items` integer, required
    - `request_cost` integer, required — Number of batch item units reserved before execution.
    - `rate_limit` BatchRateLimitMeta, required
      - `basis` 'batch_items_per_minute', required
      - `limit` integer, required
      - `remaining` integer, required
      - `reset` integer, required — Unix timestamp when the batch item window resets.

## Other responses

- `400` — Invalid request parameter
- `401` — Missing or invalid API key
- `402` — Active Insider subscription required
- `403` — Account access denied
- `408` — Request exceeded the server's 30-second transport timeout. The timeout response has an empty body because it is generated before handler-level JSON error shaping.
- `423` — Account is locked
- `429` — Rate limit exceeded (100 req/min; batch endpoints also reserve 100 batch item units/min before execution)
- `500` — Unexpected server error
- `503` — Redis-backed authenticated rate limiter unavailable; retry after the per-process outage cooldown

## Changes

- **2026-06-29** `03edbd4f02bd` — 9 info
  - added the required property `data/items/data/quant_metrics/consistency_percentile` to the response with the `200` status
  - added the required property `data/items/data/quant_metrics/copy_score` to the response with the `200` status
  - added the required property `data/items/data/quant_metrics/edge_consistency` to the response with the `200` status
  - added the required property `data/items/data/quant_metrics/pf_percentile` to the response with the `200` status
  - …5 more
- **2026-06-15** `5b6d6ff7692c` — 2 info
  - added the new `trust` enum value to the request property `expand/items/`
  - added the optional property `data/items/data/trust` to the response with the `200` status
- **2026-06-01** `a311bdcfd354` — 1 warning, 1 info
  - removed the optional property `data/items/data/form_tier` from the response with the `200` status
  - added the optional property `data/items/data/streak_tier` to the response with the `200` status
- …earlier changes not shown

[Full history](https://skmtc.dev/0xinsider/apis/0xinsider-api/changes/api/v1/traders/batch/post.md)

---

[API](https://skmtc.dev/0xinsider/apis/0xinsider-api.md) · [All operations](https://skmtc.dev/0xinsider/apis/0xinsider-api/llms.txt) · [OpenAPI document](https://skmtc.dev/0xinsider/apis/0xinsider-api/revisions/137fa0fd3297?raw)
