---
title: "Resolve user by wallet address"
method: GET
path: "/contacts/resolve"
tags: ["contacts"]
---

# Resolve user by wallet address

`GET /contacts/resolve`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/contacts/resolve`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

## Query parameters

- `address` string, required

## Response `200`

OK

- InternalDeliveryHttpHandlerDiscoveryResponse
  - `data` InternalDeliveryHttpHandlerDiscoveryView
    - `email_verified` boolean: Verification badges — the flags, never the underlying identifiers.
    - `first_name` string
    - `id` string
    - `last_name` string
    - `name` string: Name is the person's display name when set, which is what the picker shows in preference to the account's first/last pair.
    - `phone_verified` boolean
    - `profile_image_url` string
    - `tenant_id` string
    - `username` string
    - `wallet_address` string: WalletAddress is the primary address. Kept because discovery feeds the send-destination picker; the VALUE is already public on-chain, unlike everything dropped above.
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `500`: Internal Server Error

---

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