> For the complete documentation index, see [llms.txt](https://docs.orda.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.orda.network/developers/api/off-ramps/monitoring-status.md).

# Monitoring Status

```
POST https://api.orda.network/v1/offramp/status
```

This guide explains how to check the status of a crypto-to-fiat (off-ramp) transaction using the orda API. Monitoring transaction status allows you to track the progress of a fiat payout, provide users with updates, and handle different outcomes like completion or failure.

**API Authentication**

To check transaction status, all API requests must be authenticated using your project’s **Client ID** and **Client Secret**.

**Required headers:**

* `x-client-id`: Your project’s Client ID
* `x-signature`: HMAC-SHA256 signature derived from your Client Secret

**Important Note:** For GET requests like this status check, which do not have a request body, you must generate the `x-signature` using the string "{}" (canonical empty object) as the content to be hashed.

For more details, refer to the main Authentication Guide.

**Query Parameters**

To check a specific off-ramp transaction’s status, you must provide the following query parameter:

* `referenceId`: The unique reference ID returned when the off-ramp order was initially created (during the execution step).

This ID allows the API to retrieve the current status and details of that specific transaction.

**Common Issues**

* **Missing** `referenceId`: Ensure the `referenceId` query parameter is included and correct.
* **Incorrect HMAC Signature**: Verify the signature is calculated correctly for a GET request using the string "{}" (canonical empty object) and uses the correct Client Secret. Refer to the Authentication Guide for troubleshooting.
* **Invalid** `referenceId`: Double-check that the `referenceId` corresponds to a valid, previously initiated off-ramp transaction.

**Transaction Statuses**

The API will return the current status of the transaction. Common statuses include:

* `pending`: The order is created, awaiting crypto deposit.
* `processing`: Crypto received, fiat conversion/payout is in progress.
* `completed`: Fiat payout successfully sent to the recipient.
* `failed`: The transaction failed (e.g., due to invalid bank details, compliance issues).
* `refunded`: The transaction was refunded.

**When to Use This Endpoint**

Use this endpoint to:

* Periodically poll the status after initiating an off-ramp execution.
* Confirm successful fiat payout before updating your system or notifying the user.
* Investigate the final state of transactions that are no longer pending.

**Next Steps**

Based on the status returned:

* **Pending/Processing**: Continue polling at reasonable intervals.
* **Completed**: Update your records, notify the user of success.
* **Failed/Refunded**: Investigate the reason (check response details if available), inform the user, and potentially initiate corrective action.

For implementation specifics, such as sample code and detailed response formats, refer to the [API reference](https://orda.gitbook.io/orda-docs/api-reference/).
