# Understanding Transaction Status

When monitoring a transaction’s execution via `/status`, you may encounter various statuses that indicate the current stage of the transaction lifecycle. This page aims to give a high-level explanation of expected statuses in the response schema.

### Top-level Status

Users may refer to the top-level status to locate the funds transferred upon execution. The list of status enums below is in approximately chronological order.

<table data-full-width="false"><thead><tr><th width="199.5234375">Status</th><th width="500.4140625">Description</th><th data-type="checkbox">Is Terminal?</th></tr></thead><tbody><tr><td><code>origin_tx_pending</code></td><td>The origin transaction is pending and has not landed on-chain.</td><td>false</td></tr><tr><td><code>origin_tx_succeeded</code></td><td>The origin transaction has been included in a block but is not confirmed yet.</td><td>false</td></tr><tr><td><code>origin_tx_confirmed</code></td><td>The origin transaction has at least <code>3</code> confirmations on-chain. Note that it is very unlikely for a bridge transaction to remain in this stage, as the bridge status is fetched immediately after the origin transaction is confirmed.</td><td>false</td></tr><tr><td><code>origin_tx_reverted</code></td><td>The origin transaction is reverted. The transaction has reached the end of the lifecycle, and the funds still remain in the <code>originAddress</code>.</td><td>true</td></tr><tr><td><code>bridge_pending</code></td><td>The bridge is in flight. The quoted bridge provider has received the funds from the <code>originAddress</code> and is in process of executing the trade.</td><td>false</td></tr><tr><td><code>bridge_filled</code></td><td>The bridge has been fulfilled. The funds have landed in the <code>destinationAddress</code>.</td><td>true</td></tr><tr><td><code>bridge_failed</code></td><td>The bridge is unable to be fulfilled. The transaction has reached a terminal stage, but a manual action may need to be initiated by the user to recover the funds. Please refer to the <code>failure</code> field for additional context.</td><td>true</td></tr><tr><td><code>unknown</code></td><td>The transaction status is unknown. Please reach out to 0x, as it is likely that there is an internal error.</td><td>false</td></tr></tbody></table>

### Failure Context

The `failure` context is provided when a transaction enters the `bridge_failed` state. It includes the failure `reason` (why the bridge failed), the failure `status` (the status of the recovery step), and the `recovery` metadata. Combined, these fields allow users to keep track of the funds and perform further actions if needed.

#### Failure Reason

<table><thead><tr><th width="199.99609375">Reason</th><th>Description</th></tr></thead><tbody><tr><td><code>expired</code></td><td>The bridge provider is unable to execute the cross-chain transaction before its expiry.</td></tr><tr><td><code>cancelled</code></td><td>The bridge has been cancelled by the user or a third-party entity. This can occur only if someone bypasses 0x’s recommended flow and interacts directly with the bridge provider’s system, or if the bridge provider experiences a technical failure.</td></tr><tr><td><code>out_of_gas</code></td><td>The bridge provider was unable to complete the cross-chain transaction after running out of gas mid-execution. Often times, the user may need to perform a manual action to rectify the failure and unstuck the funds.</td></tr><tr><td><code>internal</code></td><td>The bridge provider ran into a technical failure. Often times, the user may need to perform a manual action to rectify the failure and unstuck the funds.</td></tr><tr><td><code>unknown</code></td><td>The reason of the bridge failure cannot be determined by 0x.</td></tr></tbody></table>

#### Failure Status

<table><thead><tr><th width="210.11328125">Status</th><th>Description</th></tr></thead><tbody><tr><td><code>refund_pending</code></td><td>An automatic recovery process has been initiated by the bridge provider.</td></tr><tr><td><code>refund_succeeded</code></td><td>The refund has been issued by the bridge provider. The user receives the funds either in <code>originAddress</code> or <code>destinationAddress</code>, depending on the chain from which the funds are recovered. Please check <code>failure.recovery</code> for more information.</td></tr><tr><td><code>manual_action_required</code></td><td>The recovery process needs to be manually initiated by the user. The user may submit the manual transaction provided as <code>failure.recovery.manualTransaction</code> to the chain that corresponds to <code>failure.recovery.chainId</code> to unstuck the funds. <strong>The</strong> <code>/status</code> <strong>endpoint does not track the status of this manual transaction.</strong></td></tr><tr><td><code>no_actions_required</code></td><td>The bridge ran into a failure before transferring the tokens from the origin chain. The user has already received the funds and no further actions are required.</td></tr><tr><td><code>failed</code></td><td>The catch-all failure status. Unfortunately, there is nothing that the user can do at this point. Please contact 0x for support.</td></tr></tbody></table>

If you have any clarifying questions or need help recovering funds, please reach out to 0x developer support for assistance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0x-docs.gitbook.io/0x-cross-chain-api-beta/developer-resources/understanding-transaction-status.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
