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

# Get Off-Ramp Transaction Hash

> Returns the transaction hash of an off-ramp deposit: the one you reported and the one Kravata verified with the custodian.

#### Request

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Authorization | Header | Yes | `Bearer <access_token>` obtained from **POST /api/v1/client/token**. |
| user_id | Path | Yes | User who owns the off-ramp. |
| operation_id | Path | Yes | `operation.id` returned by **POST /admin/operation/&#123;user_id&#125;/withdrawal** with `originExternalWalletId`. |

#### Response

| Field | Description |
| --- | --- |
| operationId | The off-ramp operation. |
| operationStatus | Current status of the operation (e.g. `AWAITING_DEPOSIT`, `PENDING`, `COMPLETED`). |
| txHash | Hash reported with **POST .../hash**, or `null`. |
| verifiedTxHash | Hash of the deposit confirmed by the custodian (reported or detected automatically), or `null`. |
| status | `NOT_SUBMITTED` (no hash reported, no deposit confirmed), `VERIFYING` (hash reported, waiting for the custodian), `VERIFIED` (deposit confirmed) or `NOT_VERIFIED` (the operation left `AWAITING_DEPOSIT` without a confirmed deposit). |

#### Errors

| Status | When |
| --- | --- |
| 404 | The operation does not exist, does not belong to the user, or is not an off-ramp funded from an external wallet. |



## OpenAPI

````yaml /stack/openapi.json get /api/v1/admin/operation/{user_id}/withdrawal/{operation_id}/hash
openapi: 3.1.0
info:
  title: Kravata Stack API
  version: '2.0'
  description: >-
    Kravata Stack API: users, accounts, custody wallets, liquidity ramps and
    fiat payments.
servers:
  - url: https://test-api-kore.kravata.co
    description: Test
  - url: https://partners-api.kravata.co
    description: Production (mTLS + IP allowlist)
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Users
  - name: Accounts
  - name: Earn
  - name: Custody
  - name: Liquidity Ramps
  - name: Payments
  - name: Webhooks
  - name: Request Logs
paths:
  /api/v1/admin/operation/{user_id}/withdrawal/{operation_id}/hash:
    get:
      tags:
        - Liquidity Ramps
      summary: Get Off-Ramp Transaction Hash
      description: >-
        Returns the transaction hash of an off-ramp deposit: the one you
        reported and the one Kravata verified with the custodian.


        #### Request


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | Authorization | Header | Yes | `Bearer <access_token>` obtained from
        **POST /api/v1/client/token**. |

        | user_id | Path | Yes | User who owns the off-ramp. |

        | operation_id | Path | Yes | `operation.id` returned by **POST
        /admin/operation/&#123;user_id&#125;/withdrawal** with
        `originExternalWalletId`. |


        #### Response


        | Field | Description |

        | --- | --- |

        | operationId | The off-ramp operation. |

        | operationStatus | Current status of the operation (e.g.
        `AWAITING_DEPOSIT`, `PENDING`, `COMPLETED`). |

        | txHash | Hash reported with **POST .../hash**, or `null`. |

        | verifiedTxHash | Hash of the deposit confirmed by the custodian
        (reported or detected automatically), or `null`. |

        | status | `NOT_SUBMITTED` (no hash reported, no deposit confirmed),
        `VERIFYING` (hash reported, waiting for the custodian), `VERIFIED`
        (deposit confirmed) or `NOT_VERIFIED` (the operation left
        `AWAITING_DEPOSIT` without a confirmed deposit). |


        #### Errors


        | Status | When |

        | --- | --- |

        | 404 | The operation does not exist, does not belong to the user, or is
        not an off-ramp funded from an external wallet. |
      operationId: get-off-ramp-transaction-hash
      parameters:
        - name: user_id
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
        - name: operation_id
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token from POST /api/v1/client/token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.