> 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/onchain-transactions/monitoring-status.md).

# Monitoring Status

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

This guide explains how to check the status of a transaction using the orda API. Monitoring transaction status helps you provide users with real-time feedback on their transfers and handle retries, timeouts, or failures appropriately.

**API Authentication**

To check transaction status, all API requests must be authenticated using your project’s **client ID** and **client secret**. For GET requests with no body, use the string "{}" (canonical empty object) when generating your `x-signature`.

**Required headers:**

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

For more details, refer to the [authentication guide](/developers/authentication.md).

**Query Parameters**

To check a transaction’s status, you must provide at least one of the following query parameters:

* `transactionId`: The unique ID returned from the quote request
* `sourceHash`: The on-chain source transaction hash
* `destinationHash`: The hash of the cross-chain destination transaction (if applicable)

These values allow you to retrieve status updates whether you're working with internal transaction records or on-chain data.

**Common Issues**

* **Missing required query parameters**: At least one of `transactionId`, `sourceHash`, or `destinationHash` must be provided.
* **Incorrect HMAC signature**: For GET requests, the signature must be generated using the string "{}" (canonical empty object).
* **Outdated or invalid transaction ID**: Confirm the transaction ID you are checking was retrieved from a valid quote response.

**When to Use This Endpoint**

Use this endpoint to:

* Poll transaction status after initiating a quote and transfer
* Confirm settlement on-chain before updating your UI or backend
* Track long-running or cross-chain transfers that involve multiple steps

**Next Steps**

If the transaction is complete or has failed, you can inform the user and log the result. If the transaction is still pending, you may continue polling or set a timeout based on your business logic.

For implementation specifics, such as sample code and response formats, refer to the API Reference.
