---
title: "Get a counterparty by identifier"
method: POST
path: "/counterparty/get"
tags: ["Counterparty"]
---

# Get a counterparty by identifier

`POST /counterparty/get`

## Request body

- GetCounterpartyRequest — Look up a declared counterparty. Exactly one owner + exactly one identifier.
  - `userId` string, uuid — Owner user id. Provide exactly one of userId / businessId.
  - `businessId` string, uuid — Owner business id. Provide exactly one of userId / businessId.
  - `counterpartyAddress` string — On-chain destination address. Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `paymentHash` string — Lightning payment hash (64-hex on BTC). Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `invoice` string — bolt11 invoice (decoded server-side to a payment hash). Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `network` string, required — Blockchain network for the currency (e.g. `SOL`, `POLYGON`, `ETH`). Must equal the network implied by `currency`.

## Response `200`

OK

- TRCounterparty — Counterparty public shape returned by `POST /counterparty/get`. Includes `walletVerified` for on-chain `SELF_HOSTED` + `OWNED`; see `TRCounterpartyPublic` for declare and verify-wallet responses.
  - `counterpartyId` string, uuid, required
  - `userId` string, uuid
  - `businessId` string, uuid
  - `identityType` 'CONSUMER' | 'BUSINESS', required
  - `counterpartyAddress` string — Set for on-chain counterparties.
  - `paymentHash` string — Set for Lightning (non-invoice) counterparties.
  - `invoice` string — Set when declared with a bolt11 Lightning invoice.
  - `memo` string — Decoded memo from the bolt11 invoice, when present.
  - `network` string, required
  - `type` 'SELF_HOSTED' | 'VASP', required
  - `subType` 'OWNED' | 'THIRD_PARTY' | 'VASP', required
  - `counterpartyData` object — IVMS-oriented payload; shape depends on counterparty `type` / `subType`.
  - `walletVerified` boolean — Present only for on-chain `SELF_HOSTED` + `OWNED` counterparties. `true` when wallet ownership has been verified (`TRWalletVerification.status === VERIFIED`); `false` when unverified. Omitted for Lightning OWNED (wallet verification does not apply), VASP, and THIRD_PARTY.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400` — Validation failed
- `401` — Invalid authentication header
- `404` — Counterparty not found for this owner and application.
- `422` — Domain validation error (e.g. unsupported network or identifier format).

---

[API](https://skmtc.net/striga/apis/striga-v1.md) · [All operations](https://skmtc.net/striga/apis/striga-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/striga/striga-v1/versions/63e57aa7df45/schema)
