xcaDocs
Endpoints

Wallets

30-day trading profile of a wallet: PnL, win rate, holding time and funding source.

GET/api/v1/wallets/{address}

Returns the profile XCA built for a wallet. Wallets are profiled during token scans (the largest holders) and on demand in the app; a wallet that was never profiled returns 404.

Parameters#

addresspathrequired
Wallet address.string

Request#

curl -s "https://app.xca.fun/api/v1/wallets/HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH" \
  -H "Authorization: Bearer $XCA_API_KEY"
Try it
Paste your API key to send a real request.

Response#

address
Wallet address.string
isSmart
The wallet passes the smart-money thresholds.boolean
pnl30dUsd
PnL over 30 days, USD.number | null
pnl30dPct
PnL over 30 days, percent.number | null
winRate
Share of profitable trades, 0 to 1.number | null
trades30d
Trades over 30 days.number | null
avgHoldSec
Average holding time, seconds.number | null
walletAgeDays
Days since the first transaction.number | null
fundedBy
Wallet that first funded this one.string | null
lastProfiledAt
When the profile was built.string

Example response#

{
  "address": "HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH",
  "isSmart": true,
  "pnl30dUsd": 48210.7,
  "pnl30dPct": 31.4,
  "winRate": 0.64,
  "trades30d": 37,
  "avgHoldSec": 1209600,
  "walletAgeDays": 412,
  "fundedBy": "FWznbcNXWQuHTawe9RxvQ2LdCENssh12dsznf4RiouN5",
  "lastProfiledAt": "2026-10-02T08:40:11.000Z"
}

Status codes#

200Success
400validation — A parameter or the body is invalid; see error.issues.
401unauthorized — The API key is missing, malformed or revoked.
402planRequired — Your plan doesn't include API access or this feature.
404notFound — The token wasn't scanned or the wallet wasn't profiled yet.
429rateLimited — Too many requests per minute, or the monthly quota is used up.

Good to know#

  • pnl30dPct and avgHoldSec need detailed PnL in your plan, fundedBy needs clusters; otherwise they are null.
  • isSmart marks wallets that pass the smart-money thresholds: profitable over 30 days with a high win rate and enough trades.