---
title: "Another member's public pay address on one chain, by handle"
method: GET
path: "/api/wallet/resolve"
tags: ["wallet", "browser-session"]
---

# Another member's public pay address on one chain, by handle

`GET /api/wallet/resolve`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/wallet/resolve`
- Auth: API key in cookie `__session`

Clerk-session only, same-site only: the send form's lookup. Returns ONLY what the member's public card already shows (handle, first name, address, CAIP-10 account) and only when they are on the public roster AND made their wallet public. Unknown, retired, private and not-opted-in handles return the same 404, so this cannot enumerate members. Agents read the same pay block token-less via `ic_member_card_get`. 404 unless wallets are enabled.

## Query parameters

- `handle` string, required
- `network` 'base' | 'solana', required

## Response `200`

The payee.

- WalletPayee
  - `ok` boolean, required
  - `handle` string, required: Canonical handle (a retired one is followed).
  - `name` string, required: Public first name, or the handle.
  - `chain` 'base' | 'solana', required
  - `address` string, required
  - `account` string, required: CAIP-10 account.

## Other responses

- `400`: network is not base or solana.
- `401`: Not signed in.
- `403`: Cross-site request refused.
- `404`: No public pay address for that handle (or wallets not enabled), indistinguishable from an unknown handle.
- `503`: The lookup store is unavailable; try again.

---

[API](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api.md) · [All operations](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/revisions/be67c1f67c27?raw)
