---
title: "Look up an external account for payment"
method: GET
path: "/receiver/external-account/{accountId}"
tags: ["Cross-Currency Transfers"]
---

# Look up an external account for payment

`GET /receiver/external-account/{accountId}`

Lookup an external account by ID to determine supported currencies and exchange rates.
This endpoint helps platforms determine what currencies they can send to a given external account, along with the current estimated exchange rates and minimum and maximum amounts that can be sent.

## Path parameters

- `accountId` string, required

## Query parameters

- `senderUmaAddress` string
- `customerId` string
- `sendingCurrency` string

## Response `200`

Successful lookup

- ReceiverExternalAccountLookupResponse
  - `sendingCurrency` object, required — The currency the payment is sent from — the sender's default, or the one named by the `sendingCurrency` query parameter. Every `estimatedExchangeRate` in `supportedCurrencies` converts from this currency, and any `minSendingAmount`/`maxSendingAmount` is denominated in its smallest unit.
    - `code` string — Three-letter currency code (ISO 4217) for fiat currencies. Some cryptocurrencies may use their own ticker symbols (e.g. "BTC" for Bitcoin, "USDC" for USDC, etc.)
    - `name` string — Full name of the currency
    - `symbol` string — Symbol of the currency
    - `decimals` integer — Number of decimal places for the currency
  - `supportedCurrencies` CurrencyPreference[], required — List of currencies supported by the receiving account
    - `currency` Currency, required
      - `code` string — Three-letter currency code (ISO 4217) for fiat currencies. Some cryptocurrencies may use their own ticker symbols (e.g. "BTC" for Bitcoin, "USDC" for USDC, etc.)
      - `name` string — Full name of the currency
      - `symbol` string — Symbol of the currency
      - `decimals` integer — Number of decimal places for the currency
    - `estimatedExchangeRate` number, required — An estimated exchange rate from the sender's currency to this currency. This is not a locked rate and is subject to change when calling the quotes endpoint.
    - `min` integer, required — The minimum amount that can be received in this currency.
    - `max` integer, required — The maximum amount that can be received in this currency.
    - `minSendingAmount` integer — The minimum amount that can be sent for this currency, in the smallest unit of the sender's currency (e.g. cents for USD). Same semantics as `minSendingAmount` on the exchange rates endpoint. This is an estimate based on the current exchange rate and is subject to change when calling the quotes endpoint. Omitted when the sending-side bound cannot be resolved.
    - `maxSendingAmount` integer — The maximum amount that can be sent for this currency, in the smallest unit of the sender's currency (e.g. cents for USD). Same semantics as `maxSendingAmount` on the exchange rates endpoint. This is an estimate based on the current exchange rate and is subject to change when calling the quotes endpoint. Omitted when the sending-side bound cannot be resolved.
  - `requiredPayerDataFields` CounterpartyFieldDefinition[] — Fields required by the receiving institution about the payer before payment can be completed
    - `name` 'FULL_NAME' | 'BIRTH_DATE' | 'NATIONALITY' | 'PHONE_NUMBER' | 'EMAIL' | 'POSTAL_ADDRESS' | 'TAX_ID' | 'REGISTRATION_NUMBER' | 'USER_TYPE' | 'COUNTRY_OF_RESIDENCE' | 'ACCOUNT_IDENTIFIER' | 'FI_LEGAL_ENTITY_NAME' | 'FI_ADDRESS' | 'PURPOSE_OF_PAYMENT' | 'ULTIMATE_INSTITUTION_COUNTRY' | 'IDENTIFIER' | 'BUSINESS_TYPE' | 'COMPANY_LEGAL_NAME' | 'ID_TYPE' | 'ID_NUMBER', required — Name of a type of field containing info about a platform's customer or counterparty customer.
    - `mandatory` boolean, required — Whether the field is mandatory
  - `lookupId` string, required — Unique identifier for the lookup. Needed in the subsequent create quote request.
  - `accountId` string, required — The external account ID that was looked up

## Other responses

- `400` — Bad request - Missing or invalid parameters
- `401` — Unauthorized
- `404` — External account not found
- `412` — Counterparty doesn't support UMA version
- `424` — Counterparty issue
- `500` — Internal service error

## Changes

- **2026-08-28** `5219e0452ccd` — 4 info
  - added the new optional `query` request parameter `sendingCurrency`
  - added the optional property `allOf[#/components/schemas/ReceiverLookupResponse]/supportedCurrencies/items/maxSendingAmount` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/ReceiverLookupResponse]/supportedCurrencies/items/minSendingAmount` to the response with the `200` status
  - added the required property `allOf[#/components/schemas/ReceiverLookupResponse]/sendingCurrency` to the response with the `200` status
- **2026-08-14** `aaa1fb8782c8` — 1 warning
  - added the new `EXTERNAL_ACCOUNT_VERIFICATION_REQUIRED` enum value to the `code` response property for the response status `400`
- **2026-08-13** `df12ec487f0e` — 1 warning
  - added the new `TRANSACTION_SIZE_LIMIT_EXCEEDED` enum value to the `code` response property for the response status `400`
- **2026-08-11** `b06902b6595a` — 1 warning
  - added the new `CARDHOLDER_KYC_NOT_APPROVED` enum value to the `code` response property for the response status `400`
- **2026-08-06** `526036c12609` — 1 warning
  - added the new `END_USER_TERMS_VERSION_NOT_FOUND` enum value to the `code` response property for the response status `400`

[Full history](https://skmtc.dev/stainless-api/apis/grid-api/changes/receiver/external-account/:accountId/get.md)

---

[API](https://skmtc.dev/stainless-api/apis/grid-api.md) · [All operations](https://skmtc.dev/stainless-api/apis/grid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stainless-api/grid-api/revisions/2ec84c06fbec/schema)
