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

# Resolve bank account name

> Validates `account_number` + `bank_code` (institution `code` from `/institutions`) and returns the account holder name.

Use this before creating an offramp order so `recipient.account_name` matches the bank record.




## OpenAPI

````yaml /openapi/partner-api.yaml get /v1/account-lookup
openapi: 3.1.0
info:
  title: Liquidramp Partner API
  version: 2.0.0
  license:
    name: Proprietary
  description: >
    Public integration API for consumer partners: reference data, exchange
    rates, quotes, orders, and webhooks.


    ## Authentication


    - **Public key (`pk_*`)**: read requests (reference data, rate preview) — no
    HMAC

    - **Secret key (`sk_*`)**: backend only — reads and writes (quotes, orders,
    fulfilment). Every `sk_*` request requires HMAC signing with your `enc_*`
    encryption key


    Create keys in the [partner portal](https://dashboard.liquidramp.com). Never
    send `enc_*` as a Bearer token. Never use `sk_*` or `enc_*` in client-side
    code.


    ## HMAC canonical string


    `clientId|timestamp|METHOD|path|rawBody`


    Path includes the `/v1` prefix and any query string. Signature: `sha256=` +
    HMAC-SHA256(canonical, `enc_*`).
servers:
  - url: https://vibe-api.liquidramp.com
    description: Test
  - url: https://api.liquidramp.com
    description: Live
security: []
tags:
  - name: Health
    description: Service health checks
  - name: Reference
    description: Institutions, networks, currencies, and account lookup
  - name: Exchange Rates
    description: Market rates and quote preview
  - name: Orders
    description: Quotes, order creation, fulfilment, and management
  - name: Webhooks
    description: Outbound order lifecycle events delivered to your server
paths:
  /v1/account-lookup:
    get:
      tags:
        - Reference
      summary: Resolve bank account name
      description: >
        Validates `account_number` + `bank_code` (institution `code` from
        `/institutions`) and returns the account holder name.


        Use this before creating an offramp order so `recipient.account_name`
        matches the bank record.
      operationId: accountLookup
      parameters:
        - name: account_number
          in: query
          required: true
          schema:
            type: string
          example: '0123456789'
        - name: bank_code
          in: query
          required: true
          schema:
            type: string
          example: '000004'
      responses:
        '200':
          description: Account resolved
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessEnvelope'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/AccountLookup'
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
        - PublicKeyAuth: []
        - SecretKeyHmac: []
components:
  schemas:
    SuccessEnvelope:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: boolean
          const: true
        message:
          type: string
        data: {}
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    AccountLookup:
      type: object
      properties:
        account_name:
          type: string
        account_number:
          type: string
        bank_code:
          type: string
        bank_name:
          type: string
    PaginationMeta:
      type: object
      properties:
        total:
          type: integer
        per_page:
          type: integer
        current_page:
          type: integer
        last_page:
          type: integer
    ErrorEnvelope:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: boolean
          const: false
        code:
          type: string
          enum:
            - E_BADREQUEST
            - E_UNAUTHORIZED
            - E_FORBIDDEN
            - E_NOTFOUND
            - E_CONFLICT
            - E_VALIDATION_ERROR
            - E_RATE_LIMITED
            - E_IP_BLOCKED
        message:
          type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    PublicKeyAuth:
      type: http
      scheme: bearer
      description: Bearer pk_* public key. Also send `liquidramp-client-id`.
    SecretKeyHmac:
      type: http
      scheme: bearer
      description: |
        Bearer sk_* plus required headers:
        - liquidramp-client-id
        - liquidramp-timestamp (unix ms)
        - liquidramp-signature (sha256=...)

````