> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polynode.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Overview

> One call: resolve any Polymarket address, check perps registration, and get the live portfolio.

```bash theme={null}
curl "https://api.polynode.dev/v3/perps/wallets/0x09b428f7c2b469786286214aa5c90dd9015f7320?key=$POLYNODE_API_KEY"
```

Accepts a Polymarket profile (proxy) address **or** the underlying account address — [resolution is automatic](/perps/wallet-mapping). The response combines the mapping, registration status, and (for registered accounts) the live portfolio:

```json theme={null}
{
  "input": "0x09b428f7c2b469786286214aa5c90dd9015f7320",
  "pm_address": "0x09b428f7c2b469786286214aa5c90dd9015f7320",
  "wallet_type": "deposit",
  "signer": "0x509e390373f5bde0bb02c1019ee39cf0ef23a1a4",
  "registered": true,
  "equity": "5350.00",
  "positions": [
    {
      "instrument_id": 6,
      "symbol": "BTC-USD",
      "size": "0.5",
      "side": "long",
      "entry_price": "61000",
      "mark_price": "62010",
      "notional": "31005.00",
      "unrealized_pnl": "505.00",
      "return_on_equity": "0.08"
    }
  ],
  "timestamp": 1783571023159
}
```

| Field         | Meaning                                                                                            |
| ------------- | -------------------------------------------------------------------------------------------------- |
| `input`       | The address you passed, normalized                                                                 |
| `pm_address`  | The Polymarket proxy address (null for plain-EOA users)                                            |
| `signer`      | The perps account address                                                                          |
| `wallet_type` | `eoa`, `deposit`, `safe`, or `proxy` — see [wallet mapping](/perps/wallet-mapping)                 |
| `registered`  | Whether this account has activated perps                                                           |
| `positions`   | Empty for registered accounts with nothing open; absent portfolio fields for unregistered accounts |

Unregistered wallets return `registered: false` with empty portfolio fields — a 200, not an error, so bulk scans stay simple.
