Skip to main content
GET
/
v0
/
profiles
/
{address}
Get wallet profile
curl --request GET \
  --url https://api.formo.so/v0/profiles/{address} \
  --header 'Authorization: Bearer <token>'
{
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "ens": "vitalik.eth",
  "display_name": "vitalik.eth",
  "avatar": "https://euc.li/vitalik.eth",
  "description": "mi pinxe lo crino tcati",
  "location": "Earth",
  "net_worth_usd": 1581720.97,
  "tx_count": 18743,
  "first_onchain": "2015-09-28T08:24:43.000Z",
  "last_onchain": "2026-04-01T03:34:47.000Z",
  "twitter": "vitalikbuterin",
  "farcaster": "vitalik.eth",
  "lens": "vitalik.lens",
  "basenames": "vb62831.base.eth",
  "linea": null,
  "github": "vbuterin",
  "reddit": null,
  "linkedin": null,
  "telegram": null,
  "discord": null,
  "email": null,
  "website": "vitalik.ca",
  "youtube": null,
  "tiktok": null,
  "instagram": null,
  "facebook": null,
  "first_seen": "2025-09-14T03:11:42.000Z",
  "last_seen": "2026-04-26T18:09:53.000Z",
  "lifecycle": "Returning",
  "num_sessions": 12,
  "revenue": 0,
  "volume": 482.55,
  "points": 0,
  "device": "desktop",
  "browser": "brave",
  "os": "macOS",
  "first_utm_source": "twitter",
  "first_utm_medium": "social",
  "first_utm_campaign": "devcon-launch",
  "first_utm_content": null,
  "first_utm_term": null,
  "first_referrer": "twitter.com",
  "first_referrer_url": "https://twitter.com/vitalikbuterin/status/1234567890",
  "first_ref": null,
  "last_utm_source": "direct",
  "last_utm_medium": null,
  "last_utm_campaign": null,
  "last_utm_content": null,
  "last_utm_term": null,
  "last_referrer": null,
  "last_referrer_url": null,
  "last_ref": null,
  "last_type": "track",
  "last_event": "Swap Confirmed",
  "last_properties": "{\"chain_id\":1,\"volume\":482.55}",
  "activity_dates": [
    "2026-04-22",
    "2026-04-23",
    "2026-04-25",
    "2026-04-26"
  ],
  "chains": [
    {
      "chain_id": "1",
      "net_worth_usd": 1491971.89,
      "tx_count": 1655,
      "first_onchain": "2015-09-28T08:24:43.000Z",
      "last_onchain": "2026-04-01T03:34:47.000Z"
    },
    {
      "chain_id": "8453",
      "net_worth_usd": 41871.88,
      "tx_count": 16,
      "first_onchain": "2023-07-30T12:40:39.000Z",
      "last_onchain": "2026-02-10T22:48:51.000Z"
    },
    {
      "chain_id": "56",
      "net_worth_usd": 21108.72,
      "tx_count": 8,
      "first_onchain": "2022-10-21T13:52:11.000Z",
      "last_onchain": "2025-12-20T16:00:26.000Z"
    },
    {
      "chain_id": "10",
      "net_worth_usd": 16668.39,
      "tx_count": 40,
      "first_onchain": "2021-12-17T15:15:45.000Z",
      "last_onchain": "2026-01-13T07:42:51.000Z"
    }
  ],
  "apps": [
    {
      "chain_id": "1",
      "id": "uniswap-v3",
      "name": "Uniswap V3",
      "img": "https://cdn.formo.so/apps/uniswap.png",
      "url": "https://app.uniswap.org",
      "balance_usd": 124820.41
    },
    {
      "chain_id": "1",
      "id": "aave-v3",
      "name": "Aave V3",
      "img": "https://cdn.formo.so/apps/aave.png",
      "url": "https://app.aave.com",
      "balance_usd": 88421.07
    }
  ],
  "tokens": [
    {
      "chain_id": "1",
      "token_address": "0x0000000000000000000000000000000000000000",
      "app_id": "",
      "name": "Ethereum",
      "symbol": "ETH",
      "img": "https://cdn.formo.so/tokens/eth.png",
      "decimals": 18,
      "price": 3290.42,
      "balance": "184.732910421054811234",
      "balance_usd": 607823.55
    },
    {
      "chain_id": "1",
      "token_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "app_id": "",
      "name": "USD Coin",
      "symbol": "USDC",
      "img": "https://cdn.formo.so/tokens/usdc.png",
      "decimals": 6,
      "price": 1,
      "balance": "125804.520000",
      "balance_usd": 125804.52
    }
  ],
  "labels": [
    {
      "id": "ethereum.founder",
      "value": "",
      "chain_id": "-",
      "source": "system"
    },
    {
      "id": "whale",
      "value": "",
      "chain_id": "-",
      "source": "formo"
    },
    {
      "id": "coinbase.verified_account",
      "value": "true",
      "chain_id": "1",
      "source": "coinbase"
    }
  ],
  "updated_at": "2026-04-27T01:00:00.000Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.formo.so/llms.txt

Use this file to discover all available pages before exploring further.

Retrieves wallet profile information for a given address. Returns comprehensive profile data including wallet properties, labels, tokens, and apps. If you have Formo installed on your website and app, you will also get the user’s web demographics (country, device, browser, operating system), lifecycle, volume, and revenue.
Available on x402 on MPP.
Profiles API architecture diagram showing user device, Profiles API, and Wallet Profiles interaction

Authentication

This endpoint requires authentication using a Workspace API Key with profiles:read permission. Include the API key in your request headers:
Authorization: Bearer <your_workspace_api_key>
The API key needs to have the read permission for profiles in the API settings. You can configure this in your workspace API key settings.

Path parameters

  • address (string): EVM Wallet address e.g. 0x0000000000000000000000000000000000000000.

Query parameters

expand

Comma-separated list of optional sections to include in the response. Supported values:
  • apps - DeFi app interactions and balances
  • chains - Per-chain activity metrics (net worth, tx count, first/last activity per chain)
  • tokens - Token holdings with balances and prices
  • labels - Wallet labels from various sources
Examples:
curl -sS \
  -H "Authorization: Bearer <your_workspace_api_key>" \
  "https://api.formo.so/v0/profiles/0x0000000000000000000000000000000000000000?expand=apps,chains,tokens,labels"
The apps, chains, and tokens collections are capped at 50 items each.

Response Fields

Core Profile Data

FieldTypeDescription
addressstringThe wallet address
net_worth_usdnumberTotal net worth in USD across all chains
tx_countintegerTotal transaction count across all chains
first_onchainstring | nullFirst on-chain activity timestamp (ISO 8601)
last_onchainstring | nullLast on-chain activity timestamp (ISO 8601)
updated_atstring | nullLast profile update timestamp (ISO 8601)

Lifecycle

FieldTypeDescription
lifecyclestring | nullUser lifecycle stage based on activity patterns
Possible lifecycle values:
  • New - Recently acquired user
  • Returning - User who has returned after absence
  • Power user - Highly active user
  • Resurrected - User who returned after long absence
  • Churned - User who has stopped engaging

Social & Identity

FieldTypeDescription
ensstring | nullENS name
farcasterstring | nullFarcaster username
lensstring | nullLens handle
basenamesstring | nullBase names
lineastring | nullLinea identifier
discordstring | nullDiscord username
telegramstring | nullTelegram username
twitterstring | nullTwitter/X handle
githubstring | nullGitHub username
linkedinstring | nullLinkedIn profile
emailstring | nullEmail address
websitestring | nullWebsite URL
instagramstring | nullInstagram handle
facebookstring | nullFacebook profile
tiktokstring | nullTikTok handle
youtubestring | nullYouTube channel
redditstring | nullReddit username

Profile Display

FieldTypeDescription
avatarstring | nullAvatar image URL
display_namestring | nullDisplay name
descriptionstring | nullProfile description

User Engagement Data

These fields are populated based on events tracked in your project:
FieldTypeDescription
first_seenstring | nullFirst seen timestamp in your app (ISO 8601)
last_seenstring | nullLast seen timestamp in your app (ISO 8601)
num_sessionsinteger | nullTotal number of sessions
revenuenumber | nullTotal revenue
volumenumber | nullTotal volume
pointsnumber | nullTotal points
activity_datesarray | nullArray of activity dates (YYYY-MM-DD format)

Device & Location

FieldTypeDescription
locationstring | nullUser location (country code)
devicestring | nullDevice type
browserstring | nullBrowser name
osstring | nullOperating system

Attribution & UTM

FieldTypeDescription
first_utm_sourcestring | nullFirst UTM source
last_utm_sourcestring | nullLast UTM source
first_utm_mediumstring | nullFirst UTM medium
last_utm_mediumstring | nullLast UTM medium
first_utm_campaignstring | nullFirst UTM campaign
last_utm_campaignstring | nullLast UTM campaign
first_utm_contentstring | nullFirst UTM content
last_utm_contentstring | nullLast UTM content
first_utm_termstring | nullFirst UTM term
last_utm_termstring | nullLast UTM term
first_referrerstring | nullFirst referrer domain
last_referrerstring | nullLast referrer domain
first_referrer_urlstring | nullFirst referrer full URL
last_referrer_urlstring | nullLast referrer full URL
first_refstring | nullFirst referral code
last_refstring | nullLast referral code

Last Event

FieldTypeDescription
last_typestring | nullLast event type
last_eventstring | nullLast event name
last_propertiesstring | nullLast event properties (JSON string)

Expanded Fields

When using the expand parameter, these additional fields are included:

chains (when expand=chains)

Array of per-chain wallet data:
FieldTypeDescription
chain_idstringChain ID
net_worth_usdnumberNet worth on this chain
tx_countintegerTransaction count on this chain
first_onchainstringFirst activity on this chain
last_onchainstringLast activity on this chain

labels (when expand=labels)

Array of wallet labels:
FieldTypeDescription
idstringLabel ID
valuestringLabel value
chain_idstringChain ID where label applies
sourcestringLabel source (e.g., manual, automated)

apps (when expand=apps)

Array of DeFi app interactions:
FieldTypeDescription
chain_idstringChain ID
idstringApp ID
namestringApp name
imgstring | nullApp image URL
urlstring | nullApp URL
balance_usdnumberBalance in USD for this app

tokens (when expand=tokens)

Array of token holdings:
FieldTypeDescription
chain_idstringChain ID
token_addressstringToken contract address
app_idstringApp ID
namestringToken name
symbolstringToken symbol
imgstring | nullToken image URL
decimalsintegerToken decimals
pricenumberToken price in USD
balancestringToken balance (as string to preserve precision)
balance_usdnumberToken balance value in USD

Example Response

{
  "address": "0x9CC3cB28cd94eB4423B15cdA73346e204f59a407",
  "net_worth_usd": 125000.5,
  "ens": "vitalik.eth",
  "farcaster": null,
  "lens": null,
  "tx_count": 1234,
  "first_onchain": "2024-01-15T10:30:00Z",
  "last_onchain": "2025-01-20T14:22:00Z",
  "lifecycle": "Returning",
  "first_seen": "2024-01-15T10:30:00Z",
  "last_seen": "2025-01-20T14:22:00Z",
  "num_sessions": 45,
  "revenue": 1500.75,
  "volume": 50000.0,
  "points": 2500,
  "chains": [
    {
      "chain_id": "1",
      "net_worth_usd": 100000.0,
      "tx_count": 1000,
      "first_onchain": "2024-01-15T10:30:00Z",
      "last_onchain": "2025-01-20T14:22:00Z"
    },
    {
      "chain_id": "137",
      "net_worth_usd": 25000.5,
      "tx_count": 234,
      "first_onchain": "2024-03-01T08:00:00Z",
      "last_onchain": "2025-01-18T12:00:00Z"
    }
  ],
  "labels": [
    {
      "id": "label_123",
      "value": "Whale",
      "chain_id": "1",
      "source": "manual"
    }
  ],
  "apps": [
    {
      "chain_id": "1",
      "id": "uniswap",
      "name": "Uniswap",
      "img": "https://example.com/uniswap.png",
      "url": "https://uniswap.org",
      "balance_usd": 50000.0
    }
  ],
  "tokens": [
    {
      "chain_id": "1",
      "token_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "app_id": "usdc",
      "name": "USD Coin",
      "symbol": "USDC",
      "img": "https://example.com/usdc.png",
      "decimals": 6,
      "price": 1.0,
      "balance": "1000000000",
      "balance_usd": 1000.0
    }
  ]
}

Error Responses

StatusCodeDescription
400BAD_REQUESTInvalid wallet address format
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENAPI key does not have profiles:read permission
404PROFILE_NOT_FOUNDProfile does not exist
500INTERNAL_SERVER_ERRORFailed to fetch wallet profile data

Authorizations

Authorization
string
header
required

Workspace API key (e.g. formo_xxx). Create one in the Formo dashboard under Team Settings > API Keys.

Path Parameters

address
string
required

Wallet address

Query Parameters

expand
string

Comma-separated: apps, chains, tokens, labels

Response

Profile details

Comprehensive wallet profile with onchain and offchain data

address
string
net_worth_usd
number
tx_count
integer
first_onchain
string

First onchain activity date

last_onchain
string

Last onchain activity date

updated_at
string<date-time>
ens
string | null
farcaster
string | null
lens
string | null
basenames
string | null
linea
string | null
avatar
string | null
display_name
string | null
description
string | null
discord
string | null
telegram
string | null
twitter
string | null
github
string | null
linkedin
string | null
email
string | null
instagram
string | null
facebook
string | null
website
string | null
reddit
string | null
youtube
string | null
tiktok
string | null
first_seen
string | null

First seen in project

last_seen
string | null

Last seen in project

lifecycle
enum<string> | null
Available options:
New,
Returning,
Power user,
Resurrected,
Churned
num_sessions
integer | null
revenue
number | null
volume
number | null
points
number | null
device
string | null
browser
string | null
os
string | null
location
string | null
first_utm_source
string | null
first_utm_medium
string | null
first_utm_campaign
string | null
first_referrer
string | null
last_utm_source
string | null
last_utm_medium
string | null
last_utm_campaign
string | null
last_referrer
string | null
first_referrer_url
string | null

First referrer full URL

last_referrer_url
string | null

Last referrer full URL

first_ref
string | null

First referral code

last_ref
string | null

Last referral code

first_utm_content
string | null

First UTM content

last_utm_content
string | null

Last UTM content

first_utm_term
string | null

First UTM term

last_utm_term
string | null

Last UTM term

last_type
string | null

Last event type

last_event
string | null

Last event name

last_properties
string | null

Last event properties (JSON string)

activity_dates
string<date>[] | null

Array of activity dates (YYYY-MM-DD format)

chains
object[]

Requires expand=chains

apps
object[]

Requires expand=apps

tokens
object[]

Requires expand=tokens

labels
object[]

Requires expand=labels