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

# Track Transactions

> Follow swaps to completion.

Once a swap is signed, the [Explorer API](/integration/explorer-api) is how you know what happened to it.

```bash theme={null}
curl 'https://explorer-api.mayan.finance/v3/swap/trx/{sourceTxHash}'
```

For a gasless swap, `swapFromEvm` returns an order hash instead of a transaction hash. Pass that to the same endpoint.

## How often to poll

Poll every 2 seconds. Most swaps settle in seconds, so a slower interval makes your interface look laggy when the swap is already done.

Without an API key you are rate limited per IP, which is fine for development and for moderate production volume. If you are polling at scale, request a key from [support@mayan.finance](mailto:support@mayan.finance) and pass it as `apiKey`.

## Swap statuses

Read `clientStatus`:

| Value        | Meaning                                              | What to do                                                                                                       |
| ------------ | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `INPROGRESS` | The order is live and not yet filled.                | Keep polling.                                                                                                    |
| `COMPLETED`  | Delivered on the destination chain.                  | Show the final amount from `toAmount`.                                                                           |
| `REFUNDED`   | Not filled before the deadline. The input went back. | Tell the user what they received, which may not be the token they sent. See [Refunds](/how-mayan-works/refunds). |

`INPROGRESS` is the only non-terminal state. Treat the other two as final.

## Other response fields

| Field                         | Use                                                                  |
| ----------------------------- | -------------------------------------------------------------------- |
| `toAmount`                    | What actually arrived. Show this, not the quote.                     |
| `completedAt`                 | Settlement time, for display or for measuring your own latency.      |
| `status`                      | The granular internal status. `clientStatus` is the one to build on. |
| `sourceTxHash` / `destTxHash` | For linking out to block explorers.                                  |

## Next steps

<CardGroup cols={2}>
  <Card title="Refunds" icon="rotate-left" href="/how-mayan-works/refunds">
    What `REFUNDED` means for the user, and what they get back.
  </Card>

  <Card title="Mayan Explorer" icon="magnifying-glass-chart" href="/application/mayan-explorer">
    The same data in a browser, searchable by hash or wallet.
  </Card>
</CardGroup>
