Search and filter wallet profiles with pagination support
profiles:read permission. Include the API key in your request headers:
addressexpandapps - DeFi app interactions and balanceschains - Per-chain activity metricstokens - Token holdingslabels - Wallet labelschains, tokens, or apps increases response size and latency. The collections are capped at 50 items each.order_bylast_onchain (default) - Last on-chain activity timestampfirst_onchain - First on-chain activity timestampnet_worth_usd - Total net worthupdated_at - Last profile update timestamptx_count - Total transaction countfirst_seen - First seen timestamp in your applast_seen - Last seen timestamp in your appnum_sessions - Number of sessionsrevenue - Total revenuevolume - Total volumepoints - Total pointsorder_dirdesc (default) - Descending orderasc - Ascending orderlimit1001000offset0conditions and logic.
| Field | Type | Description |
|---|---|---|
conditions | array | Array of filter conditions |
logic | string | How to combine conditions: and (all must match) or or (any must match). Default: and |
conditions array has:
| Field | Type | Description |
|---|---|---|
field | string | The field path to filter on (see Field Reference below) |
op | string | The comparison operator |
value | string | number | boolean | array | The value to compare against |
scope | string | (Optional) Only for token filters: any (wallet + protocols) or protocol (specific protocol only) |
appId | string | (Optional) Only for token filters with scope: "protocol". The DeFi protocol ID (e.g., aave-v3, compound-v3) |
| Operator | Description | Example |
|---|---|---|
eq | Equals | {"field": "users.device", "op": "eq", "value": "Desktop"} |
neq | Not equals | {"field": "users.os", "op": "neq", "value": "Windows"} |
gt | Greater than | {"field": "users.net_worth_usd", "op": "gt", "value": 1000} |
gte | Greater than or equal | {"field": "users.tx_count", "op": "gte", "value": 100} |
lt | Less than | {"field": "users.net_worth_usd", "op": "lt", "value": 50000} |
lte | Less than or equal | {"field": "chains.1.balance", "op": "lte", "value": 10000} |
in | In array | {"field": "users.lifecycle", "op": "in", "value": ["New", "Power user"]} |
nin | Not in array | {"field": "users.location", "op": "nin", "value": ["US", "UK"]} |
users.*)users.{attribute}.
| Field | Type | Description |
|---|---|---|
users.net_worth_usd | number | Total net worth in USD |
users.tx_count | number | Total transaction count |
| Field | Type | Description |
|---|---|---|
users.device | string | Device type (e.g., Desktop, Mobile) |
users.browser | string | Browser name (e.g., Chrome, Safari) |
users.os | string | Operating system (e.g., macOS, Windows) |
users.location | string | Country code (e.g., US, NG) |
| Field | Type | Description |
|---|---|---|
users.first_utm_source | string | First UTM source |
users.last_utm_source | string | Last UTM source |
users.first_utm_medium | string | First UTM medium |
users.last_utm_medium | string | Last UTM medium |
users.first_utm_campaign | string | First UTM campaign |
users.last_utm_campaign | string | Last UTM campaign |
users.first_utm_content | string | First UTM content |
users.last_utm_content | string | Last UTM content |
users.first_utm_term | string | First UTM term |
users.last_utm_term | string | Last UTM term |
users.first_referrer | string | First referrer domain |
users.last_referrer | string | Last referrer domain |
users.first_referrer_url | string | First referrer full URL |
users.last_referrer_url | string | Last referrer full URL |
users.first_ref | string | First referral code |
users.last_ref | string | Last referral code |
Churned, New, Power user, Resurrected, Returning.
| Field | Type | Description |
|---|---|---|
users.lifecycle | string | User lifecycle stage |
| Field | Description |
|---|---|
users.ens | ENS name |
users.farcaster | Farcaster username |
users.lens | Lens handle |
users.basenames | Base names |
users.linea | Linea identifier |
users.discord | Discord username |
users.telegram | Telegram username |
users.twitter | Twitter/X handle |
users.github | GitHub username |
users.linkedin | LinkedIn profile |
users.email | Email address |
chains.*)chains.balance to filter across all chains (returns profiles where any chain matches).
Example - Find users with >$1,000 on any chain:
chains.{chain_id}.balance to filter on a specific chain.
Common chain IDs:
1 - Ethereum Mainnet137 - Polygon42161 - Arbitrum One10 - Optimism8453 - Base56 - BNB Chain43114 - Avalancheapps.*)apps.{app_id}.balance to filter by app balance across all chains.
Example - Find users with >$1,000 in Uniswap:
apps.{chain_id}.{app_id}.balance to filter by app balance on a specific chain.
Example - Find users with >$500 in Aave on Ethereum:
tokens.*)scope and appId parameters.
| Parameter | Type | Description |
|---|---|---|
scope | string | any (default) = wallet + all protocols, protocol = specific protocol only |
appId | string | Only for scope: "protocol". Specifies the DeFi protocol ID (e.g., aave-v3, compound-v3, uniswap-v3) |
tokens.{token_address}.balance to filter by token balance across all chains.
Example - Find users holding >1000 USDC (any chain):
tokens.{chain_id}.{token_address}.balance to filter by token balance on a specific chain.
Example - Find users with >500 USDC on Ethereum:
scope: "protocol" with appId to filter for tokens deposited in a specific DeFi protocol.
Example - Find users with USDC deposited in any protocol:
labels.*)labels.{tag_id}.
Common label IDs:
coinbase.verified_account - Coinbase verified account (boolean)coinbase.verified_country - Coinbase verified country codecoinbase.verified_coinbase_one - Coinbase One membership (boolean)sanctions.designated - Sanctioned address (boolean)passport.models_aggregate_score - Passport aggregate score (0-100)passport.unique_humanity_score - Passport uniqueness scoredata array of wallet profiles and a meta object with pagination information.
| Field | Type | Description |
|---|---|---|
data | array | Array of wallet profiles matching the search criteria |
meta.total | integer | Total number of profiles matching the criteria (before pagination) |
meta.limit | integer | Maximum number of profiles returned in this response |
meta.offset | integer | Number of profiles skipped (for pagination) |
data array includes:
| Field | Type | Description |
|---|---|---|
address | string | Wallet address |
net_worth_usd | number | Total net worth in USD |
tx_count | integer | Total transaction count |
first_onchain | string | First on-chain activity timestamp (ISO 8601) |
last_onchain | string | Last on-chain activity timestamp (ISO 8601) |
lifecycle | string | User lifecycle stage: Churned, New, Power user, Resurrected, Returning |
ens | string | null | ENS name |
farcaster | string | null | Farcaster username |
twitter | string | null | Twitter/X handle |
discord | string | null | Discord username |
telegram | string | null | Telegram username |
email | string | null | Email address |
first_seen | string | null | First seen timestamp in your app |
last_seen | string | null | Last seen timestamp in your app |
num_sessions | integer | null | Total number of sessions |
revenue | number | null | Total revenue |
volume | number | null | Total volume |
points | number | null | Total points |
chains | array | null | Per-chain data (when expanded) |
apps | array | null | DeFi app data (when expanded) |
tokens | array | null | Token holdings (when expanded) |
labels | array | null | Wallet labels (when expanded) |
| Status | Code | Description |
|---|---|---|
| 400 | BAD_REQUEST | Invalid query parameters or malformed JSON in request body |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | API key does not have profiles:read permission |
| 500 | INTERNAL_SERVER_ERROR | Failed to fetch wallet profile data |
Bearer token for authentication. Use an SDK Write Key for the Events API, or a Workspace API Key for the Query and Profile APIs. Format: 'Bearer
Filter by specific wallet address (exact match)
Comma-separated list of additional data to include in each profile. Valid options: apps, chains, tokens, labels. Example: expand=apps,chains
Field to sort results by. Default: last_onchain
last_onchain, first_onchain, net_worth_usd, updated_at, tx_count, first_seen, last_seen, num_sessions, revenue, volume, points Sort direction. Default: desc
asc, desc Maximum number of profiles to return. Default: 100, Maximum: 1000
1 <= x <= 1000Number of profiles to skip for pagination. Default: 0
x >= 0