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

# Look Up Banks and Resolve Account Details — Paylink

> List supported banks for any country and verify account numbers before sending transfers or refunds. country_code defaults to NG for Nigeria.

Before you send money to a recipient, you should confirm two things: that the destination bank is supported by Paylink, and that the account number belongs to the person you intend to pay. The `/banks` endpoints let you fetch a current list of supported banks and resolve any account number to a verified account name — helping you catch errors before a transfer is submitted.

## List Supported Banks

Use `GET /banks` to retrieve all banks that Paylink supports for a given country. Pass the `country_code` query parameter as an uppercase two-letter ISO 3166-1 alpha-2 code (for example, `NG` for Nigeria). If you omit `country_code`, it defaults to `NG`.

```http theme={null}
GET /banks?country_code=NG
```

**Example request**

```bash theme={null}
curl --request GET \
  --url "https://live.lyseis-pay.com/banks?country_code=NG" \
  --header "X-Key-Id: <your-key-id>" \
  --header "X-Timestamp: <unix-timestamp>" \
  --header "X-Signature: <hmac-sha256-signature>"
```

**Example response**

```json theme={null}
{
  "status": true,
  "data": [
    {
      "name": "Guaranty Trust Bank",
      "code": "058"
    },
    {
      "name": "Access Bank",
      "code": "044"
    },
    {
      "name": "Zenith Bank",
      "code": "057"
    }
  ]
}
```

<Info>
  The bank `code` values returned here are the ones you should supply in transfer and refund requests. Always source bank codes from this list rather than hard-coding them.
</Info>

### `country_code` parameter

| Parameter      | Type   | Required | Default | Description                                            |
| -------------- | ------ | -------- | ------- | ------------------------------------------------------ |
| `country_code` | string | No       | `NG`    | Uppercase two-letter country code (ISO 3166-1 alpha-2) |

***

## Resolve a Bank Account

Before initiating a transfer or refund, use `POST /banks/resolve` to verify that an account number is valid and retrieve the registered account holder's name. This gives you — and your users — confidence that funds will reach the correct recipient.

Send the bank code, account number, and currency in the request body:

```http theme={null}
POST /banks/resolve
```

**Example request**

```json theme={null}
{
  "bank": "058",
  "account": "0123456789",
  "currency": "NGN"
}
```

**Example response**

```json theme={null}
{
  "status": true,
  "data": {
    "bank_name": "Guaranty Trust Bank",
    "bank_code": "058",
    "account_number": "0123456789",
    "account_name": "Jane Doe"
  }
}
```

The response includes the normalized bank name, bank code, account number, and the account name as registered with the bank.

### Request body fields

| Field      | Type   | Required | Description                             |
| ---------- | ------ | -------- | --------------------------------------- |
| `bank`     | string | Yes      | Bank code from `GET /banks`             |
| `account`  | string | Yes      | Ten-digit account number                |
| `currency` | string | Yes      | Three-letter currency code (e.g. `NGN`) |

<Tip>
  Always resolve the account name and confirm it with the sender before initiating a transfer or refund. Displaying the resolved name to your user gives them a final chance to catch a wrong account number before funds are sent.
</Tip>
