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

# Track Pods Ramp Status

> Poll KYC approval and swap status for Pods Ramp

Pods Ramp has two independent statuses to track: the KYC/approval status of the user's Ramp profile (from [Set up Pods Ramp](/guides/ramp/setup)), and the status of an individual onramp, offramp, or yield quote (from [Move money with Pods Ramp](/guides/ramp/quotes)).

## Poll Ramp approval status

Local KYC/AML provider validation is asynchronous. Pods schedules a durable background monitor, so the stored status keeps progressing even when your client is offline. Poll Pods until the status reaches a terminal state to update your own UI.

```http theme={null}
GET /api/v1/kyc/status?kycUserId=550e8400-e29b-41d4-a716-446655440000
```

Successful response:

```json theme={null}
{
  "kycUserId": "550e8400-e29b-41d4-a716-446655440000",
  "provider": "sumsub",
  "email": "user@example.com",
  "walletAddress": "0x0000000000000000000000000000000000000001",
  "status": "approved",
  "brlaEnabled": true,
  "rejectReason": null,
  "providerStatus": "COMPLETED",
  "providerResult": "APPROVED",
  "providerMessage": null,
  "updatedAt": "2026-06-15T12:01:00.000Z"
}
```

| Status               | Meaning                                                                      |
| -------------------- | ---------------------------------------------------------------------------- |
| `created`            | Local user exists, but no attempt with the local provider exists yet.        |
| `provider_pending`   | An attempt with the local provider exists and is processing.                 |
| `approved`           | Money movement is enabled.                                                   |
| `rejected`           | Money movement is blocked.                                                   |
| `rejected_retryable` | User can retry KYC depending on your UX.                                     |
| `blocked`            | The provider import was blocked before a normal pending attempt was created. |

## Track swap status

Track onramp, offramp, and yield quote flows with the Swap v2 status endpoint.

```http theme={null}
GET /v2/swap/status/9be08433-3338-4881-9517-31faa22489c9
```

| Status       | Meaning                                                                            |
| ------------ | ---------------------------------------------------------------------------------- |
| `pending`    | Payment has not been detected yet, or the quote is still waiting for confirmation. |
| `confirmed`  | Payment was detected and output settlement is not final yet.                       |
| `processing` | Output settlement is in progress.                                                  |
| `fulfilled`  | Final success state.                                                               |
| `expired`    | Quote or fiat payment expired before payment was detected.                         |
| `failed`     | Operational failure. Show an error and route to support or retry.                  |
| `refunded`   | Refund flow finished, when applicable.                                             |

Reference:

* [Get a quote](/guides/swaps/get-quote)
* [Execute a swap](/guides/swaps/execute-swap)
