Skip to main content
GET
cURL
Use this endpoint to inspect a wallet’s record after finding it in a leaderboard, market, or trade. Optional expansions add strategy, category rankings, quantitative metrics, and data-source details. For up to 25 wallets in one request, use Batch traders.

Parameters

Key response fields

Data age

Different profile fields update at different times. data_quality reports each group’s age and status, so you can decide whether the values are recent enough for your use. data_quality.status is fresh when every group is fresh, unavailable when every group is unavailable, and partial otherwise. data_quality.as_of is the oldest supporting timestamp. Each entry in data_quality.field_groups carries group, owner (the table and column that writes it), status, an as_of where one exists, and a reason where the status is not fresh. unknown means the value is present but has no reliable timestamp. Do not use another group’s as_of to estimate its age. untracked means that group is not tracked for the wallet; for example, only S, A, and B wallets get a leaderboard rank. data_quality uses stored timestamps for the underlying values. meta.cached and meta.cache_age_s describe the response cache separately. For the per-field version of the same question, including where each number comes from and how it was reconciled, request expand=trust.

Example

What it does not return

  • A 404 for a wallet 0xinsider does not track yet. You get a 200 with sync_status set to unknown. Request it again later.
  • strategy before 0xinsider has classified the wallet. The field is omitted until then.
  • P&L for the last week or month. pnl.last_7d and pnl.last_30d are deprecated and never sent.
  • Open positions. Use Trader context.

Caching

Save the response’s ETag and send it in If-None-Match on your next request. If the profile has not changed, the server returns 304 Not Modified with no body.

Authorizations

Authorization
string
header
required

Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).

Headers

X-Query-Validation
enum<string>

Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.

Available options:
strict
If-None-Match
string

Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.

Path Parameters

address
string
required

Ethereum wallet address (0x...), known trader username, or trd_-prefixed trader ID emitted by this API.

Query Parameters

expand[]
enum<string>[]

Backward-compatible alias for expand. Repeatable: strategy, categories, quant_metrics, trust.

Available options:
strategy,
categories,
quant_metrics,
trust
expand
enum<string>[]

Include heavy fields and trust metadata. Repeatable: strategy, categories, quant_metrics, trust.

Available options:
strategy,
categories,
quant_metrics,
trust
max_age_s
integer<int64>

Opt into a whole-response freshness ceiling in seconds. The server returns 200 only when data_quality.status is fresh and data_quality.as_of is no older than this value; otherwise it returns 409 with error.reason=freshness_ceiling_unsatisfied. No refresh or alternate read is attempted.

Required range: x >= 0

Response

Trader profile

object
string
required
Allowed value: "trader"
data
object
required
meta
object
required