---
title: "Wallet smart-money signal"
method: GET
path: "/v1/signals/wallet/{address}"
tags: ["Signals"]
---

# Wallet smart-money signal

`GET /v1/signals/wallet/{address}`

## Request

- Base URL: `https://crowdintel.xyz/api`
- URL: `https://crowdintel.xyz/api/v1/signals/wallet/{address}`
- Auth: HTTP bearer

**Min tier: `free`.** Single-wallet smart-money lookup (taste tier). Returns the headline `smart_money_score` (0-100), `confidence` (0-1), the raw signal breakdown, the wallet type, and core stats. Score comes from the persisted Insider Score V4 scorer or a Bayesian-win-rate fallback. V4 is gated: a trade only scores if the wallet bought an outcome the market priced at 35c or below; past that gate seven components set the number (entry-depth tier, wallet skill z-score, fresh-wallet concentration, minus penalties for bot behaviour, negative PnL, oversized funding clusters and infrastructure funders). `insiderBreakdown` returns those seven keys.

## Path parameters

- `address` string, required

## Response `200`

Wallet signal.

- WalletSignal
  - `wallet` string
  - `smart_money_score` number: Headline composite suspicion/edge score.
  - `confidence` number: Bayesian confidence in the score.
  - `breakdown` object: Raw per-signal contribution breakdown.
  - `wallet_type` string, nullable
  - `stats` WalletStats, nullable
    - `total_bets` integer
    - `resolved_bets` integer
    - `win_rate` number, nullable
    - `bayesian_win_rate` number, nullable
    - `total_volume` number, nullable
    - `total_pnl` number, nullable
    - `pnl_source` 'polymarket_api' | 'ledger' | 'none': Where the PnL figure comes from: `polymarket_api` = Polymarket's own profit figure, `ledger` = CrowdIntel on-chain cash ledger (retail wallets), `none` = no trustworthy figure yet (market-maker/whale wallets pending refresh report null/0).
    - `pnl_as_of` string, date-time, nullable: Freshness timestamp of the PnL figure; null when `pnl_source` is `none`.
    - `markets_traded` integer, nullable

## Other responses

- `400`: Malformed parameters or a rejected guardrail (e.g. unfiltered trades query, cluster blowup, window > 90 days).
- `401`: Missing, invalid, or revoked API key. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `404`: The requested resource was not found.
- `429`: Hourly or monthly rate limit exceeded.

---

[API](https://skmtc.dev/crowdintel/apis/crowdintel-api.md) · [All operations](https://skmtc.dev/crowdintel/apis/crowdintel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crowdintel/apis/crowdintel-api/revisions/7059cfe9320d?raw)
