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

# Step 5: Track the Order

> Follow the order to completion with webhooks or polling

<Note>
  Use webhooks as the source of truth for order status. Polling is a fallback, e.g. when the user lands on your `returnUrl` before the webhook arrives.
</Note>

## Webhooks (recommended)

Rampnow sends a webhook on every order status change. Configure the endpoint in the API Hub of your **Rampnow Partner Dashboard**. Payload and signature verification are in the [Webhook Guide](/api-reference/webhook); the meaning of each status and what to do is on [Order Status](/api-reference/order-status).

## Polling

To poll instead, use [Get Order](/api-reference/onramp-&-offramp-intent/get-an-order-by-external-id):

```bash cURL theme={null}
curl --request GET \
  --url https://api.rampnow.io/api/partner/v1/ext/ramp_order/your-unique-order-id \
  --header 'X-RAMPNOW-API-KEY: YOUR_API_KEY' \
  --header 'X-RAMPNOW-TIMESTAMP: UNIX_SECONDS' \
  --header 'X-RAMPNOW-SIGN: HMAC_SHA256_SIGNATURE'
```

* The path parameter is **your** `externalOrderUid` (the id you sent on Create Order), not Rampnow's `orderUid`.
* The response is an **array**, `orderList`, of orders matching that external id: normally one, empty if none. Read `status` (and `paymentStatus`) from the entry. See [Order Status](/api-reference/order-status) for every value.
* Right after Create Order, the status is `unknown` until the user confirms on the hosted page.
* On order responses, `feeDetails` includes a separate `partner` line. See [Fee breakdown](#fee-breakdown-feedetails) below.

## Fee breakdown (`feeDetails`)

Quote and order responses return a `feeDetails` array. Each entry has a `type`, `fee`, `currency`, and `isInclusive`. The returned `type` values are:

| `type` | Description | Where |
| - | - | - |
| `platform` | Aggregated platform fee (Rampnow service + processing, and — in the quote — your partner fee) | quote + order |
| `network` | Blockchain network (gas) fee | quote + order |
| `partner` | Your partner fee / markup, broken out as its own line | order only (`GET /ext/ramp_order/{uid}` + webhook) |

**Reconciliation.** In the quote, the partner fee is folded into `platform`, so `total = platform + network`. On the order responses it is broken out: `platform` **excludes** the partner amount and a `partner` line is added, so `total = platform + network + partner`. The total is identical either way.

<Card title="Done!" icon="flag-checkered" href="/api-reference/order-status">
  Your Intent integration is complete for onramp and offramp. Review the order statuses to handle every outcome.
</Card>


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