formo profiles command group lets you look up individual wallet profiles, search your user base, merge-update identity properties, and manage labels.
Lifecycle Threshold Options
profiles get and profiles search accept optional lifecycle threshold overrides:
| Option | Type | Description |
|---|---|---|
--new-window-days | number | Override lifecycle new-user window in days |
--churn-window-days | number | Override lifecycle churn window in days |
--power-user-min-active-days | number | Override lifecycle power-user minimum active days |
--power-user-window-days | number | Override lifecycle power-user window in days |
--resurrected-gap-days | number | Override lifecycle resurrected gap in days |
--at-risk-min-days-inactive | number | Override lifecycle at-risk minimum inactive days |
--at-risk-prior-active-days-threshold | number | Override lifecycle at-risk prior active days threshold |
formo profiles get <address>
Fetch a single wallet profile by address or ENS name.
Requires
profiles:read scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--expand | string | ❌ | Comma-separated fields to expand: apps, chains, tokens, labels |
Examples
formo profiles search
Search wallet profiles with optional filters, sorting, free-text search, and pagination.
Requires
profiles:read scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--address | string | ❌ | Filter by wallet address |
--search | string | ❌ | Free-text search across address and identity fields |
--page | number | ❌ | Page number, 1-indexed |
--size | number | ❌ | Page size |
--order-by | enum | ❌ | Field to sort by |
--order-dir | enum | ❌ | Sort direction: asc or desc |
--expand | string | ❌ | Comma-separated fields to expand |
--conditions | string | ❌ | JSON array of FilterCondition objects |
--logic | enum | ❌ | Combine conditions with and or or |
--order-by Values
last_onchain, first_onchain, net_worth_usd, updated_at, tx_count, first_seen, last_seen, num_sessions, revenue, volume, points
Examples
{ data, total, page, size, has_more }.
Filter Conditions
--conditions accepts a JSON array of filter condition objects:
Filter Operators
eq, neq, gt, gte, lt, lte, in, nin
formo profiles update <address>
Merge-update identity properties on a single wallet profile.
Requires
profiles:write scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--properties | string | ✅ | JSON object of properties to merge |
user_id, display_name, email, farcaster, discord, twitter, telegram, instagram, website, github, linkedin, facebook, tiktok, youtube, reddit, avatar, description, location, ens, lens, basenames, linea
formo profiles properties batch
Batch update first-party profile properties for up to 100 wallets.
Requires
profiles:write scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--rows | string | ✅ | JSON array of flat {address, ...properties} objects |
ENS names are not resolved in batch requests. Use wallet addresses in each
address field.formo profiles labels create <address>
Upsert one or more labels on a wallet profile. Provide either a single label with --tag-id or a wallet-local batch with --labels.
Requires
profiles:write scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--tag-id | string | ❌ | Label identifier, required unless --labels is provided |
--value | string | ❌ | Optional label value |
--chain-id | string | ❌ | Optional chain identifier the label applies to |
--timestamp | string | ❌ | Optional historical ISO-8601 timestamp for the label row |
--is-deleted | boolean | ❌ | Backfill a historical label removal tombstone |
--labels | string | ❌ | JSON array of UserLabelInput objects for this wallet |
Examples
formo profiles labels batch
Batch upsert labels across up to 100 wallets.
Requires
profiles:write scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--labels | string | ✅ | JSON array of {address, tag_id, value?, chain_id?, timestamp?, _is_deleted?} objects |
ENS names are not resolved in batch requests. Use wallet addresses in each
address field.formo profiles labels delete <address>
Delete a label from a wallet profile. Pass --chain-id to scope deletion to a chain-specific label.
Requires
profiles:write scope on your API key.Options
| Option | Type | Required | Description |
|---|---|---|---|
--tag-id | string | ✅ | Label identifier to delete |
--chain-id | string | ❌ | Optional chain identifier to scope the deletion |