> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sandbox.co.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Penny Drop

> Verify a bank account by dropping a penny into the beneficiary account.

<Card title="Run in Postman" icon="https://mintcdn.com/sandboxfinancialtechnologiesprivatelimited/gviqebbpT5NUt_6i/static/svg/Postman.svg?fit=max&auto=format&n=gviqebbpT5NUt_6i&q=85&s=da47f2b7e10d87befec951aed9468de3" horizontal arrow="true" href="https://www.postman.com/in-co-sandbox/sandbox-api/request/isfuk3b/bank-account-verification-penny-drop" width="2030" height="2031" data-path="static/svg/Postman.svg" />


## OpenAPI

````yaml api-reference/kyc/openapi.json GET /bank/{ifsc}/accounts/{account_number}/verify
openapi: 3.1.0
info:
  title: in-co-sandbox-kyc
  description: ''
  version: 1.0.0
servers:
  - url: https://test-api.sandbox.co.in
    description: test
  - url: https://api.sandbox.co.in
    description: prod
security: []
tags:
  - name: kyc
  - name: digilocker-sdk
  - name: digilocker
  - name: aadhaar
  - name: bank
  - name: pan
  - name: mca
  - name: entitylocker
  - name: entitylocker-sdk
paths:
  /bank/{ifsc}/accounts/{account_number}/verify:
    get:
      tags:
        - kyc
        - bank
      summary: Bank Account Verification [Penny-Drop]
      operationId: verifyBankUsingPennyDrop
      parameters:
        - name: ifsc
          in: path
          description: 11-digit alpha-numeric code used to identify the bank branches
          required: true
          example: SBIN0061411
          schema:
            type: string
            pattern: ^[A-Za-z]{4}[a-zA-Z0-9]{7}$
        - name: account_number
          in: path
          description: 'Bank account number. Max length: 40 characters'
          required: true
          example: '42090969996'
          schema:
            type: string
        - name: name
          in: query
          description: '`optional` Name. Max length: 100 characters'
          required: false
          example: ''
          schema:
            type: string
        - name: mobile
          in: query
          description: '`optional` Mobile. Length: 10 digits'
          required: false
          example: ''
          schema:
            type: string
            pattern: ^[6-9]\d{9}$
        - name: Authorization
          in: header
          description: >-
            JWT access token. For token-generation steps, refer to the
            [Quickstart
            Guide](https://developer.sandbox.co.in/guides/get-started/quickstart).
          required: true
          example: '{{access_token}}'
          schema:
            type: string
        - name: x-accept-cache
          in: header
          description: |-
            Controls cache behavior for the request:
            true — Return cached response if available
            false — Bypass cache and fetch fresh data from origin
            Default: If omitted, returns fresh data from origin
          required: false
          example: 'false'
          schema:
            type: boolean
        - name: x-api-key
          in: header
          description: API key used to identify and authenticate the client.
          required: true
          example: '{{api_key}}'
          schema:
            type: string
        - name: x-api-version
          in: header
          description: Specifies the API version for the request.
          required: false
          example: 1.0.0
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  data:
                    type: object
                    properties:
                      '@entity':
                        type: string
                        const: >-
                          @in.co.sandbox.bank.account.penny_drop_verification_response
                      message:
                        type: string
                      account_exists:
                        type: boolean
                      name_at_bank:
                        type: string
                      utr:
                        type: string
                        pattern: '[0-9]'
                        minLength: 12
                        maxLength: 22
                      amount_deposited:
                        type: string
                    required:
                      - '@entity'
                      - message
                      - account_exists
                      - name_at_bank
                      - utr
                      - amount_deposited
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - data
              examples:
                200 - Success:
                  summary: 200 - Success
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 46e33c70-e192-49cb-8d0f-e0c4489d0958
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Bank Account details verified successfully.
                      account_exists: true
                      name_at_bank: John Doe
                      utr: '329613870973'
                      amount_deposited: '1'
                200 - Invalid account number or ifsc provided:
                  summary: 200 - Invalid account number or ifsc provided
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: d3ae9904-3c19-4123-b360-6c2d060a3cab
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Invalid account number or ifsc provided
                      account_exists: false
                200 - Given account is an NRE account:
                  summary: 200 - Given account is an NRE account
                  value:
                    code: 200
                    timestamp: 1698047469406
                    transaction_id: 33f8ce3e-ca54-4364-ae85-2f54bae21610
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Given account is an NRE account
                      account_exists: true
                200 - Account is blocked:
                  summary: 200 - Account is blocked
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 85ff18b4-d955-414c-b078-617a6f545311
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Account is blocked
                      account_exists: true
                200 - IFSC is invalid:
                  summary: 200 - IFSC is invalid
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 15870757-53ea-4121-8037-b7cf1e9b7e92
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: IFSC is invalid
                200 - Source bank declined:
                  summary: 200 - Source bank declined
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 6391647d-3dae-41ab-a59d-607202c8800e
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Source bank declined
                200 - Beneficiary bank offline:
                  summary: 200 - Beneficiary bank offline
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: a470d6c2-0589-4bf1-a46e-c11c347a9fba
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: Beneficiary bank offline
                200 - NPCI Unavailable:
                  summary: 200 - NPCI Unavailable
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: a3083c7e-a879-402c-a8db-506d14f9f694
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: NPCI Unavailable
                200 - IMPS Mode fail:
                  summary: 200 - IMPS Mode fail
                  value:
                    code: 200
                    timestamp: 1000000000000
                    transaction_id: 7bd3baa3-13ac-49f5-acd9-1d7fb9dea291
                    data:
                      '@entity': >-
                        @in.co.sandbox.bank.account.penny_drop_verification_response
                      message: IMPS Mode fail
          headers: {}
        '422':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
              examples:
                422 - Invalid IFSC pattern:
                  summary: 422 - Invalid IFSC pattern
                  value:
                    code: 422
                    timestamp: 1000000000000
                    transaction_id: 69ab2c4e-b157-405c-9c9c-37b6aa7f319f
                    message: Invalid IFSC pattern
                422 - Please provide a valid bank account:
                  summary: 422 - Please provide a valid bank account
                  value:
                    code: 422
                    timestamp: 1000000000000
                    transaction_id: d2167bd1-8481-4a37-8912-8aca82a7e02a
                    message: Please provide a valid bank account
                422 - Invalid IFSC provided:
                  summary: 422 - Invalid IFSC provided
                  value:
                    code: 422
                    timestamp: 1000000000000
                    transaction_id: 9ea80340-0833-4c62-9615-92978a1f266c
                    message: Invalid IFSC provided
          headers: {}
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
              examples:
                500 - Failed at bank:
                  summary: 500 - Failed at bank
                  value:
                    code: 500
                    timestamp: 1000000000000
                    transaction_id: 3675d6b1-5852-4215-94bf-b24f9efaf3dd
                    message: Failed at bank
                500 - Transaction failed:
                  summary: 500 - Transaction failed
                  value:
                    code: 500
                    timestamp: 1000000000000
                    transaction_id: b27c715f-6e3a-47ad-9dd5-85c6f43268d2
                    message: Transaction failed
                500 - IMPS not supported on Beneficiary account:
                  summary: 500 - IMPS not supported on Beneficiary account
                  value:
                    code: 500
                    timestamp: 1000000000000
                    transaction_id: 52e751ec-845c-4f68-8fe4-5a5e4dcdde70
                    message: IMPS not supported on Beneficiary account
          headers: {}
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  timestamp:
                    type: integer
                  transaction_id:
                    type: string
                  message:
                    type: string
                required:
                  - code
                  - timestamp
                  - transaction_id
                  - message
              examples:
                503 - Source Unavailable:
                  summary: 503 - Source Unavailable
                  value:
                    code: 503
                    timestamp: 1000000000000
                    transaction_id: 2f67b66e-7202-4319-8fc3-12eb99a91d21
                    message: Source Unavailable
          headers: {}
      deprecated: false
      security: []

````